import {defineStore} from "pinia";
import {fetchSettings} from "@/utils/ftch.js";

export const useSettingsStore = defineStore('settings', {
    state: () => ({
        app_enabled: true,
        app_debug: false,
        store_enabled: true,
        app_name: 'OpenCart Telegram магазин',
        app_icon: '',
        app_icon192: '',
        app_icon180: '',
        app_icon152: '',
        app_icon120: '',
        manifest_url: null,
        night_auto: true,
        ya_metrika_enabled: false,
        feature_coupons: false,
        feature_vouchers: false,
        currency_code: null,
        theme: {
            light: 'light', dark: 'dark', variables: {
                '--product_list_title_max_lines': 2,
            }
        },
        texts: {
            text_no_more_products: 'Нет товаров',
            text_empty_cart: 'Корзина пуста',
            text_order_created_success: 'Заказ успешно оформлен.',
        },
        mainpage_blocks: [],
        is_privacy_consented: false,
        privacy_policy_link: false,
    }),

    actions: {
        async load() {
            console.log('Load settings');
            const settings = await fetchSettings();
            this.manifest_url = settings.manifest_url;
            this.app_name = settings.app_name;
            this.app_icon = settings.app_icon;
            this.app_icon192 = settings.app_icon192;
            this.app_icon180 = settings.app_icon180;
            this.app_icon152 = settings.app_icon152;
            this.app_icon120 = settings.app_icon120;
            this.theme.light = settings.theme_light;
            this.theme.dark = settings.theme_dark;
            this.ya_metrika_enabled = settings.ya_metrika_enabled;
            this.app_enabled = settings.app_enabled;
            this.app_debug = settings.app_debug;
            this.store_enabled = settings.store_enabled;
            this.feature_coupons = settings.feature_coupons;
            this.feature_vouchers = settings.feature_vouchers;
            this.currency_code = settings.currency_code;
            this.texts = settings.texts;
            this.mainpage_blocks = settings.mainpage_blocks;
            this.privacy_policy_link = settings.privacy_policy_link;
        }
    }
});
