import { useEffect, useState } from 'react';
import { useDebouncedCallback } from 'use-debounce';
import { Object as SDObject, useLibraryMutation } from '@sd/client';
import { Divider, TextArea } from '@sd/ui';
import { MetaContainer, MetaTitle } from '../Inspector';
interface Props {
data: SDObject;
}
export default function Note(props: Props) {
const setNote = useLibraryMutation('files.setNote');
const debouncedSetNote = useDebouncedCallback((note: string) => {
setNote.mutate({
id: props.data.id,
note
});
}, 500);
// Force update when component unmounts
useEffect(() => () => debouncedSetNote.flush(), []);
const [cachedNote, setCachedNote] = useState(props.data.note);
return (
<>
Note
>
);
}