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:
co-authored by
Claude Opus 4.8
parent
2dbd52e2e4
commit
33b2475e67
@@ -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')
|
||||
|
||||
@@ -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 }
|
||||
}
|
||||
|
||||
@@ -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 }
|
||||
}
|
||||
|
||||
|
||||
@@ -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 }
|
||||
}
|
||||
|
||||
@@ -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 }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user