- Added image aspect ratio selection (1:1, 4:5, 3:4, 2:3) to ProductsFeed block configuration in Admin panel - Removed manual width/height input fields - Updated ProductsFeed block in SPA to send aspect ratio parameter instead of dimensions - Implemented backend logic to calculate image height based on selected aspect ratio and base width (300px) - Updated default configuration for products_feed block - Added descriptive help text for each aspect ratio option in the dropdown
62 lines
2.2 KiB
JavaScript
62 lines
2.2 KiB
JavaScript
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: true,
|
|
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;
|
|
}
|
|
}
|
|
});
|