No machine types found.
-
-
-
- | ID |
- Name |
-
-
-
- {data.items.map((m) => (
-
- | #{m.id} |
-
- {m.name}
- |
-
- ))}
-
-
+
+
+
+
+ {data && data.items.length === 0 &&
No machine types found.
}
+ {data && data.items.length > 0 && (
+
+
+
+
+ | ID |
+ Name |
+
+
+
+ {data.items.map((m) => (
+
+ | #{m.id} |
+
+ {m.name}
+ |
+
+ ))}
+
+
+
+ )}
+
diff --git a/src/app/zxdb/releases/[entryId]/[releaseSeq]/ReleaseDetail.tsx b/src/app/zxdb/releases/[entryId]/[releaseSeq]/ReleaseDetail.tsx
index 0c18153..86d6e22 100644
--- a/src/app/zxdb/releases/[entryId]/[releaseSeq]/ReleaseDetail.tsx
+++ b/src/app/zxdb/releases/[entryId]/[releaseSeq]/ReleaseDetail.tsx
@@ -191,336 +191,337 @@ export default function ReleaseDetailClient({ data }: { data: ReleaseDetailData
-
-
-
-
-
-
- | Field |
- Value |
-
-
-
-
- | Entry |
-
- #{data.entry.id}
- |
-
-
- | Release Sequence |
- #{data.release.releaseSeq} |
-
-
- | Release Date |
-
- {data.release.year != null ? (
-
- {data.release.year}
- {data.release.month != null ? `/${String(data.release.month).padStart(2, "0")}` : ""}
- {data.release.day != null ? `/${String(data.release.day).padStart(2, "0")}` : ""}
-
- ) : (
- -
- )}
- |
-
-
- | Currency |
-
- {data.release.currency.id ? (
- {data.release.currency.id} {data.release.currency.name ? `(${data.release.currency.name})` : ""}
- ) : (
- -
- )}
- |
-
-
- | Price |
- {formatCurrency(data.release.prices.release, data.release.currency)} |
-
-
- | Budget Price |
- {formatCurrency(data.release.prices.budget, data.release.currency)} |
-
-
- | Microdrive Price |
- {formatCurrency(data.release.prices.microdrive, data.release.currency)} |
-
-
- | Disk Price |
- {formatCurrency(data.release.prices.disk, data.release.currency)} |
-
-
- | Cartridge Price |
- {formatCurrency(data.release.prices.cartridge, data.release.currency)} |
-
-
- | Book ISBN |
- {data.release.book.isbn ?? -} |
-
-
- | Book Pages |
- {data.release.book.pages ?? -} |
-
-
-
-
-
-
-
-
-
Other Releases
- {otherReleases.length === 0 &&
No other releases
}
- {otherReleases.length > 0 && (
-
- {otherReleases.map((r) => (
-
- #{r.releaseSeq}{r.year != null ? ` · ${r.year}` : ""}
-
- ))}
-
- )}
-
-
-
-
-
-
Places (Magazines)
- {magazineGroups.length === 0 &&
No magazine references
}
- {magazineGroups.length > 0 && (
-
- {magazineGroups.map((group) => (
-
-
-
- {group.magazineId != null ? (
-
- {group.magazineName ?? `Magazine #${group.magazineId}`}
-
- ) : (
- Unknown magazine
- )}
-
-
{group.items.length} reference{group.items.length === 1 ? "" : "s"}
-
- {groupIssueRefs(group.items).map((issueGroup) => (
-
-
-
-
Issue #{issueGroup.issueId}
-
{formatIssue(issueGroup.issue) || "-"}
-
-
- {issueGroup.items.length} reference{issueGroup.items.length === 1 ? "" : "s"}
-
-
-
-
-
-
- | Page |
- Type |
- Original |
- Notes |
-
-
-
- {issueGroup.items.map((m) => (
-
- | {m.page} |
- {m.referencetypeName ?? `#${m.referencetypeId}`} |
- {m.isOriginal ? "Yes" : "No"} |
- {m.scoreGroup || "-"} |
-
- ))}
-
-
-
-
- ))}
-
- ))}
-
- )}
-
-
-
-
-
-
Downloads
- {data.downloads.length === 0 &&
No downloads
}
- {data.downloads.length > 0 && (
-
-
-
-
- | Type |
- Link |
- Size |
- MD5 |
- Flags |
- Details |
- Comments |
-
-
-
- {data.downloads.map((d) => {
- const isHttp = d.link.startsWith("http://") || d.link.startsWith("https://");
- return (
-
- | {d.type.name} |
+
+
+
+
+
Release Summary
+
+
+
+
+ | Entry |
- {isHttp ? (
- {d.link}
- ) : (
- {d.link}
- )}
+ #{data.entry.id}
|
- {typeof d.size === "number" ? d.size.toLocaleString() : "-"} |
- {d.md5 ?? "-"} |
-
-
- {d.isDemo ? Demo : null}
- {d.scheme.name ? {d.scheme.name} : null}
- {d.source.name ? {d.source.name} : null}
- {d.case.name ? {d.case.name} : null}
-
- |
-
-
- {d.language.name ? (
- {d.language.name}
- ) : null}
- {d.machinetype.name ? (
- {d.machinetype.name}
- ) : null}
- {typeof d.year === "number" ? {d.year} : null}
-
- |
- {d.comments ?? ""} |
- );
- })}
-
-
-
- )}
-
-
-
-
-
-
Scraps / Media
- {data.scraps.length === 0 &&
No scraps
}
- {data.scraps.length > 0 && (
-
-
-
-
- | Type |
- Link |
- Size |
- Flags |
- Details |
- Rationale |
-
-
-
- {data.scraps.map((s) => {
- const isHttp = s.link?.startsWith("http://") || s.link?.startsWith("https://");
- return (
-
- | {s.type.name} |
+
+ | Release Sequence |
+ #{data.release.releaseSeq} |
+
+
+ | Release Date |
- {s.link ? (
- isHttp ? (
- {s.link}
- ) : (
- {s.link}
- )
+ {data.release.year != null ? (
+
+ {data.release.year}
+ {data.release.month != null ? `/${String(data.release.month).padStart(2, "0")}` : ""}
+ {data.release.day != null ? `/${String(data.release.day).padStart(2, "0")}` : ""}
+
) : (
-
)}
|
- {typeof s.size === "number" ? s.size.toLocaleString() : "-"} |
-
-
- {s.isDemo ? Demo : null}
- {s.scheme.name ? {s.scheme.name} : null}
- {s.source.name ? {s.source.name} : null}
- {s.case.name ? {s.case.name} : null}
-
- |
-
-
- {s.language.name ? (
- {s.language.name}
- ) : null}
- {s.machinetype.name ? (
- {s.machinetype.name}
- ) : null}
- {typeof s.year === "number" ? {s.year} : null}
-
- |
- {s.rationale} |
- );
- })}
-
-
-
- )}
-
-
-
-
-
-
Issue Files
- {data.files.length === 0 &&
No files linked
}
- {data.files.length > 0 && (
-
-
-
-
- | Type |
- Link |
- Size |
- MD5 |
- Comments |
-
-
-
- {data.files.map((f) => {
- const isHttp = f.link.startsWith("http://") || f.link.startsWith("https://");
- return (
-
- | {f.type.name} |
+
+ | Currency |
- {isHttp ? (
- {f.link}
+ {data.release.currency.id ? (
+ {data.release.currency.id} {data.release.currency.name ? `(${data.release.currency.name})` : ""}
) : (
- {f.link}
+ -
)}
|
- {f.size != null ? new Intl.NumberFormat().format(f.size) : "-"} |
- {f.md5 ?? "-"} |
- {f.comments ?? ""} |
- );
- })}
-
-
+
+ | Price |
+ {formatCurrency(data.release.prices.release, data.release.currency)} |
+
+
+ | Budget Price |
+ {formatCurrency(data.release.prices.budget, data.release.currency)} |
+
+
+ | Microdrive Price |
+ {formatCurrency(data.release.prices.microdrive, data.release.currency)} |
+
+
+ | Disk Price |
+ {formatCurrency(data.release.prices.disk, data.release.currency)} |
+
+
+ | Cartridge Price |
+ {formatCurrency(data.release.prices.cartridge, data.release.currency)} |
+
+
+ | Book ISBN |
+ {data.release.book.isbn ?? -} |
+
+
+ | Book Pages |
+ {data.release.book.pages ?? -} |
+
+
+
+
+