feat(24-02): add auth prompt state, modal, usePublicSetup hook, guard onboarding
- Extend uiStore with showAuthPrompt/openAuthPrompt/closeAuthPrompt state - Create AuthPromptModal component with sign in/sign up CTAs pointing to /login - Add usePublicSetup hook to useSetups for anonymous setup viewing via public API - Rework useOnboardingComplete to accept enabled param (guards auth-gated call)
This commit is contained in:
@@ -79,6 +79,11 @@ interface UIState {
|
||||
// Session thread tracking
|
||||
catalogSessionThreadId: number | null;
|
||||
setCatalogSessionThreadId: (id: number | null) => void;
|
||||
|
||||
// Auth prompt modal
|
||||
showAuthPrompt: boolean;
|
||||
openAuthPrompt: () => void;
|
||||
closeAuthPrompt: () => void;
|
||||
}
|
||||
|
||||
export const useUIStore = create<UIState>((set) => ({
|
||||
@@ -184,4 +189,9 @@ export const useUIStore = create<UIState>((set) => ({
|
||||
// Session thread tracking
|
||||
catalogSessionThreadId: null,
|
||||
setCatalogSessionThreadId: (id) => set({ catalogSessionThreadId: id }),
|
||||
|
||||
// Auth prompt modal
|
||||
showAuthPrompt: false,
|
||||
openAuthPrompt: () => set({ showAuthPrompt: true }),
|
||||
closeAuthPrompt: () => set({ showAuthPrompt: false }),
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user