import React, { useMemo } from 'react'; import { useI18n } from '@/application/i18n/I18nProvider'; import type { ScriptTrigger, Snippet } from '@/domain/models'; import { Input } from '@/components/ui/input'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Textarea } from '@/components/ui/textarea'; export interface ScriptMetaFieldsProps { snippet: Snippet; onChange: (snippet: Snippet) => void; layout?: 'stack' | 'toolbar'; } export const ScriptMetaFields: React.FC = ({ snippet, onChange, layout = 'stack', }) => { const { t } = useI18n(); const triggerOptions = useMemo(() => ([ { value: 'manual', label: t('scripts.trigger.manual') }, { value: 'onConnect', label: t('scripts.trigger.onConnect') }, { value: 'onOutput', label: t('scripts.trigger.onOutput') }, ]), [t]); if (layout === 'toolbar') { return (
onChange({ ...snippet, label: event.target.value })} className="h-8" />
{snippet.trigger === 'onOutput' ? (
onChange({ ...snippet, triggerPattern: event.target.value })} placeholder="sudo.*password" className="h-8 font-mono text-xs" />

{t('scripts.trigger.onOutputHint')}

) : null}
onChange({ ...snippet, description: event.target.value })} className="h-8" placeholder={t('scripts.meta.descriptionPlaceholder')} />
); } return (
onChange({ ...snippet, label: event.target.value })} className="h-9" />