Skip to content

Commit fd78c44

Browse files
committed
confirmation dialog
1 parent d8c8c1a commit fd78c44

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

web/components/templates/admin/orgSearch.tsx

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1748,6 +1748,7 @@ const HeliconePricingSection = ({
17481748
pricingConfig?.heliconePricingMultiplier?.toString() || "1.0",
17491749
);
17501750
const [isSaving, setIsSaving] = useState(false);
1751+
const [confirmDialogOpen, setConfirmDialogOpen] = useState(false);
17511752

17521753
const currentMultiplier = pricingConfig?.heliconePricingMultiplier || 1.0;
17531754

@@ -1783,7 +1784,13 @@ const HeliconePricingSection = ({
17831784
setNotification("Multiplier must be between 0 and 2", "error");
17841785
return;
17851786
}
1787+
setConfirmDialogOpen(true);
1788+
};
1789+
1790+
const confirmSave = () => {
1791+
const value = parseFloat(multiplier);
17861792
setIsSaving(true);
1793+
setConfirmDialogOpen(false);
17871794
updatePricingMutation.mutate(value);
17881795
};
17891796

@@ -1829,6 +1836,57 @@ const HeliconePricingSection = ({
18291836
: " (no discount)"}
18301837
</Muted>
18311838
</div>
1839+
1840+
<Dialog open={confirmDialogOpen} onOpenChange={setConfirmDialogOpen}>
1841+
<DialogContent>
1842+
<DialogHeader>
1843+
<DialogTitle>Confirm Pricing Change</DialogTitle>
1844+
<DialogDescription>
1845+
Are you sure you want to update the pricing multiplier from{" "}
1846+
<strong>{currentMultiplier}x</strong> to{" "}
1847+
<strong>{parseFloat(multiplier)}x</strong>?
1848+
{parseFloat(multiplier) < 1 && (
1849+
<>
1850+
{" "}
1851+
This will apply a{" "}
1852+
<strong>
1853+
{((1 - parseFloat(multiplier)) * 100).toFixed(0)}% discount
1854+
</strong>{" "}
1855+
to all Helicone inference costs for this organization.
1856+
</>
1857+
)}
1858+
{parseFloat(multiplier) > 1 && (
1859+
<>
1860+
{" "}
1861+
This will apply a{" "}
1862+
<strong>
1863+
{((parseFloat(multiplier) - 1) * 100).toFixed(0)}% markup
1864+
</strong>{" "}
1865+
to all Helicone inference costs for this organization.
1866+
</>
1867+
)}
1868+
</DialogDescription>
1869+
</DialogHeader>
1870+
<div className="flex justify-end gap-2">
1871+
<Button
1872+
variant="outline"
1873+
onClick={() => setConfirmDialogOpen(false)}
1874+
>
1875+
Cancel
1876+
</Button>
1877+
<Button onClick={confirmSave} disabled={isSaving}>
1878+
{isSaving ? (
1879+
<>
1880+
<Loader2 size={16} className="mr-2 animate-spin" />
1881+
Updating...
1882+
</>
1883+
) : (
1884+
"Confirm"
1885+
)}
1886+
</Button>
1887+
</div>
1888+
</DialogContent>
1889+
</Dialog>
18321890
</div>
18331891
);
18341892
};

0 commit comments

Comments
 (0)