import { BytescaleUploader } from '@/components/BytescaleUploader/BytescaleUploader'; import { Badge } from '@/components/ui/badge'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Textarea } from '@/components/ui/textarea'; import { X } from 'lucide-react'; interface SeoData { seoTitle?: string; metaDescription?: string; focusKeyphrase?: string; tags?: string[]; ogTitle?: string; ogDescription?: string; ogImage?: string; } interface SeoFieldsProps { value?: SeoData; onChange: (seo: SeoData) => void; slug?: string; folderPath?: '/seo'; } export default function SeoFields({ value, onChange, slug, folderPath = '/seo' }: SeoFieldsProps) { const seo = value || {}; const updateSeo = (field: keyof SeoData, fieldValue: any) => { onChange({ ...seo, [field]: fieldValue, }); }; const removeTag = (index: number) => { updateSeo( 'tags', (seo.tags || []).filter((_, i) => i !== index) ); }; return (

SEO Settings

Optimize for Google & social sharing

Optional
{seo.seoTitle?.length || 0}/60
updateSeo('seoTitle', e.target.value)} />

Recommended: 50–60 characters

{seo.metaDescription?.length || 0}/160