| @@ -1,13 +1,16 @@ | ||
| 1 | 1 | import { isEmbedded } from '@shared/lib/embedded-guard'; |
| 2 | +import { track } from '@shared/lib/track'; | |
| 2 | 3 | import { create } from 'zustand'; |
| 3 | 4 | import { persist } from 'zustand/middleware'; |
| 4 | -import { track } from '../lib/insights'; | |
| 5 | 5 | |
| 6 | 6 | const HTML_CLASS = 'extendify-quick-edit-on'; |
| 7 | 7 | |
| 8 | 8 | const DEFAULT_ON = !!window.extQuickEditData?.defaultOn; |
| 9 | 9 | |
| 10 | +// One origin serves many sites over its life. | |
| 11 | +export const STORAGE_KEY = `extendify-quick-edit-mode-${window.extSharedData?.siteId}`; | |
| 12 | + | |
| 10 | 13 | export const useEditModeStore = create()( |
| 11 | 14 | persist( |
| 12 | 15 | (set, get) => ({ |
| 13 | 16 | on: DEFAULT_ON, |
| @@ -18,9 +21,9 @@ | ||
| 18 | 21 | }, |
| 19 | 22 | toggle: () => set({ on: !get().on }), |
| 20 | 23 | }), |
| 21 | 24 | { |
| 22 | - name: 'extendify-quick-edit-mode', | |
| 25 | + name: STORAGE_KEY, | |
| 23 | 26 | partialize: ({ on }) => ({ on }), |
| 24 | 27 | }, |
| 25 | 28 | ), |
| 26 | 29 | ); |
| @@ -32,7 +35,7 @@ | ||
| 32 | 35 | document.documentElement.classList.toggle(HTML_CLASS, on && !isEmbedded()); |
| 33 | 36 | |
| 34 | 37 | useEditModeStore.subscribe((state) => { |
| 35 | 38 | applyHtmlClass(state.on); |
| 36 | - track(state.on ? 'edit_mode_on' : 'edit_mode_off'); | |
| 39 | + track('quick_edit_status', { value: state.on ? 'on' : 'off' }); | |
| 37 | 40 | }); |
| 38 | 41 | applyHtmlClass(useEditModeStore.getState().on); |