Adjust test mode toggles for submitting product import

This commit is contained in:
2025-10-03 23:42:28 -04:00
parent 920c33d119
commit dadcf3b6c6

View File

@@ -45,15 +45,8 @@ export const ImageUploadStep = ({
const fileInputRefs = useRef<{ [key: number]: React.RefObject<HTMLInputElement> }>({});
const { user } = useContext(AuthContext);
const hasDebugPermission = Boolean(user?.is_admin || user?.permissions?.includes("admin:debug"));
const [targetEnvironment, setTargetEnvironment] = useState<SubmitOptions["targetEnvironment"]>(
hasDebugPermission ? "dev" : "prod"
);
const [useTestDataSource, setUseTestDataSource] = useState<boolean>(hasDebugPermission);
useEffect(() => {
setTargetEnvironment(hasDebugPermission ? "dev" : "prod");
setUseTestDataSource(hasDebugPermission);
}, [hasDebugPermission]);
const [targetEnvironment, setTargetEnvironment] = useState<SubmitOptions["targetEnvironment"]>("prod");
const [useTestDataSource, setUseTestDataSource] = useState<boolean>(false);
// Use our hook for product images initialization
const { productImages, setProductImages, getFullImageUrl } = useProductImagesInit(data);
@@ -302,45 +295,34 @@ export const ImageUploadStep = ({
</Button>
)}
<div className="flex flex-1 flex-wrap items-center justify-end gap-6">
<div className="flex flex-col gap-3 text-sm">
<div className="flex items-center gap-3">
<Switch
id="product-import-api-environment"
checked={targetEnvironment === "dev"}
disabled={!hasDebugPermission}
onCheckedChange={(checked) => setTargetEnvironment(checked ? "dev" : "prod")}
/>
<div>
<Label htmlFor="product-import-api-environment" className="text-sm font-medium">
Use development backend
</Label>
<p className="text-xs text-muted-foreground">
{targetEnvironment === "dev"
? "work-test-backend.acherryontop.com"
: "backend.acherryontop.com"}
</p>
{hasDebugPermission && (
<div className="flex gap-4 text-sm">
<div className="flex items-center gap-1">
<Switch
id="product-import-api-environment"
checked={targetEnvironment === "dev"}
onCheckedChange={(checked) => setTargetEnvironment(checked ? "dev" : "prod")}
/>
<div>
<Label htmlFor="product-import-api-environment" className="text-sm font-medium">
Use test API
</Label>
</div>
</div>
<div className="flex items-center gap-1">
<Switch
id="product-import-api-test-data"
checked={useTestDataSource}
onCheckedChange={(checked) => setUseTestDataSource(checked)}
/>
<div>
<Label htmlFor="product-import-api-test-data" className="text-sm font-medium">
Use test database
</Label>
</div>
</div>
</div>
<div className="flex items-center gap-3">
<Switch
id="product-import-api-test-data"
checked={useTestDataSource}
disabled={!hasDebugPermission}
onCheckedChange={(checked) => setUseTestDataSource(checked)}
/>
<div>
<Label htmlFor="product-import-api-test-data" className="text-sm font-medium">
Use test data source
</Label>
<p className="text-xs text-muted-foreground">Submit to the testing database</p>
</div>
</div>
{!hasDebugPermission && (
<p className="text-xs text-muted-foreground">
Requires admin:debug permission to change
</p>
)}
</div>
)}
<Button
className="min-w-[140px]"
onClick={handleSubmit}