From 8b9987c0a0946d3d46ce263385c3348511ff99a6 Mon Sep 17 00:00:00 2001
From: makearmy
Date: Wed, 1 Oct 2025 18:11:38 -0400
Subject: [PATCH] co2 galvo owner test
---
app/settings/co2-galvo/[id]/co2-galvo.tsx | 75 ++++++++---------------
1 file changed, 25 insertions(+), 50 deletions(-)
diff --git a/app/settings/co2-galvo/[id]/co2-galvo.tsx b/app/settings/co2-galvo/[id]/co2-galvo.tsx
index 492ad601..7bbef2eb 100644
--- a/app/settings/co2-galvo/[id]/co2-galvo.tsx
+++ b/app/settings/co2-galvo/[id]/co2-galvo.tsx
@@ -25,16 +25,14 @@ export default function CO2GalvoSettingDetailPage() {
"submission_id",
"setting_title",
"uploader",
- // ✅ Owner (M2O) — request username explicitly
+ // ✅ fetch username directly
"owner.id",
"owner.username",
- // Content & assets
"setting_notes",
"photo.filename_disk",
"photo.title",
"screen.filename_disk",
"screen.title",
- // Denormalized relations / fields
"mat.name",
"mat_coat.name",
"mat_color.name",
@@ -42,14 +40,15 @@ export default function CO2GalvoSettingDetailPage() {
"mat_thickness",
"source.make",
"source.model",
- // ✅ laser_soft is a STRING, not a relation
- "laser_soft",
"lens.field_size",
"lens.focal_length",
"lens_conf.name",
"lens_apt.name",
"lens_exp.name",
"focus",
+ // ✅ handle both shapes
+ "laser_soft",
+ "laser_soft.name",
"repeat_all",
"fill_settings",
"line_settings",
@@ -69,12 +68,14 @@ export default function CO2GalvoSettingDetailPage() {
if (loading) return Loading setting...
;
if (!setting) return Setting not found.
;
- // ✅ Prefer the owner's username (string). Return null if absent so claim UI shows.
- const ownerName = (row: any) => {
- const o = row?.owner;
- if (!o) return null;
- return o.username || null;
- };
+ // ✅ prefer username
+ const ownerName = (row: any) => row?.owner?.username ?? null;
+
+ // Render “name” if relation, or raw string if the field is plain text.
+ const softwareLabel =
+ typeof setting.laser_soft === "object"
+ ? setting.laser_soft?.name ?? "—"
+ : setting.laser_soft ?? "—";
const formatBoolean = (val: any) =>
val ? "Enabled" : val === false ? "Disabled" : "—";
@@ -109,7 +110,6 @@ export default function CO2GalvoSettingDetailPage() {
);
};
- // ✅ Point searches back to the list route under /settings
const openSearchInNewTab = (value: string) => {
if (!value || typeof window === "undefined") return;
const url = new URL("/settings/co2-galvo", window.location.origin);
@@ -161,8 +161,7 @@ export default function CO2GalvoSettingDetailPage() {
- Owner:{" "}
- {owner ? {owner} : —}
+ Owner: {owner ? {owner} : —}
Uploader: {setting.uploader || "—"}
@@ -178,17 +177,12 @@ export default function CO2GalvoSettingDetailPage() {
>
{claimBusy ? "Submitting…" : "Claim this setting"}
- {claimMsg && (
- {claimMsg}
- )}
- {claimErr && (
- {claimErr}
- )}
+ {claimMsg && {claimMsg}}
+ {claimErr && {claimErr}}
)}
- {/* ✅ Back link to list route */}
-
- Color: {setting.mat_color?.name || "—"}
-
-
- Opacity: {setting.mat_opacity?.opacity || "—"}
-
+ Color: {setting.mat_color?.name || "—"}
+ Opacity: {setting.mat_opacity?.opacity || "—"}
Thickness:{" "}
{setting.mat_thickness ? `${setting.mat_thickness} mm` : "Not Applicable"}
@@ -253,20 +243,13 @@ export default function CO2GalvoSettingDetailPage() {
{/* Setup */}
Setup
- {/* ✅ laser_soft is a string field */}
-
- Software: {setting.laser_soft || "—"}
-
-
- Repeat All (global): {setting.repeat_all ?? "—"}
-
-
- Focus: {setting.focus ?? "—"} mm
-
+
Software: {softwareLabel}
+
Repeat All (global): {setting.repeat_all ?? "—"}
+
Focus: {setting.focus ?? "—"} mm
-Values Focus Closer | +Values Focus Further
- {/* Laser (screenshot left, specs right; heading aligned above specs) */}
+ {/* Laser */}
@@ -292,9 +275,7 @@ export default function CO2GalvoSettingDetailPage() {
Laser
-
- Source Make: {setting.source?.make || "—"}
-
+
Source Make: {setting.source?.make || "—"}
Source Model:{" "}
{" "}
mm | {setting.lens?.focal_length || "—"}
-
- Lens Config: {setting.lens_conf?.name || "—"}
-
-
- Aperture Type: {setting.lens_apt?.name || "—"}
-
-
- Expansion Type: {setting.lens_exp?.name || "—"}
-
+
Lens Config: {setting.lens_conf?.name || "—"}
+
Aperture Type: {setting.lens_apt?.name || "—"}
+
Expansion Type: {setting.lens_exp?.name || "—"}