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