import type { BrandInputs } from '../types'; import { TokenInput } from './TokenInput'; const TONE_SUGGESTIONS = ['minimal', 'technical', 'calm', 'bold', 'warm', 'dry', 'focused', 'sharp']; const AVOID_SUGGESTIONS = ['buzzwords', 'hype', 'startup language', 'passive voice', 'corporate tone', 'exclamation points', 'superlatives']; interface Props { inputs: BrandInputs; onChange: (inputs: BrandInputs) => void; onGenerate: () => void; isGenerating: boolean; generateLabel?: string; } export function InputPanel({ inputs, onChange, onGenerate, isGenerating, generateLabel }: Props) { const set = (key: K) => (value: BrandInputs[K]) => onChange({ ...inputs, [key]: value }); const handleKey = (e: React.KeyboardEvent) => { if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) { e.preventDefault(); onGenerate(); } }; const canGenerate = inputs.name.trim().length > 0 && inputs.purpose.trim().length > 0; return (
Project
set('name')(e.target.value)} />
set('category')(e.target.value)} />
set('purpose')(e.target.value)} />
set('audience')(e.target.value)} />
Voice
Notes