Add dedicated local admin domain routing

This commit is contained in:
MOH
2026-03-13 17:48:45 +01:00
parent bfd7adccac
commit fef44ded80
47 changed files with 260 additions and 107 deletions
+4 -4
View File
@@ -4,7 +4,7 @@ import { revalidatePath } from "next/cache";
import { redirect } from "next/navigation";
import { isRedirectError } from "next/dist/client/components/redirect-error";
import { toInternalAdminPath } from "@/lib/admin-routing";
import { getAdminAppPath, toInternalAdminPath } from "@/lib/admin-routing";
import { clearAdminSessionCookie, isAdminAuthenticated } from "@/lib/admin-auth";
import { updateMarqueeSettings } from "@/lib/app-config";
import { routing } from "@/i18n/routing";
@@ -13,7 +13,7 @@ import { getLocalizedPath } from "@/lib/locale";
async function ensureAdmin() {
if (!(await isAdminAuthenticated())) {
await clearAdminSessionCookie();
redirect("/");
redirect(getAdminAppPath("/"));
}
}
@@ -72,13 +72,13 @@ export async function saveMarqueeSettingsAction(formData: FormData) {
await updateMarqueeSettings(settings);
await revalidateMarqueePages();
redirect(withMessage("/marquee", "success", "Marquee gespeichert."));
redirect(withMessage(getAdminAppPath("/marquee"), "success", "Marquee gespeichert."));
} catch (error) {
if (isRedirectError(error)) {
throw error;
}
const message = error instanceof Error ? error.message : "Marquee konnte nicht gespeichert werden.";
redirect(withMessage("/marquee", "error", message));
redirect(withMessage(getAdminAppPath("/marquee"), "error", message));
}
}
+3 -2
View File
@@ -4,6 +4,7 @@ import { MarqueeSettingsForm } from "@/components/admin/marquee-settings-form";
import { AdminDashboardShell } from "@/components/admin/admin-dashboard-shell";
import { MotionFade } from "@/components/motion-fade";
import { clearAdminSessionCookie, isAdminAuthenticated } from "@/lib/admin-auth";
import { getAdminAppPath } from "@/lib/admin-routing";
import { getMarqueeSettings } from "@/lib/app-config";
import { saveMarqueeSettingsAction } from "./actions";
@@ -27,14 +28,14 @@ const copy = {
export default async function AdminMarqueePage() {
if (!(await isAdminAuthenticated())) {
redirect("/");
redirect(getAdminAppPath("/"));
}
async function logoutAction() {
"use server";
await clearAdminSessionCookie();
redirect("/");
redirect(getAdminAppPath("/"));
}
const marqueeSettings = await getMarqueeSettings();