- Created mock API implementation in src/api/mock.ts - Added isMockMode toggle to useStore - Implemented switching between real and mock API in client.ts - Added Mock Mode toggle to Login page - Added 'npm run dev:mock' command Co-Authored-By: Claude <noreply@anthropic.com>
30 lines
770 B
TypeScript
30 lines
770 B
TypeScript
import { create } from 'zustand';
|
|
import { persist } from 'zustand/middleware';
|
|
|
|
interface AppState {
|
|
apiDomain: string;
|
|
apiKey: string;
|
|
isMockMode: boolean;
|
|
setApiDomain: (domain: string) => void;
|
|
setApiKey: (key: string) => void;
|
|
setMockMode: (isMock: boolean) => void;
|
|
reset: () => void;
|
|
}
|
|
|
|
export const useStore = create<AppState>()(
|
|
persist(
|
|
(set) => ({
|
|
apiDomain: import.meta.env.VITE_API_DOMAIN || '',
|
|
apiKey: '',
|
|
isMockMode: import.meta.env.VITE_MOCK_MODE === 'true',
|
|
setApiDomain: (apiDomain) => set({ apiDomain }),
|
|
setApiKey: (apiKey) => set({ apiKey }),
|
|
setMockMode: (isMockMode) => set({ isMockMode }),
|
|
reset: () => set({ apiKey: '' }),
|
|
}),
|
|
{
|
|
name: 'bonch-md-storage',
|
|
}
|
|
)
|
|
);
|