diff --git a/src/app/admin/_components/FormField.tsx b/src/app/admin/_components/FormField.tsx index 57367c8..a98242f 100644 --- a/src/app/admin/_components/FormField.tsx +++ b/src/app/admin/_components/FormField.tsx @@ -1,4 +1,5 @@ import { useRef, useEffect, useState } from "react"; +import { Plus, X } from "lucide-react"; interface InputFieldProps { label: string; @@ -269,3 +270,72 @@ export function ToggleField({ label, checked, onChange }: ToggleFieldProps) { ); } + +interface ListFieldProps { + label: string; + items: string[]; + onChange: (items: string[]) => void; + placeholder?: string; +} + +export function ListField({ label, items, onChange, placeholder }: ListFieldProps) { + const [draft, setDraft] = useState(""); + + function add() { + const val = draft.trim(); + if (!val) return; + onChange([...items, val]); + setDraft(""); + } + + function remove(index: number) { + onChange(items.filter((_, i) => i !== index)); + } + + function update(index: number, value: string) { + onChange(items.map((item, i) => (i === index ? value : item))); + } + + return ( +
Биография
++ {member.role} +
+ + {member.instagram && ( + ++ {member.description} +
+ )} +