Verbessere Lesbarkeit und Navigation im CMS
This commit is contained in:
@@ -100,6 +100,21 @@ select {
|
|||||||
.step-nav {
|
.step-nav {
|
||||||
background: var(--anouma-paper);
|
background: var(--anouma-paper);
|
||||||
border-bottom: 1px solid var(--anouma-line);
|
border-bottom: 1px solid var(--anouma-line);
|
||||||
|
color: var(--anouma-plum);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-header a,
|
||||||
|
.app-header button,
|
||||||
|
.step-nav a,
|
||||||
|
.step-nav span,
|
||||||
|
.step-nav label {
|
||||||
|
color: var(--anouma-plum);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-header svg,
|
||||||
|
.step-nav svg {
|
||||||
|
color: var(--anouma-plum);
|
||||||
|
fill: currentColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.template-default__wrap,
|
.template-default__wrap,
|
||||||
@@ -196,6 +211,81 @@ select:focus,
|
|||||||
background: #fbf7f4;
|
background: #fbf7f4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.collections {
|
||||||
|
color: var(--anouma-ink);
|
||||||
|
}
|
||||||
|
|
||||||
|
.collections__group {
|
||||||
|
margin-bottom: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collections__label {
|
||||||
|
color: var(--anouma-ink) !important;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 650;
|
||||||
|
letter-spacing: -0.015em;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collections__card-list {
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collections .card {
|
||||||
|
background: var(--anouma-paper) !important;
|
||||||
|
border: 1px solid var(--anouma-line);
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: 0 8px 22px rgb(52 44 49 / 5%);
|
||||||
|
color: var(--anouma-ink) !important;
|
||||||
|
min-height: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collections .card:hover {
|
||||||
|
border-color: var(--anouma-mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.collections .card__title {
|
||||||
|
color: var(--anouma-ink) !important;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collections .card__actions .btn {
|
||||||
|
color: var(--anouma-mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
.rs__control {
|
||||||
|
background: var(--anouma-paper) !important;
|
||||||
|
color: var(--anouma-ink) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea::placeholder,
|
||||||
|
input::placeholder {
|
||||||
|
color: #8b7b81;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anouma-admin-back {
|
||||||
|
align-items: center;
|
||||||
|
border: 1px solid var(--anouma-line);
|
||||||
|
border-radius: 4px;
|
||||||
|
color: var(--anouma-plum);
|
||||||
|
display: inline-flex;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 650;
|
||||||
|
padding: 8px 12px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anouma-admin-back:hover,
|
||||||
|
.anouma-admin-back:focus-visible {
|
||||||
|
background: var(--anouma-paper);
|
||||||
|
border-color: var(--anouma-mauve);
|
||||||
|
color: var(--anouma-ink);
|
||||||
|
}
|
||||||
|
|
||||||
.anouma-admin-welcome {
|
.anouma-admin-welcome {
|
||||||
background: var(--anouma-paper);
|
background: var(--anouma-paper);
|
||||||
border: 1px solid var(--anouma-line);
|
border: 1px solid var(--anouma-line);
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import type { AdminViewServerProps } from "payload";
|
import type { AdminViewServerProps } from "payload";
|
||||||
|
import Link from "next/link";
|
||||||
import { canViewAnalytics } from "@/access";
|
import { canViewAnalytics } from "@/access";
|
||||||
import { RANGE_OPTIONS, resolveRange } from "@/lib/analytics/range";
|
import { RANGE_OPTIONS, resolveRange } from "@/lib/analytics/range";
|
||||||
import { getDashboardComparison, percentDelta, type DashboardStats } from "@/lib/analytics/dashboardQueries";
|
import { getDashboardComparison, percentDelta, type DashboardStats } from "@/lib/analytics/dashboardQueries";
|
||||||
@@ -73,6 +74,7 @@ export async function AdminAnalyticsView({ initPageResult }: AdminViewServerProp
|
|||||||
if (!canViewAnalytics({ req })) {
|
if (!canViewAnalytics({ req })) {
|
||||||
return (
|
return (
|
||||||
<div className={styles.page}>
|
<div className={styles.page}>
|
||||||
|
<Link href="/admin" className="anouma-admin-back">Zur Übersicht</Link>
|
||||||
<h1 className={styles.title}>Auswertung</h1>
|
<h1 className={styles.title}>Auswertung</h1>
|
||||||
<p className={styles.subtitle}>Du hast keine Berechtigung, diesen Bereich zu sehen.</p>
|
<p className={styles.subtitle}>Du hast keine Berechtigung, diesen Bereich zu sehen.</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -102,6 +104,7 @@ export async function AdminAnalyticsView({ initPageResult }: AdminViewServerProp
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.page}>
|
<div className={styles.page}>
|
||||||
|
<Link href="/admin" className="anouma-admin-back">Zur Übersicht</Link>
|
||||||
<h1 className={styles.title}>Auswertung</h1>
|
<h1 className={styles.title}>Auswertung</h1>
|
||||||
<p className={styles.subtitle}>Datensparsame Reichweitenmessung ohne personenbezogene Profile. Rohdaten werden {maxDaysBack} Tage aufbewahrt.</p>
|
<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 type { AdminViewServerProps } from "payload";
|
||||||
|
import Link from "next/link";
|
||||||
import { getAdminCalendarItems, type AdminCalendarItem } from "@/lib/booking/adminCalendar";
|
import { getAdminCalendarItems, type AdminCalendarItem } from "@/lib/booking/adminCalendar";
|
||||||
import { berlinParts } from "@/lib/calendar/timezone";
|
import { berlinParts } from "@/lib/calendar/timezone";
|
||||||
import { CalendarFeedPanel } from "./CalendarFeedPanel";
|
import { CalendarFeedPanel } from "./CalendarFeedPanel";
|
||||||
@@ -98,6 +99,7 @@ export async function AdminCalendarView({ initPageResult }: AdminViewServerProps
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.page}>
|
<div className={styles.page}>
|
||||||
|
<Link href="/admin" className="anouma-admin-back">Zur Übersicht</Link>
|
||||||
<h1 className={styles.title}>Kalender</h1>
|
<h1 className={styles.title}>Kalender</h1>
|
||||||
<p className={styles.subtitle}>
|
<p className={styles.subtitle}>
|
||||||
Alle bestätigten und vorgeschlagenen Termine, private Einzelbuchungen und öffentliche Veranstaltungen.
|
Alle bestätigten und vorgeschlagenen Termine, private Einzelbuchungen und öffentliche Veranstaltungen.
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
|
import Link from "next/link";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
|
|
||||||
type Conversation = { id: string; subject: string; name: string; email: string; status: string; lastMessageAt?: string };
|
type Conversation = { id: string; subject: string; name: string; email: string; status: string; lastMessageAt?: string };
|
||||||
@@ -64,7 +65,8 @@ export function AdminConversationsView() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<main style={{ maxWidth: 1200, padding: "32px 24px" }}>
|
<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>
|
<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>}
|
{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 }}>
|
<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">
|
<div className="anouma-admin-welcome__intro">
|
||||||
<p className="anouma-admin-eyebrow">Anouma Verwaltung</p>
|
<p className="anouma-admin-eyebrow">Anouma Verwaltung</p>
|
||||||
<h1 id="anouma-admin-welcome-title">Was möchtest du heute erledigen?</h1>
|
<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>
|
||||||
<div className="anouma-admin-quicklinks">
|
<div className="anouma-admin-quicklinks">
|
||||||
{links.map((link, index) => (
|
{links.map((link, index) => (
|
||||||
|
|||||||
Reference in New Issue
Block a user