From bdcb2c54b4c60c3eb25936d9d22f75f6416e03f9 Mon Sep 17 00:00:00 2001 From: Ryan Bonial Date: Mon, 21 Oct 2024 14:46:28 -0600 Subject: [PATCH] Add devtools --- .../navbar/free-trial/FreeTrialStore.tsx | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/packages/sanity/src/core/studio/components/navbar/free-trial/FreeTrialStore.tsx b/packages/sanity/src/core/studio/components/navbar/free-trial/FreeTrialStore.tsx index 6d3fed4b00f..a923d6e6894 100644 --- a/packages/sanity/src/core/studio/components/navbar/free-trial/FreeTrialStore.tsx +++ b/packages/sanity/src/core/studio/components/navbar/free-trial/FreeTrialStore.tsx @@ -2,6 +2,7 @@ import {useTelemetry} from '@sanity/telemetry/react' import {useEffect} from 'react' import {useRouter} from 'sanity/router' import {create} from 'zustand' +import {devtools} from 'zustand/middleware' import {useClient} from '../../../../hooks' import {SANITY_VERSION} from '../../../../version' @@ -21,15 +22,33 @@ interface FreeTrialState { } // Zustand state management store -const useFreeTrialStore = create((set) => ({ - data: null, - showDialog: false, - showOnLoad: false, - - setData: (data) => set({data}), - setShowDialog: (show) => set({showDialog: show}), - setShowOnLoad: (show) => set({showOnLoad: show}), -})) +const useFreeTrialStore = create()( + devtools( + (set) => ({ + data: null, + showDialog: false, + showOnLoad: false, + + setData: (data) => set({data}, undefined, 'setData'), + setShowDialog: (show) => set({showDialog: show}, undefined, 'setShowDialog'), + setShowOnLoad: (show) => set({showOnLoad: show}, undefined, 'setShowOnLoad'), + }), + { + name: 'Free Trial Store', + // Optional: customize devtools settings + enabled: true, // for real it should actually be -> process.env.NODE_ENV === 'development' + anonymousActionType: 'unknown', // Default type for actions without names + serialize: { + options: true, // Include options in the serialized state + replacer: (key, value) => { + // Optional: customize serialization + // Return undefined to exclude a property + return value + }, + }, + }, + ), +) // Custom hook that combines Zustand store with other hooks export const useFreeTrial = () => {