'use client';

import { FormField } from '@/components/ui/primitives/FormField';
import { Input } from '@/components/ui/primitives/Input';
import {
  Select,
  SelectTrigger,
  SelectValue,
  SelectContent,
  SelectItem,
} from '@/components/ui/primitives/Select';
import { useT } from '@/lib/i18n/react';
import type { Config } from './config';

export function ConfigEditor({
  config,
  onChange,
}: {
  config: Config;
  onChange: (c: Config) => void;
}) {
  const t = useT('page_organizer');

  return (
    <div className="flex flex-col gap-4">
      <FormField label={t('title_he')}>
        <Input
          dir="rtl"
          value={config.title.he}
          onChange={(e) => onChange({ ...config, title: { ...config.title, he: e.target.value } })}
        />
      </FormField>

      <FormField label={t('title_en')}>
        <Input
          value={config.title.en}
          onChange={(e) => onChange({ ...config, title: { ...config.title, en: e.target.value } })}
        />
      </FormField>

      <FormField label={t('vendor_ids')}>
        <Input
          value={config.vendorIds.join(', ')}
          placeholder="uuid1, uuid2, ..."
          onChange={(e) => {
            const ids = e.target.value
              .split(',')
              .map((s) => s.trim())
              .filter(Boolean);
            onChange({ ...config, vendorIds: ids });
          }}
        />
      </FormField>

      <FormField label={t('mode')}>
        <Select
          value={config.mode}
          onValueChange={(v) => onChange({ ...config, mode: v as Config['mode'] })}
        >
          <SelectTrigger>
            <SelectValue />
          </SelectTrigger>
          <SelectContent>
            <SelectItem value="featured">{t('mode_featured')}</SelectItem>
            <SelectItem value="pinned">{t('mode_pinned')}</SelectItem>
          </SelectContent>
        </Select>
      </FormField>
    </div>
  );
}
