<?php

if (!function_exists('settings')) {
    /**
     * الحصول على إعداد معين
     */
    function settings($key = null, $default = null)
    {
        $settingsController = app(\App\Http\Controllers\Settings\General\SettingsController::class);

        if ($key === null) {
            // إرجاع كل الإعدادات
            return \App\Models\Setting::pluck('value', 'key')->toArray();
        }

        if (is_array($key)) {
            // تحديث عدة إعدادات
            foreach ($key as $k => $value) {
                \App\Models\Setting::set($k, $value);
            }
            return true;
        }

        // الحصول على إعداد واحد
        return $settingsController->get($key, $default);
    }
}

if (!function_exists('settings_group')) {
    /**
     * الحصول على مجموعة إعدادات
     */
    function settings_group($group)
    {
        return \App\Http\Controllers\Settings\General\SettingsController::getGroup($group);
    }
}

if (!function_exists('currency_format')) {
    /**
     * تنسيق المبلغ بالعملة
     */
    function currency_format($amount, $withSymbol = true)
    {
        $currencySymbol = settings('currency_symbol', 'ر.س');
        $amount = number_format($amount, 2, '.', ',');

        return $withSymbol ? $amount . ' ' . $currencySymbol : $amount;
    }
}

if (!function_exists('date_format_custom')) {
    /**
     * تنسيق التاريخ حسب الإعدادات
     */
    function date_format_custom($date)
    {
        if (!$date) {
            return '';
        }

        $format = settings('date_format', 'Y-m-d');

        if ($date instanceof \Carbon\Carbon) {
            return $date->format($format);
        }

        return \Carbon\Carbon::parse($date)->format($format);
    }
}
