Update App.tsx with new state variables and localStorage handling

This commit is contained in:
2026-03-13 22:56:46 +01:00
parent b211342e8a
commit 43e1fb1c79

View File

@@ -107,9 +107,12 @@ type HistoryEntry = {
}; };
type ConversionJob = { type ConversionJob = {
actionLabel: string;
openPreviewOnSuccess: boolean;
sourceTextId: string; sourceTextId: string;
sourceTitle: string; sourceTitle: string;
sourceBody: string; sourceBody: string;
sourceDraftBaseVersionId: string | null;
controller: AbortController; controller: AbortController;
}; };
@@ -382,9 +385,15 @@ export default function App() {
const [ollamaModel, setOllamaModel] = useState(() => { const [ollamaModel, setOllamaModel] = useState(() => {
return localStorage.getItem("textdb.ollamaModel") || ""; return localStorage.getItem("textdb.ollamaModel") || "";
}); });
const [ollamaPrompt, setOllamaPrompt] = useState(() => { const [aiPrompts, setAiPrompts] = useState<AiPrompts>(() => loadAiPrompts());
return localStorage.getItem("textdb.ollamaPrompt") || DEFAULT_OLLAMA_PROMPT; const [expandedPromptKey, setExpandedPromptKey] = useState<AiPromptKey | null>(
"markdownConversion"
);
const [translateLanguage, setTranslateLanguage] = useState(() => {
return localStorage.getItem(TRANSLATE_LANGUAGE_STORAGE_KEY) || DEFAULT_TRANSLATE_LANGUAGE;
}); });
const [changeStylePresets, setChangeStylePresets] = useState(() => loadChangeStylePresets());
const [newStylePreset, setNewStylePreset] = useState("");
const [ollamaModels, setOllamaModels] = useState<string[]>([]); const [ollamaModels, setOllamaModels] = useState<string[]>([]);
const [ollamaLoading, setOllamaLoading] = useState(false); const [ollamaLoading, setOllamaLoading] = useState(false);
const [ollamaError, setOllamaError] = useState<string | null>(null); const [ollamaError, setOllamaError] = useState<string | null>(null);
@@ -448,8 +457,19 @@ export default function App() {
}, [ollamaModel]); }, [ollamaModel]);
useEffect(() => { useEffect(() => {
localStorage.setItem("textdb.ollamaPrompt", ollamaPrompt); localStorage.setItem(AI_PROMPTS_STORAGE_KEY, JSON.stringify(aiPrompts));
}, [ollamaPrompt]); }, [aiPrompts]);
useEffect(() => {
localStorage.setItem(TRANSLATE_LANGUAGE_STORAGE_KEY, translateLanguage);
}, [translateLanguage]);
useEffect(() => {
localStorage.setItem(
CHANGE_STYLE_PRESETS_STORAGE_KEY,
JSON.stringify(changeStylePresets)
);
}, [changeStylePresets]);
useEffect(() => { useEffect(() => {
localStorage.setItem( localStorage.setItem(