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
@@ -14,7 +14,7 @@ import {
SITE_SETTINGS_LOGO_LIGHT_FIELD_KEY,
updateSiteSettings,
} from "@/lib/app-config";
import { toInternalAdminPath } from "@/lib/admin-routing";
import { getAdminAppPath, toInternalAdminPath } from "@/lib/admin-routing";
import { PAGE_TITLE_TOKEN, type SiteSettings } from "@/lib/site-settings";
import { clearAdminSessionCookie, isAdminAuthenticated } from "@/lib/admin-auth";
import { replaceEntityMediaUsages } from "@/lib/media";
@@ -28,7 +28,7 @@ import { prisma } from "@/lib/prisma";
async function ensureAdmin() {
if (!(await isAdminAuthenticated())) {
await clearAdminSessionCookie();
redirect("/");
redirect(getAdminAppPath("/"));
}
}
@@ -278,7 +278,7 @@ export async function saveSiteSettingsAction(formData: FormData) {
});
await revalidateSiteSettingsPages();
redirect(withMessage("/site-settings", "success", "Einstellungen gespeichert."));
redirect(withMessage(getAdminAppPath("/site-settings"), "success", "Einstellungen gespeichert."));
} catch (error) {
if (isRedirectError(error)) {
throw error;
@@ -291,6 +291,6 @@ export async function saveSiteSettingsAction(formData: FormData) {
? error.message
: "Einstellungen konnten nicht gespeichert werden.";
redirect(withMessage("/site-settings", "error", message));
redirect(withMessage(getAdminAppPath("/site-settings"), "error", message));
}
}
+3 -2
View File
@@ -5,6 +5,7 @@ import { MotionFade } from "@/components/motion-fade";
import { SiteSettingsForm } from "@/components/admin/site-settings-form";
import { AdminDashboardShell } from "@/components/admin/admin-dashboard-shell";
import { clearAdminSessionCookie, isAdminAuthenticated } from "@/lib/admin-auth";
import { getAdminAppPath } from "@/lib/admin-routing";
import {
getSiteSettings,
getSiteSettingsMediaBindings,
@@ -31,14 +32,14 @@ const copy = {
export default async function AdminSiteSettingsPage() {
if (!(await isAdminAuthenticated())) {
redirect("/");
redirect(getAdminAppPath("/"));
}
async function logoutAction() {
"use server";
await clearAdminSessionCookie();
redirect("/");
redirect(getAdminAppPath("/"));
}
const [siteSettings, mediaBindings, mediaOptions] = await Promise.all([