diff --git a/app/routes/badges/$id/edit.tsx b/app/routes/badges/$id/edit.tsx index 3edf5ab8f..fcdcaeadd 100644 --- a/app/routes/badges/$id/edit.tsx +++ b/app/routes/badges/$id/edit.tsx @@ -9,6 +9,7 @@ import { UserCombobox } from "~/components/Combobox"; import { TrashIcon } from "~/components/icons/Trash"; import { z } from "zod"; import { actualNumber, noDuplicates, safeJSONParse, id } from "~/utils/zod"; +import { redirect } from "@remix-run/node"; import type { ActionFunction } from "@remix-run/node"; import { requireUser, useUser } from "~/modules/auth"; import { parseRequestFormData, validate } from "~/utils/remix"; @@ -16,6 +17,7 @@ import { canEditBadgeManagers, canEditBadgeOwners } from "~/permissions"; import { assertUnreachable } from "~/utils/types"; import { db } from "~/db"; import type { User } from "~/db/types"; +import { badgePage } from "~/utils/urls"; const editBadgeActionSchema = z.union([ z.object({ @@ -59,7 +61,7 @@ export const action: ActionFunction = async ({ request, params }) => { } } - return null; + return redirect(badgePage(badgeId)); }; export default function EditBadgePage() { diff --git a/app/utils/urls.ts b/app/utils/urls.ts index 82e707767..60ef8d586 100644 --- a/app/utils/urls.ts +++ b/app/utils/urls.ts @@ -15,6 +15,7 @@ export const STOP_IMPERSONATING_URL = "/auth/impersonate/stop"; export const userPage = (discordId: string) => `/u/${discordId}`; export const impersonateUrl = (idToLogInAs: number) => `/auth/impersonate?id=${idToLogInAs}`; +export const badgePage = (badgeId: number) => `${BADGES_PAGE}/${badgeId}`; export const badgeUrl = ({ code, diff --git a/cypress/e2e/badges.cy.ts b/cypress/e2e/badges.cy.ts index 891e14be5..f5d08b39e 100644 --- a/cypress/e2e/badges.cy.ts +++ b/cypress/e2e/badges.cy.ts @@ -26,8 +26,7 @@ describe("Plus suggestions page", () => { cy.getCy("new-manager-combobox-input").clear().type("Sendou{enter}"); cy.contains("2 changes").click(); - cy.reload(); - cy.getCy("manager").contains("Sendou"); + cy.contains("Managed by Sendou"); }); it("edits adds badge owner", function () { @@ -41,7 +40,6 @@ describe("Plus suggestions page", () => { cy.getCy("owner-count-input").last().type("1"); // new count = 11 cy.contains("1 change").click(); - cy.contains("Cancel").click(); cy.contains("11"); });