Add fixed headers to all CMS editors for better UX

This commit is contained in:
Torsten Schulz (local)
2025-10-22 12:27:10 +02:00
parent 0d4bcc9f73
commit bc3b5b53f5
11 changed files with 652 additions and 620 deletions

View File

@@ -1,5 +1,5 @@
{ {
"date": "2025-10-22T10:20:19.573Z", "date": "2025-10-22T10:23:46.663Z",
"preset": "node-server", "preset": "node-server",
"framework": { "framework": {
"name": "nuxt", "name": "nuxt",

View File

@@ -1 +1 @@
{"id":"fa34e20f-fd84-462f-b931-f9ebc144d412","timestamp":1761128411371} {"id":"07e764de-d4d8-43ab-ab2c-01a62424c7ea","timestamp":1761128618570}

View File

@@ -351,7 +351,7 @@ const client_manifest = {
"module": true, "module": true,
"prefetch": true, "prefetch": true,
"preload": true, "preload": true,
"file": "CBoJCK0G.js", "file": "BZiMIH_u.js",
"name": "entry", "name": "entry",
"src": "node_modules/nuxt/dist/app/entry.js", "src": "node_modules/nuxt/dist/app/entry.js",
"isEntry": true, "isEntry": true,
@@ -414,7 +414,7 @@ const client_manifest = {
"module": true, "module": true,
"prefetch": true, "prefetch": true,
"preload": true, "preload": true,
"file": "LnZXxV0C.js", "file": "WTQgLZs1.js",
"name": "einstellungen", "name": "einstellungen",
"src": "pages/cms/einstellungen.vue", "src": "pages/cms/einstellungen.vue",
"isDynamicEntry": true, "isDynamicEntry": true,

View File

@@ -569,7 +569,7 @@ const _routes = [
name: "cms-einstellungen", name: "cms-einstellungen",
path: "/cms/einstellungen", path: "/cms/einstellungen",
meta: { ...__nuxt_page_meta$4 || {}, ...{ "middleware": "auth" } }, meta: { ...__nuxt_page_meta$4 || {}, ...{ "middleware": "auth" } },
component: () => import('./einstellungen-DZT9-xIS.mjs') component: () => import('./einstellungen-B6MpVlw0.mjs')
}, },
{ {
name: "verein-geschichte", name: "verein-geschichte",

View File

@@ -2,10 +2,10 @@ const interopDefault = r => r.default || r || [];
const styles = { const styles = {
"node_modules/nuxt/dist/app/components/error-404.vue": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-404.vue": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault),
"components/Hero.vue": () => import('./Hero-styles.03iOjY05.mjs').then(interopDefault),
"components/PublicNews.vue": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=b728498f&lang.css": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=b728498f&lang.css": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=70d84538&lang.css": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=70d84538&lang.css": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault),
"components/Hero.vue": () => import('./Hero-styles.03iOjY05.mjs').then(interopDefault),
"components/PublicNews.vue": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault),
"components/Hero.vue?vue&type=style&index=0&scoped=779d39d7&lang.css": () => import('./Hero-styles.03iOjY05.mjs').then(interopDefault), "components/Hero.vue?vue&type=style&index=0&scoped=779d39d7&lang.css": () => import('./Hero-styles.03iOjY05.mjs').then(interopDefault),
"components/PublicNews.vue?vue&type=style&index=0&scoped=f894f108&lang.css": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault) "components/PublicNews.vue?vue&type=style&index=0&scoped=f894f108&lang.css": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault)
}; };

File diff suppressed because it is too large Load Diff

View File

@@ -272,7 +272,7 @@ async function renderInlineStyles(usedModules) {
const renderSSRHeadOptions = {"omitLineBreaks":true}; const renderSSRHeadOptions = {"omitLineBreaks":true};
const entryFileName = "CBoJCK0G.js"; const entryFileName = "BZiMIH_u.js";
globalThis.__buildAssetsURL = buildAssetsURL; globalThis.__buildAssetsURL = buildAssetsURL;
globalThis.__publicAssetsURL = publicAssetsURL; globalThis.__publicAssetsURL = publicAssetsURL;

View File

@@ -1,24 +1,32 @@
<template> <template>
<div class="min-h-full py-16 bg-gray-50"> <div class="min-h-full bg-gray-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> <!-- Fixed Header -->
<div class="flex items-center justify-between mb-6"> <div class="fixed top-0 left-0 right-0 z-50 bg-white border-b border-gray-200 shadow-sm">
<div> <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
<h1 class="text-4xl sm:text-5xl font-display font-bold text-gray-900"> <div class="flex items-center justify-between">
Einstellungen <div>
</h1> <h1 class="text-4xl sm:text-5xl font-display font-bold text-gray-900">
<div class="w-24 h-1 bg-primary-600 mt-2" /> Einstellungen
</div> </h1>
<div class="space-x-3"> <div class="w-24 h-1 bg-primary-600 mt-2" />
<button </div>
@click="saveConfig" <div class="space-x-3">
class="inline-flex items-center px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700 disabled:opacity-50 disabled:cursor-not-allowed" <button
:disabled="isSaving" @click="saveConfig"
> class="inline-flex items-center px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700 disabled:opacity-50 disabled:cursor-not-allowed"
<Loader2 v-if="isSaving" :size="16" class="animate-spin mr-2" /> :disabled="isSaving"
{{ isSaving ? 'Speichern...' : 'Speichern' }} >
</button> <Loader2 v-if="isSaving" :size="16" class="animate-spin mr-2" />
{{ isSaving ? 'Speichern...' : 'Speichern' }}
</button>
</div>
</div> </div>
</div> </div>
</div>
<!-- Content with top padding -->
<div class="pt-24 pb-16">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<!-- Loading State --> <!-- Loading State -->
<div v-if="isLoading" class="flex items-center justify-center py-12"> <div v-if="isLoading" class="flex items-center justify-center py-12">

View File

@@ -1,12 +1,20 @@
<template> <template>
<div class="min-h-full py-16 bg-gray-50"> <div class="min-h-full bg-gray-50">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8"> <!-- Fixed Header -->
<div class="flex items-center justify-between mb-6"> <div class="fixed top-0 left-0 right-0 z-50 bg-white border-b border-gray-200 shadow-sm">
<h1 class="text-3xl sm:text-4xl font-display font-bold text-gray-900">Geschichte bearbeiten</h1> <div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
<div class="space-x-3"> <div class="flex items-center justify-between">
<button @click="save" class="inline-flex items-center px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700">Speichern</button> <h1 class="text-3xl sm:text-4xl font-display font-bold text-gray-900">Geschichte bearbeiten</h1>
<div class="space-x-3">
<button @click="save" class="inline-flex items-center px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700">Speichern</button>
</div>
</div> </div>
</div> </div>
</div>
<!-- Content with top padding -->
<div class="pt-24 pb-16">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="bg-white rounded-xl shadow-sm border border-gray-200 p-4"> <div class="bg-white rounded-xl shadow-sm border border-gray-200 p-4">
<div class="flex flex-wrap items-center gap-2 mb-3"> <div class="flex flex-wrap items-center gap-2 mb-3">

View File

@@ -1,12 +1,20 @@
<template> <template>
<div class="min-h-full py-16 bg-gray-50"> <div class="min-h-full bg-gray-50">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8"> <!-- Fixed Header -->
<div class="flex items-center justify-between mb-6"> <div class="fixed top-0 left-0 right-0 z-50 bg-white border-b border-gray-200 shadow-sm">
<h1 class="text-3xl sm:text-4xl font-display font-bold text-gray-900">TT-Regeln bearbeiten</h1> <div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
<div class="space-x-3"> <div class="flex items-center justify-between">
<button @click="save" class="inline-flex items-center px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700">Speichern</button> <h1 class="text-3xl sm:text-4xl font-display font-bold text-gray-900">TT-Regeln bearbeiten</h1>
<div class="space-x-3">
<button @click="save" class="inline-flex items-center px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700">Speichern</button>
</div>
</div> </div>
</div> </div>
</div>
<!-- Content with top padding -->
<div class="pt-24 pb-16">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="bg-white rounded-xl shadow-sm border border-gray-200 p-4"> <div class="bg-white rounded-xl shadow-sm border border-gray-200 p-4">
<div class="flex flex-wrap items-center gap-2 mb-3"> <div class="flex flex-wrap items-center gap-2 mb-3">

View File

@@ -1,12 +1,20 @@
<template> <template>
<div class="min-h-full py-16 bg-gray-50"> <div class="min-h-full bg-gray-50">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8"> <!-- Fixed Header -->
<div class="flex items-center justify-between mb-6"> <div class="fixed top-0 left-0 right-0 z-50 bg-white border-b border-gray-200 shadow-sm">
<h1 class="text-3xl sm:text-4xl font-display font-bold text-gray-900">Über uns bearbeiten</h1> <div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
<div class="space-x-3"> <div class="flex items-center justify-between">
<button @click="save" class="inline-flex items-center px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700">Speichern</button> <h1 class="text-3xl sm:text-4xl font-display font-bold text-gray-900">Über uns bearbeiten</h1>
<div class="space-x-3">
<button @click="save" class="inline-flex items-center px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700">Speichern</button>
</div>
</div> </div>
</div> </div>
</div>
<!-- Content with top padding -->
<div class="pt-24 pb-16">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="bg-white rounded-xl shadow-sm border border-gray-200 p-4"> <div class="bg-white rounded-xl shadow-sm border border-gray-200 p-4">
<div class="flex flex-wrap items-center gap-2 mb-3"> <div class="flex flex-wrap items-center gap-2 mb-3">