Files
dm-companion/src/components/documents/npc/NpcRow.tsx
2025-05-31 22:39:53 -07:00

47 lines
992 B
TypeScript

import { AutoSaveTextarea } from "@/components/AutoSaveTextarea";
import { pb } from "@/lib/pocketbase";
import type { Npc } from "@/lib/types";
/**
* Renders an editable npc row
*/
export const NpcRow = ({ npc }: { npc: Npc }) => {
async function saveNpcName(name: string) {
await pb.collection("documents").update(npc.id, {
data: {
...npc.data,
npc: {
...npc.data.npc,
name,
},
},
});
}
async function saveNpcDescription(description: string) {
await pb.collection("documents").update(npc.id, {
data: {
...npc.data,
npc: {
...npc.data.npc,
description,
},
},
});
}
return (
<div className="">
<AutoSaveTextarea
multiline={false}
value={npc.data.npc.name}
onSave={saveNpcName}
/>
<AutoSaveTextarea
value={npc.data.npc.description}
onSave={saveNpcDescription}
/>
</div>
);
};