Files
tkmind_go/ui/desktop/src/components/LauncherView.tsx
T

43 lines
1.2 KiB
TypeScript

import { useRef, useState } from 'react';
import { getInitialWorkingDir } from '../utils/workingDir';
export default function LauncherView() {
const [query, setQuery] = useState('');
const inputRef = useRef<HTMLInputElement>(null);
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
if (query.trim()) {
window.electron.createChatWindow(query, getInitialWorkingDir());
setQuery('');
}
};
const handleKeyDown = (e: React.KeyboardEvent) => {
// Close on Escape
if (e.key === 'Escape') {
window.electron.closeWindow();
}
};
return (
<div className="h-screen w-screen flex bg-transparent overflow-hidden">
<form
onSubmit={handleSubmit}
className="w-full h-full bg-background-default/95 backdrop-blur-lg shadow-2xl border border-border-default"
>
<input
ref={inputRef}
type="text"
value={query}
onChange={(e) => setQuery(e.target.value)}
onKeyDown={handleKeyDown}
className="w-full h-full bg-transparent text-text-default text-xl px-6 outline-none placeholder-text-muted"
placeholder="Ask goose anything..."
autoFocus
/>
</form>
</div>
);
}