From 99ec18c8f7f6383eb4d8b15254b45e245acc09bf Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Wed, 8 Apr 2026 08:54:31 +0200 Subject: [PATCH] Enhance project structure and styling: Update .gitignore to exclude build artifacts and uploads, modify package.json to streamline the build process, and refactor HTML and Vue components for improved layout and accessibility. Add new CSS styles for better presentation in ContactRender, EventRender, WorshipRender, and ImageContent components. --- .gitignore | 8 ++ package.json | 2 +- public/index.html | 20 +++- src/assets/css/content-cards.css | 89 ++++++++++++++++ src/components/ContactRender.vue | 79 +++++++++------ src/components/EventRender.vue | 108 +++++++++----------- src/components/WorshipRender.vue | 168 +++++++++++++++++++------------ src/content/ImageContent.vue | 20 ++-- src/main.js | 1 + 9 files changed, 332 insertions(+), 163 deletions(-) create mode 100644 src/assets/css/content-cards.css diff --git a/.gitignore b/.gitignore index a3858f8..c6d04ad 100644 --- a/.gitignore +++ b/.gitignore @@ -27,5 +27,13 @@ server.key server.cert public/images/uploads/1ba24ea7-f52c-4179-896f-1909269cab58.jpg + +# Vue Build-Artefakte (werden beim Deploy generiert) +public/js/ +public/css/ +public/**/*.map + +# Uploads/Runtime-Dateien nicht versionieren +public/images/uploads/ actualize.sh files/uploads/GD 24.08.2025-04.01.2026 Stand 12.08.2025.docx diff --git a/package.json b/package.json index 8e6f135..c9b6490 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "serve": "vue-cli-service serve", - "build": "vue-cli-service build && npm run copy-dist", + "build": "vue-cli-service build", "copy-dist": "cp -r dist/* public/", "lint": "vue-cli-service lint" }, diff --git a/public/index.html b/public/index.html index 1654a3d..d66d924 100644 --- a/public/index.html +++ b/public/index.html @@ -1 +1,19 @@ -miriamgemeinde
\ No newline at end of file + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + +
+ + \ No newline at end of file diff --git a/src/assets/css/content-cards.css b/src/assets/css/content-cards.css new file mode 100644 index 0000000..d5cfae8 --- /dev/null +++ b/src/assets/css/content-cards.css @@ -0,0 +1,89 @@ +/** + * Phase 3 – Inhaltsmodule als Karten (ruhig, seriös, wiederverwendbar). + */ +.mg-stack { + display: grid; + gap: var(--space-4); +} + +.mg-card { + background: var(--color-bg-page); + border: 1px solid rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: var(--space-4); +} + +.mg-card--highlight { + border-color: var(--color-brand-primary); + box-shadow: 0 0 0 1px rgba(148, 0, 255, 0.18); +} + +.mg-card__grid { + display: grid; + grid-template-columns: 160px 1fr; + gap: var(--space-4); + align-items: start; +} + +@media (max-width: 640px) { + .mg-card__grid { + grid-template-columns: 1fr; + } +} + +.mg-media { + width: 100%; + aspect-ratio: 4 / 3; + border-radius: 6px; + overflow: hidden; + background: var(--color-bg-subtle); + border: 1px solid rgba(0, 0, 0, 0.08); +} + +.mg-media > img { + width: 100%; + height: 100%; + display: block; + object-fit: cover; +} + +.mg-title { + margin: 0 0 var(--space-2) 0; + font-weight: 600; +} + +.mg-meta { + display: flex; + flex-wrap: wrap; + gap: var(--space-2) var(--space-4); + margin: 0 0 var(--space-2) 0; + color: var(--color-text-muted); + font-size: 0.95rem; +} + +.mg-meta strong { + color: var(--color-text); + font-weight: 600; +} + +.mg-text { + margin: 0; +} + +.mg-badge { + display: inline-flex; + align-items: center; + gap: var(--space-1); + padding: 2px 8px; + border-radius: 999px; + background: rgba(255, 255, 255, 0.18); + border: 1px solid rgba(0, 0, 0, 0.1); + color: var(--color-text); + font-size: 0.85rem; +} + +.mg-accent-left { + border-left: 6px solid rgba(0, 0, 0, 0.12); + padding-left: var(--space-3); +} + diff --git a/src/components/ContactRender.vue b/src/components/ContactRender.vue index 62b1d2c..fcbfb26 100644 --- a/src/components/ContactRender.vue +++ b/src/components/ContactRender.vue @@ -1,28 +1,34 @@ \ No newline at end of file diff --git a/src/components/EventRender.vue b/src/components/EventRender.vue index aa10a12..167fe44 100644 --- a/src/components/EventRender.vue +++ b/src/components/EventRender.vue @@ -1,39 +1,54 @@ diff --git a/src/components/WorshipRender.vue b/src/components/WorshipRender.vue index 6177d43..7a1f0d0 100644 --- a/src/components/WorshipRender.vue +++ b/src/components/WorshipRender.vue @@ -1,51 +1,70 @@ \ No newline at end of file diff --git a/src/content/ImageContent.vue b/src/content/ImageContent.vue index 0941677..f32c39c 100644 --- a/src/content/ImageContent.vue +++ b/src/content/ImageContent.vue @@ -1,5 +1,7 @@ diff --git a/src/main.js b/src/main.js index 09fc19f..023c985 100644 --- a/src/main.js +++ b/src/main.js @@ -4,6 +4,7 @@ import router from './router'; import store from './store'; import axios from './axios'; import './assets/css/design-tokens.css'; +import './assets/css/content-cards.css'; import './assets/css/editor.css'; const app = createApp(AppComponent);