Port modular price, product, and PWA fixes into boursecu

Sync live quote handling, SSE product images, store hours, file URL normalization, PWA icon cache, TV monitor, about software, SuperAdmin menu gates, price alerts, and related UX from modular while preserving boursecu branding and config constraints.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-02 08:26:52 -04:00
co-authored by Cursor
parent e9012e26fb
commit 9356a2ab5e
112 changed files with 6044 additions and 583 deletions
+2
View File
@@ -1,5 +1,7 @@
export interface PriceTrigger {
id?: number
product_id?: number
product?: { id: number; title?: string }
target_price: string
price_condition: string
action: string
+4
View File
@@ -31,4 +31,8 @@ export interface Price {
time?: string
main_product?: number
montzar?: number
zaarbox?: number
/** montzar | zaarbox | main_product | store = مظنه زنده، database_last = آخرین قیمت ذخیره‌شده */
price_source?: string | null
last_historical?: number
}
+3
View File
@@ -13,6 +13,7 @@ export interface Product {
active: boolean
show: boolean
show_in_assets?: boolean
show_on_tv?: boolean
open_sell: boolean
open_buy: boolean
group_type:string
@@ -28,6 +29,8 @@ export interface Product {
has_physical_delivery?: boolean
min_physical_delivery_quantity?: number | null
direct_price: number | undefined
price_formula_enabled?: boolean | number | null
price_formula?: string | null
price_offset_percent?: number | null
use_last_price_if_zero?: boolean
reference_provider_active?: boolean
+1 -1
View File
@@ -14,7 +14,7 @@ export interface Transaction {
unit: string
hash?: string
id?: number
note?: null
note?: string | null
title: string
order_id?: number
transaction_type?: string