Initial commit: Triple-C app, container, and CI
Tauri v2 desktop app (React/TypeScript + Rust) for managing containerized Claude Code environments. Includes Gitea Actions workflow for building and pushing the sandbox container image, and a BUILDING.md guide for manual app builds on Linux and Windows. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
38
app/src/hooks/useSettings.ts
Normal file
38
app/src/hooks/useSettings.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { useCallback } from "react";
|
||||
import { useAppState } from "../store/appState";
|
||||
import * as commands from "../lib/tauri-commands";
|
||||
|
||||
export function useSettings() {
|
||||
const { hasKey, setHasKey } = useAppState();
|
||||
|
||||
const checkApiKey = useCallback(async () => {
|
||||
try {
|
||||
const has = await commands.hasApiKey();
|
||||
setHasKey(has);
|
||||
return has;
|
||||
} catch {
|
||||
setHasKey(false);
|
||||
return false;
|
||||
}
|
||||
}, [setHasKey]);
|
||||
|
||||
const saveApiKey = useCallback(
|
||||
async (key: string) => {
|
||||
await commands.setApiKey(key);
|
||||
setHasKey(true);
|
||||
},
|
||||
[setHasKey],
|
||||
);
|
||||
|
||||
const removeApiKey = useCallback(async () => {
|
||||
await commands.deleteApiKey();
|
||||
setHasKey(false);
|
||||
}, [setHasKey]);
|
||||
|
||||
return {
|
||||
hasKey,
|
||||
checkApiKey,
|
||||
saveApiKey,
|
||||
removeApiKey,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user