"use client" import type React from "react" import { useState } from "react" import type { Triple } from "@/utils/text-processing" import { Check, X } from "lucide-react" interface TripleEditorProps { triple?: Triple index?: number onSave: (triple: Triple, index?: number) => void onCancel: () => void } export function TripleEditor({ triple, index, onSave, onCancel }: TripleEditorProps) { const [subject, setSubject] = useState(triple?.subject || "") const [predicate, setPredicate] = useState(triple?.predicate || "") const [object, setObject] = useState(triple?.object || "") const handleSubmit = (e: React.FormEvent) => { e.preventDefault() if (subject.trim() && predicate.trim() && object.trim()) { onSave({ subject, predicate, object }, index) } } return (
setSubject(e.target.value)} className="w-full bg-background border border-border rounded-md p-2 text-sm text-foreground focus:ring-2 focus:ring-primary/50 focus:border-primary" placeholder="Entity" required />
setPredicate(e.target.value)} className="w-full bg-background border border-border rounded-md p-2 text-sm text-foreground focus:ring-2 focus:ring-primary/50 focus:border-primary" placeholder="Relation" required />
setObject(e.target.value)} className="w-full bg-background border border-border rounded-md p-2 text-sm text-foreground focus:ring-2 focus:ring-primary/50 focus:border-primary" placeholder="Entity" required />
) }