feat: refine data retention adjustment logic in SiteSettingsPage to snap to nearest valid option upon subscription load

This commit is contained in:
Usman Baig
2026-02-21 19:58:48 +01:00
parent 98eef9c366
commit d1d82f5b3c
2 changed files with 4 additions and 3 deletions

View File

@@ -109,7 +109,7 @@ export default function SiteSettingsPage() {
}
}
// * Clamp data_retention_months when subscription loads: if current value exceeds plan max, sync to max
// * Snap data_retention_months to nearest valid option when subscription loads
useEffect(() => {
if (!subscription) return
const opts = getRetentionOptionsForPlan(subscription.plan_id)
@@ -117,7 +117,8 @@ export default function SiteSettingsPage() {
const maxVal = Math.max(...values)
setFormData(prev => {
if (values.includes(prev.data_retention_months)) return prev
return { ...prev, data_retention_months: Math.min(prev.data_retention_months, maxVal) }
const bestFit = values.filter(v => v <= prev.data_retention_months).pop() ?? maxVal
return { ...prev, data_retention_months: Math.min(bestFit, maxVal) }
})
}, [subscription])