mirror of
https://github.com/juherr/kill-the-news.git
synced 2026-06-20 22:03:48 +00:00
feat(admin): land on feed emails page after creation
This commit is contained in:
@@ -151,8 +151,10 @@ describe("Admin Routes", () => {
|
|||||||
body: formData,
|
body: formData,
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(res.status).toBe(302); // Redirects back to dashboard
|
expect(res.status).toBe(302); // Redirects to new feed's emails page
|
||||||
expect(res.headers.get("Location")).toBe("/admin?view=list#your-feeds");
|
expect(res.headers.get("Location")).toMatch(
|
||||||
|
/^\/admin\/feeds\/.+\/emails$/,
|
||||||
|
);
|
||||||
|
|
||||||
// Verify feed was created in KV
|
// Verify feed was created in KV
|
||||||
const feedList = (await mockEnv.EMAIL_STORAGE.get(
|
const feedList = (await mockEnv.EMAIL_STORAGE.get(
|
||||||
|
|||||||
@@ -70,7 +70,6 @@ feedsRouter.post("/create", async (c) => {
|
|||||||
let title: string;
|
let title: string;
|
||||||
let description: string | undefined;
|
let description: string | undefined;
|
||||||
let language: string;
|
let language: string;
|
||||||
let view: string;
|
|
||||||
let allowedSenders: string[];
|
let allowedSenders: string[];
|
||||||
let blockedSenders: string[];
|
let blockedSenders: string[];
|
||||||
let lifetimeHoursRaw: string | undefined;
|
let lifetimeHoursRaw: string | undefined;
|
||||||
@@ -81,7 +80,6 @@ feedsRouter.post("/create", async (c) => {
|
|||||||
description =
|
description =
|
||||||
body.description != null ? String(body.description) : undefined;
|
body.description != null ? String(body.description) : undefined;
|
||||||
language = String(body.language ?? "en");
|
language = String(body.language ?? "en");
|
||||||
view = "list";
|
|
||||||
allowedSenders = Array.isArray(body.allowedSenders)
|
allowedSenders = Array.isArray(body.allowedSenders)
|
||||||
? normalizeAllowedSenders(
|
? normalizeAllowedSenders(
|
||||||
(body.allowedSenders as unknown[]).map(String),
|
(body.allowedSenders as unknown[]).map(String),
|
||||||
@@ -99,7 +97,6 @@ feedsRouter.post("/create", async (c) => {
|
|||||||
title = formData.get("title")?.toString() || "";
|
title = formData.get("title")?.toString() || "";
|
||||||
description = formData.get("description")?.toString();
|
description = formData.get("description")?.toString();
|
||||||
language = formData.get("language")?.toString() || "en";
|
language = formData.get("language")?.toString() || "en";
|
||||||
view = formData.get("view")?.toString() === "table" ? "table" : "list";
|
|
||||||
allowedSenders = parseAllowedSenders(
|
allowedSenders = parseAllowedSenders(
|
||||||
formData.get("allowed_senders")?.toString() || "",
|
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) {
|
} catch (error) {
|
||||||
logger.error("Error creating feed", { error: String(error) });
|
logger.error("Error creating feed", { error: String(error) });
|
||||||
if (c.req.header("Content-Type")?.includes("application/json")) {
|
if (c.req.header("Content-Type")?.includes("application/json")) {
|
||||||
|
|||||||
Reference in New Issue
Block a user