feat: optymalizacja GlobalSearch, nawigacji oraz filtrów w sklepie

This commit is contained in:
MichalC
2026-06-27 21:12:23 +02:00
parent 0c59086a6b
commit c4294a81cf
43 changed files with 1623 additions and 192 deletions
+9 -3
View File
@@ -4,11 +4,13 @@ interface ConsentState {
isInitialized: boolean;
isOpen: boolean;
analytics: boolean;
analyticsConsent: boolean;
marketing: boolean;
initialize: () => void;
openBanner: () => void;
closeBanner: () => void;
setConsent: (analytics: boolean, marketing: boolean) => void;
setAnalyticsConsent: (v: boolean) => void;
acceptAll: () => void;
rejectOptional: () => void;
}
@@ -19,6 +21,7 @@ export const useConsentStore = create<ConsentState>((set) => ({
isInitialized: false,
isOpen: false,
analytics: false,
analyticsConsent: false,
marketing: false,
initialize: () => {
@@ -31,6 +34,7 @@ export const useConsentStore = create<ConsentState>((set) => ({
isInitialized: true,
isOpen: false,
analytics: !!parsed.analytics,
analyticsConsent: !!parsed.analytics,
marketing: !!parsed.marketing,
});
} catch (e) {
@@ -50,16 +54,18 @@ export const useConsentStore = create<ConsentState>((set) => ({
setConsent: (analytics, marketing) => {
localStorage.setItem(CONSENT_KEY, JSON.stringify({ essential: true, analytics, marketing }));
set({ analytics, marketing, isOpen: false });
set({ analytics, analyticsConsent: analytics, marketing, isOpen: false });
},
setAnalyticsConsent: (v: boolean) => set({ analyticsConsent: v }),
acceptAll: () => {
localStorage.setItem(CONSENT_KEY, JSON.stringify({ essential: true, analytics: true, marketing: true }));
set({ analytics: true, marketing: true, isOpen: false });
set({ analytics: true, analyticsConsent: true, marketing: true, isOpen: false });
},
rejectOptional: () => {
localStorage.setItem(CONSENT_KEY, JSON.stringify({ essential: true, analytics: false, marketing: false }));
set({ analytics: false, marketing: false, isOpen: false });
set({ analytics: false, analyticsConsent: false, marketing: false, isOpen: false });
}
}));