"use client"; import { useRef, useState, useTransition } from "react"; type Props = { initialNotes: string; onSave: (notes: string) => Promise; }; export function NotesEditor({ initialNotes, onSave }: Props) { const [value, setValue] = useState(initialNotes); const [saved, setSaved] = useState(false); const [isPending, startTransition] = useTransition(); const savedTimer = useRef | null>(null); const dirty = value !== initialNotes; function handleSave() { startTransition(async () => { await onSave(value); if (savedTimer.current) clearTimeout(savedTimer.current); setSaved(true); savedTimer.current = setTimeout(() => setSaved(false), 2000); }); } return (