fix: revalidate /customize (not /settings) after customize-panel mutations

The invites/onboarding/areas/roles/tiers admin panels moved to /customize, but
their actions still revalidated the old /settings route, so the /customize
Router Cache went stale after a write. Point them at /customize (keeping the
other cross-page revalidations).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
Moheeb Zara
2026-08-04 19:10:52 -07:00
co-authored by Claude Opus 4.8
parent 2dbd52e2e4
commit 33b2475e67
5 changed files with 18 additions and 18 deletions
+3 -3
View File
@@ -41,7 +41,7 @@ export async function createArea(formData: {
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
revalidatePath('/tasks')
revalidatePath('/projects')
revalidatePath('/ops')
@@ -75,7 +75,7 @@ export async function updateArea(formData: {
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
revalidatePath('/tasks')
revalidatePath('/projects')
revalidatePath('/ops')
@@ -103,7 +103,7 @@ export async function deleteArea(areaId: string) {
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
revalidatePath('/tasks')
revalidatePath('/projects')
revalidatePath('/ops')
+3 -3
View File
@@ -81,7 +81,7 @@ export async function createInvite(input: {
.single()
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { id: data.id, code: data.code }
}
@@ -143,7 +143,7 @@ export async function updateInvite(inviteId: string, updates: {
.eq('space_id', member.space_id)
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
@@ -163,6 +163,6 @@ export async function deleteInvite(inviteId: string) {
.eq('space_id', member.space_id)
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
+3 -3
View File
@@ -56,7 +56,7 @@ export async function createOnboardingStep(input: {
.single()
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { id: data.id }
}
@@ -93,7 +93,7 @@ export async function updateOnboardingStep(stepId: string, updates: {
.eq('space_id', member.space_id)
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
@@ -115,7 +115,7 @@ export async function deleteOnboardingStep(stepId: string) {
if (error) return { error: error.message }
if (count === 0) return { error: 'Built-in steps cannot be deleted. Disable it instead.' }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
+6 -6
View File
@@ -39,7 +39,7 @@ export async function upsertRoleLabel(input: {
}, { onConflict: 'space_id,role' })
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
@@ -72,7 +72,7 @@ export async function createCustomRole(input: {
.single()
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { id: data.id }
}
@@ -105,7 +105,7 @@ export async function updateCustomRole(roleId: string, updates: {
.eq('space_id', member.space_id)
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
@@ -125,7 +125,7 @@ export async function deleteCustomRole(roleId: string) {
.eq('space_id', member.space_id)
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
@@ -164,7 +164,7 @@ export async function assignCustomRole(memberId: string, customRoleId: string) {
if (error) return { error: error.message }
revalidatePath('/members')
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
@@ -185,6 +185,6 @@ export async function unassignCustomRole(memberId: string, customRoleId: string)
if (error) return { error: error.message }
revalidatePath('/members')
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
+3 -3
View File
@@ -39,7 +39,7 @@ export async function createTier(input: {
.single()
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { id: data.id }
}
@@ -76,7 +76,7 @@ export async function updateTier(tierId: string, updates: {
.eq('space_id', member.space_id)
if (error) return { error: error.message }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}
@@ -98,6 +98,6 @@ export async function deleteTier(tierId: string) {
if (error) return { error: error.message }
if (count === 0) return { error: 'Cannot delete a built-in tier. Archive it instead.' }
revalidatePath('/settings')
revalidatePath('/customize')
return { success: true as const }
}