diff --git a/app/routes/leagues/$leagueId.settings.server.ts b/app/routes/leagues/$leagueId.settings.server.ts index eac2b50..5120899 100644 --- a/app/routes/leagues/$leagueId.settings.server.ts +++ b/app/routes/leagues/$leagueId.settings.server.ts @@ -268,7 +268,7 @@ export async function action(args: Route.ActionArgs) { const season = await findCurrentSeasonWithSports(leagueId); if (!season) { if (intent === "update") { - return redirect(`/leagues/${leagueId}?updated=true`); + return { success: true, message: "Settings saved successfully.", intent: "update" as const }; } return { error: "No active season found" }; } @@ -776,7 +776,7 @@ export async function action(args: Route.ActionArgs) { } } - return { success: true, message: "Settings saved successfully." }; + return { success: true, message: "Settings saved successfully.", intent: "update" as const }; } catch (error) { logger.error("Error updating season settings:", error); return { error: "Failed to update season settings. Please try again." }; diff --git a/app/routes/leagues/$leagueId.settings.tsx b/app/routes/leagues/$leagueId.settings.tsx index e48f4f4..3356cfe 100644 --- a/app/routes/leagues/$leagueId.settings.tsx +++ b/app/routes/leagues/$leagueId.settings.tsx @@ -190,8 +190,8 @@ export default function LeagueSettings({ loaderData, actionData }: Route.Compone useEffect(() => { if (navigation.state !== "idle") return; - if (actionData && "success" in actionData && actionData.success && !("section" in actionData)) { - toast.success("Settings saved!"); + if (actionData && "intent" in actionData && actionData.intent === "update" && actionData.success) { + toast.success(actionData.message ?? "Settings saved!"); setHasUnsavedSettingsChanges(false); } }, [actionData, navigation.state]);