|
1 | 1 | import { create } from 'zustand' |
2 | | -import { persist, createJSONStorage } from 'zustand/middleware' |
3 | | -import { useCurrentUserQuery } from '~/hooks/useCurrentUser' |
| 2 | +// Remove persist and createJSONStorage imports since we no longer use localStorage |
| 3 | +// import { persist, createJSONStorage } from 'zustand/middleware' |
| 4 | +// Remove the useCurrentUserQuery import since we'll use the new hook |
| 5 | +// import { useCurrentUserQuery } from '~/hooks/useCurrentUser' |
| 6 | + |
| 7 | +// Update the export to use the new hook |
| 8 | +export { useAdsPreference } from '~/hooks/useAdPreference' |
4 | 9 |
|
5 | 10 | export type UserSettings = { |
6 | | - adsDisabled: boolean |
| 11 | + // Remove adsDisabled since it's now handled by Convex |
| 12 | + // Other settings can be added here in the future |
7 | 13 | } |
8 | 14 |
|
9 | 15 | type UserSettingsState = { |
10 | 16 | settings: UserSettings |
11 | 17 | hasHydrated: boolean |
12 | 18 | setHasHydrated: (value: boolean) => void |
13 | | - toggleAds: () => void |
| 19 | + // Remove toggleAds since it's now handled by the new hooks |
14 | 20 | } |
15 | 21 |
|
16 | | -export const useUserSettingsStore = create<UserSettingsState>()( |
17 | | - persist( |
18 | | - (set, get) => ({ |
19 | | - settings: { |
20 | | - adsDisabled: false, |
21 | | - }, |
22 | | - hasHydrated: false, |
23 | | - setHasHydrated: (value) => set({ hasHydrated: value }), |
24 | | - toggleAds: () => |
25 | | - set({ |
26 | | - settings: { |
27 | | - ...get().settings, |
28 | | - adsDisabled: !get().settings.adsDisabled, |
29 | | - }, |
30 | | - }), |
31 | | - }), |
32 | | - { |
33 | | - name: 'user_settings_v1', |
34 | | - storage: createJSONStorage(() => localStorage), |
35 | | - onRehydrateStorage: () => (state, error) => { |
36 | | - if (!state || error) return |
37 | | - state.setHasHydrated(true) |
38 | | - }, |
39 | | - partialize: (state) => ({ settings: state.settings }), |
40 | | - } |
41 | | - ) |
42 | | -) |
43 | | - |
44 | | -export function useAdsPreference() { |
45 | | - const userQuery = useCurrentUserQuery() |
46 | | - const { settings } = useUserSettingsStore((s) => ({ |
47 | | - settings: s.settings, |
48 | | - })) |
| 22 | +export const useUserSettingsStore = create<UserSettingsState>()((set, get) => ({ |
| 23 | + settings: { |
| 24 | + // Remove adsDisabled initialization |
| 25 | + }, |
| 26 | + hasHydrated: true, // No need for hydration since we're not using persistence |
| 27 | + setHasHydrated: (value) => set({ hasHydrated: value }), |
| 28 | + // Remove toggleAds function |
| 29 | +})) |
49 | 30 |
|
50 | | - const adsEnabled = userQuery.data |
51 | | - ? userQuery.data.capabilities.includes('disableAds') && |
52 | | - !settings.adsDisabled |
53 | | - : true |
54 | | - return { adsEnabled } |
55 | | -} |
| 31 | +// Remove the persist wrapper and localStorage configuration |
| 32 | +// The useAdsPreference function is now exported from useAdPreference.ts |
0 commit comments