Makes a generic document row

This commit is contained in:
2025-05-31 17:19:50 -07:00
parent d5dfa8c30a
commit 6b6636d695
6 changed files with 82 additions and 26 deletions

View File

@@ -3,11 +3,11 @@ import { pb } from "@/lib/pocketbase";
import type { Document } from "@/lib/types";
import { DocumentList } from "@/components/DocumentList";
import { Loader } from "./Loader";
import { DocumentRow } from "./documents/DocumentRow";
interface RelationshipListProps<T extends Document> {
root: Document;
relationshipType: string;
renderRow: (item: T) => React.ReactNode;
newItemForm: (onCreate: (doc: T) => Promise<void>) => React.ReactNode;
}
@@ -18,7 +18,6 @@ interface RelationshipListProps<T extends Document> {
export function RelationshipList<T extends Document>({
root,
relationshipType,
renderRow,
newItemForm,
}: RelationshipListProps<T>) {
const [items, setItems] = useState<T[]>([]);
@@ -104,7 +103,7 @@ export function RelationshipList<T extends Document>({
}
items={items}
error={error}
renderRow={renderRow}
renderRow={(document) => <DocumentRow document={document} />}
newItemForm={(onSubmit) =>
newItemForm(async (doc: T) => {
await handleCreate(doc);