import { defineStore } from 'pinia'; interface InputState { inputMessage: string; inputLineCount: number; inputIsMultiline: boolean; inputIsFocused: boolean; quickMenuOpen: boolean; toolMenuOpen: boolean; settingsOpen: boolean; } export const useInputStore = defineStore('input', { state: (): InputState => ({ inputMessage: '', inputLineCount: 1, inputIsMultiline: false, inputIsFocused: false, quickMenuOpen: false, toolMenuOpen: false, settingsOpen: false }), actions: { setInputMessage(value: string) { this.inputMessage = value; }, clearInputMessage() { this.inputMessage = ''; }, setInputLineCount(count: number) { this.inputLineCount = count; }, setInputMultiline(multiline: boolean) { this.inputIsMultiline = multiline; }, setInputFocused(focused: boolean) { this.inputIsFocused = focused; }, openQuickMenu() { this.quickMenuOpen = true; }, setQuickMenuOpen(open: boolean) { this.quickMenuOpen = open; if (!open) { this.toolMenuOpen = false; this.settingsOpen = false; } }, toggleQuickMenu() { const next = !this.quickMenuOpen; this.setQuickMenuOpen(next); return next; }, closeMenus() { this.quickMenuOpen = false; this.toolMenuOpen = false; this.settingsOpen = false; }, toggleToolMenu() { this.toolMenuOpen = !this.toolMenuOpen; return this.toolMenuOpen; }, setToolMenuOpen(open: boolean) { this.toolMenuOpen = open; }, toggleSettingsMenu() { this.settingsOpen = !this.settingsOpen; return this.settingsOpen; }, setSettingsOpen(open: boolean) { this.settingsOpen = open; } } });