feat(admin): land on feed emails page after creation

This commit is contained in:
Julien Herr
2026-05-25 09:14:48 +02:00
parent f44c6c1eda
commit 7019800769
2 changed files with 5 additions and 6 deletions
+4 -2
View File
@@ -151,8 +151,10 @@ describe("Admin Routes", () => {
body: formData,
});
expect(res.status).toBe(302); // Redirects back to dashboard
expect(res.headers.get("Location")).toBe("/admin?view=list#your-feeds");
expect(res.status).toBe(302); // Redirects to new feed's emails page
expect(res.headers.get("Location")).toMatch(
/^\/admin\/feeds\/.+\/emails$/,
);
// Verify feed was created in KV
const feedList = (await mockEnv.EMAIL_STORAGE.get(
+1 -4
View File
@@ -70,7 +70,6 @@ feedsRouter.post("/create", async (c) => {
let title: string;
let description: string | undefined;
let language: string;
let view: string;
let allowedSenders: string[];
let blockedSenders: string[];
let lifetimeHoursRaw: string | undefined;
@@ -81,7 +80,6 @@ feedsRouter.post("/create", async (c) => {
description =
body.description != null ? String(body.description) : undefined;
language = String(body.language ?? "en");
view = "list";
allowedSenders = Array.isArray(body.allowedSenders)
? normalizeAllowedSenders(
(body.allowedSenders as unknown[]).map(String),
@@ -99,7 +97,6 @@ feedsRouter.post("/create", async (c) => {
title = formData.get("title")?.toString() || "";
description = formData.get("description")?.toString();
language = formData.get("language")?.toString() || "en";
view = formData.get("view")?.toString() === "table" ? "table" : "list";
allowedSenders = parseAllowedSenders(
formData.get("allowed_senders")?.toString() || "",
);
@@ -138,7 +135,7 @@ feedsRouter.post("/create", async (c) => {
});
}
return c.redirect(`/admin?view=${view}#your-feeds`);
return c.redirect(`/admin/feeds/${feedId}/emails`);
} catch (error) {
logger.error("Error creating feed", { error: String(error) });
if (c.req.header("Content-Type")?.includes("application/json")) {