@@ -2,16 +2,21 @@ import { create } from "zustand";
22import { trpcVanilla } from "../trpc" ;
33
44export type TerminalLayoutMode = "split" | "tabbed" ;
5+ export type SendMessagesWith = "enter" | "cmd+enter" ;
56
67interface SettingsState {
78 terminalLayoutMode : TerminalLayoutMode ;
9+ sendMessagesWith : SendMessagesWith ;
810 isLoading : boolean ;
911 loadTerminalLayout : ( ) => Promise < void > ;
1012 setTerminalLayout : ( mode : TerminalLayoutMode ) => Promise < void > ;
13+ loadSendMessagesWith : ( ) => Promise < void > ;
14+ setSendMessagesWith : ( mode : SendMessagesWith ) => Promise < void > ;
1115}
1216
1317export const useSettingsStore = create < SettingsState > ( ) ( ( set ) => ( {
1418 terminalLayoutMode : "split" ,
19+ sendMessagesWith : "enter" ,
1520 isLoading : true ,
1621
1722 loadTerminalLayout : async ( ) => {
@@ -34,4 +39,27 @@ export const useSettingsStore = create<SettingsState>()((set) => ({
3439 set ( { terminalLayoutMode : mode } ) ;
3540 } catch ( _error ) { }
3641 } ,
42+
43+ loadSendMessagesWith : async ( ) => {
44+ try {
45+ const mode = await trpcVanilla . secureStore . getItem . query ( {
46+ key : "sendMessagesWith" ,
47+ } ) ;
48+ if ( mode === "enter" || mode === "cmd+enter" ) {
49+ set ( { sendMessagesWith : mode } ) ;
50+ }
51+ } catch ( _error ) {
52+ // Keep default value
53+ }
54+ } ,
55+
56+ setSendMessagesWith : async ( mode : SendMessagesWith ) => {
57+ try {
58+ await trpcVanilla . secureStore . setItem . query ( {
59+ key : "sendMessagesWith" ,
60+ value : mode ,
61+ } ) ;
62+ set ( { sendMessagesWith : mode } ) ;
63+ } catch ( _error ) { }
64+ } ,
3765} ) ) ;
0 commit comments