"use client" import { useState } from "react" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" import { Label } from "@/components/ui/label" import { cn } from "@/lib/utils" import { FontName, fontList, fonts } from "@/lib/fonts" import { Input } from "@/components/ui/input" import { defaultPreset, getPreset, presets } from "@/app/engine/presets" import { useStore } from "@/app/store" import { Button } from "@/components/ui/button" export function TopMenu() { const font = useStore(state => state.font) const setFont = useStore(state => state.setFont) const preset = useStore(state => state.preset) const setPreset = useStore(state => state.setPreset) const prompt = useStore(state => state.prompt) const setPrompt = useStore(state => state.setPrompt) const isGeneratingStory = useStore(state => state.isGeneratingStory) const atLeastOnePanelIsBusy = useStore(state => state.atLeastOnePanelIsBusy) const isBusy = isGeneratingStory || atLeastOnePanelIsBusy const [draft, setDraft] = useState("") return (
{ setDraft(e.target.value) }} onKeyDown={({ key }) => { if (isBusy) { return } if (key === 'Enter') { if (draft.trim() !== prompt.trim()) { setPrompt(draft.trim()) } } }} value={draft} />
) }