diff --git a/app/components/settings.tsx b/app/components/settings.tsx index eb9bc6d4..c2bdb86e 100644 --- a/app/components/settings.tsx +++ b/app/components/settings.tsx @@ -46,14 +46,14 @@ function SettingItem(props: { export function Settings(props: { closeSettings: () => void }) { const [showEmojiPicker, setShowEmojiPicker] = useState(false); - const [config, updateConfig, resetConfig, clearAllData] = useChatStore( - (state) => [ + const [config, updateConfig, resetConfig, clearAllData, clearSessions] = + useChatStore((state) => [ state.config, state.updateConfig, state.resetConfig, state.clearAllData, - ] - ); + state.clearSessions, + ]); const updateStore = useUpdateStore(); const [checkingUpdate, setCheckingUpdate] = useState(false); @@ -93,7 +93,7 @@ export function Settings(props: { closeSettings: () => void }) {
} - onClick={clearAllData} + onClick={clearSessions} bordered title={Locale.Settings.Actions.ClearAll} /> diff --git a/app/store/app.ts b/app/store/app.ts index 703078ad..46e46d52 100644 --- a/app/store/app.ts +++ b/app/store/app.ts @@ -177,6 +177,7 @@ interface ChatStore { config: ChatConfig; sessions: ChatSession[]; currentSessionIndex: number; + clearSessions: () => void; removeSession: (index: number) => void; selectSession: (index: number) => void; newSession: () => void; @@ -211,6 +212,13 @@ export const useChatStore = create()( ...DEFAULT_CONFIG, }, + clearSessions(){ + set(() => ({ + sessions: [createEmptySession()], + currentSessionIndex: 0, + })); + }, + resetConfig() { set(() => ({ config: { ...DEFAULT_CONFIG } })); },