import { Link, Navigate, useParams } from "react-router-dom"; {{#if hasRelations}}import Links from "../Links";{{/if}} import { useRetrieve, useDelete } from "../../hooks"; import TResource from "./type"; import { TError } from "../../utils/types"; interface ShowProps { retrieved: TResource | null; loading: boolean; error: TError; deleteError: TError; deleted: TResource | null; del: (item: TResource) => any; } const ShowView = ({del, deleteError, deleted, error, loading, retrieved: item}: ShowProps) => { if (deleted) { return ; } const delWithConfirm = () => { if (item && window.confirm("Are you sure you want to delete this item?")) { del(item); } }; return (

Show {{{ucf}}} {item && item["@id"]}

{loading && (
Loading...
)} {error && (
)} {deleteError && (
)} {item && ( {{#each fields}} {{/each}}
Field Value
{{name}} {{#if isReferences}} ({ href: `/{{{reference.name}}}/show/${encodeURIComponent(ref)}`, name: ref })) } /> {{else if reference}} {{else if isEmbeddeds}} ({ href: `/{{{embedded.name}}}/show/${encodeURIComponent(emb["@id"])}`, name: emb["@id"] }))}/> {{else if embedded}} {{else}} {item['{{{name}}}']}retrieved {{/if}}
)} Back to list {item && ( )}
); } const Show = () => { const { id } = useParams<{ id: string }>(); const {retrieved, loading, error} = useRetrieve(decodeURIComponent(id || "")); const {deleted, error: deleteError, del} = useDelete(); return ( ); } export default Show;