Verbessere Lesbarkeit und Navigation im CMS
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import type { AdminViewServerProps } from "payload";
|
||||
import Link from "next/link";
|
||||
import { canViewAnalytics } from "@/access";
|
||||
import { RANGE_OPTIONS, resolveRange } from "@/lib/analytics/range";
|
||||
import { getDashboardComparison, percentDelta, type DashboardStats } from "@/lib/analytics/dashboardQueries";
|
||||
@@ -73,6 +74,7 @@ export async function AdminAnalyticsView({ initPageResult }: AdminViewServerProp
|
||||
if (!canViewAnalytics({ req })) {
|
||||
return (
|
||||
<div className={styles.page}>
|
||||
<Link href="/admin" className="anouma-admin-back">Zur Übersicht</Link>
|
||||
<h1 className={styles.title}>Auswertung</h1>
|
||||
<p className={styles.subtitle}>Du hast keine Berechtigung, diesen Bereich zu sehen.</p>
|
||||
</div>
|
||||
@@ -102,6 +104,7 @@ export async function AdminAnalyticsView({ initPageResult }: AdminViewServerProp
|
||||
|
||||
return (
|
||||
<div className={styles.page}>
|
||||
<Link href="/admin" className="anouma-admin-back">Zur Übersicht</Link>
|
||||
<h1 className={styles.title}>Auswertung</h1>
|
||||
<p className={styles.subtitle}>Datensparsame Reichweitenmessung ohne personenbezogene Profile. Rohdaten werden {maxDaysBack} Tage aufbewahrt.</p>
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { AdminViewServerProps } from "payload";
|
||||
import Link from "next/link";
|
||||
import { getAdminCalendarItems, type AdminCalendarItem } from "@/lib/booking/adminCalendar";
|
||||
import { berlinParts } from "@/lib/calendar/timezone";
|
||||
import { CalendarFeedPanel } from "./CalendarFeedPanel";
|
||||
@@ -98,6 +99,7 @@ export async function AdminCalendarView({ initPageResult }: AdminViewServerProps
|
||||
|
||||
return (
|
||||
<div className={styles.page}>
|
||||
<Link href="/admin" className="anouma-admin-back">Zur Übersicht</Link>
|
||||
<h1 className={styles.title}>Kalender</h1>
|
||||
<p className={styles.subtitle}>
|
||||
Alle bestätigten und vorgeschlagenen Termine, private Einzelbuchungen und öffentliche Veranstaltungen.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
type Conversation = { id: string; subject: string; name: string; email: string; status: string; lastMessageAt?: string };
|
||||
@@ -64,7 +65,8 @@ export function AdminConversationsView() {
|
||||
|
||||
return (
|
||||
<main style={{ maxWidth: 1200, padding: "32px 24px" }}>
|
||||
<h1 style={{ margin: 0, fontSize: 28 }}>Anfragen & Nachrichten</h1>
|
||||
<Link href="/admin" className="anouma-admin-back">Zur Übersicht</Link>
|
||||
<h1 style={{ margin: "18px 0 0", fontSize: 28 }}>Anfragen und Nachrichten</h1>
|
||||
<p style={{ margin: "8px 0 24px", color: "#66505f" }}>Kontakt- und Terminanfragen zentral bearbeiten. Antworten werden automatisch per E-Mail verschickt.</p>
|
||||
{error && <p style={{ color: "#a33", marginBottom: 16 }}>{error}</p>}
|
||||
<div style={{ display: "grid", gridTemplateColumns: "minmax(260px, .8fr) minmax(0, 1.4fr)", gap: 20, minHeight: 560 }}>
|
||||
|
||||
@@ -13,7 +13,6 @@ export function AdminWelcome() {
|
||||
<div className="anouma-admin-welcome__intro">
|
||||
<p className="anouma-admin-eyebrow">Anouma Verwaltung</p>
|
||||
<h1 id="anouma-admin-welcome-title">Was möchtest du heute erledigen?</h1>
|
||||
<p>Hier findest du die wichtigsten Bereiche für Website, Anfragen und Termine an einem Ort.</p>
|
||||
</div>
|
||||
<div className="anouma-admin-quicklinks">
|
||||
{links.map((link, index) => (
|
||||
|
||||
Reference in New Issue
Block a user