co2 galvo owner test

This commit is contained in:
makearmy 2025-10-01 19:06:22 -04:00
parent eea0c52ea4
commit e0ef742d64

View file

@ -25,9 +25,10 @@ export default function CO2GalvoSettingDetailPage() {
"submission_id",
"setting_title",
"uploader",
// request owner explicitly (username is what we display)
// ── Owner (expand username) ───────────────────────────
"owner.id",
"owner.username",
// ─────────────────────────────────────────────────────
"setting_notes",
"photo.filename_disk",
"photo.title",
@ -68,11 +69,13 @@ export default function CO2GalvoSettingDetailPage() {
if (loading) return <p className="p-6">Loading setting...</p>;
if (!setting) return <p className="p-6">Setting not found.</p>;
// owner username (what Directus returns when requesting owner.username)
const ownerUsername: string | null =
(setting?.owner && setting.owner.username) ? String(setting.owner.username) : null;
// Owner display: prefer username if relation is expanded; otherwise show raw value/id
const ownerDisplay: string =
typeof setting?.owner === "object"
? (setting.owner?.username ?? setting.owner?.id ?? "—")
: (typeof setting?.owner === "string" ? setting.owner : "—");
// show string or relation.name
// laser_soft may be string or relation
const softwareLabel: string =
typeof setting?.laser_soft === "object"
? (setting.laser_soft?.name ?? "—")
@ -158,15 +161,14 @@ export default function CO2GalvoSettingDetailPage() {
<div className="space-y-1 text-sm text-muted-foreground mb-3">
<p>
<strong>Owner:</strong>{" "}
<span>{ownerUsername ?? "—"}</span>
<strong>Owner:</strong> <span>{ownerDisplay}</span>
</p>
<p>
<strong>Uploader:</strong> {setting.uploader || "—"}
</p>
</div>
{!ownerUsername && (
{ownerDisplay === "—" && (
<div className="flex items-center gap-2">
<button
onClick={onClaim}