Umbau Ganztagsbereich (#292)
All checks were successful
Website Prod/Test / Produktivumgebung (push) Successful in 11s
Website Prod/Test / Testumgebung (push) Successful in 6s

- [x] Umbau von Bereich zu Hauptseite mit Kacheln
- [x] Aktualisierung für SJ 2025/2026
- [x] Aktualisierung in CMS-Konfiguration inkl. Vorschau

Reviewed-on: #292
This commit is contained in:
2024-09-16 21:34:24 +02:00
parent 8695df0533
commit f377ec7f25
42 changed files with 257 additions and 640 deletions

View File

@ -1,111 +0,0 @@
import {
Container,
ContentJustify,
PageHeader,
Section,
} from "./components/index.js";
const GanztagPreview = ({
widgetFor,
entry,
fields,
collection,
}) => {
const imageField = useMemo(() => {
return fields.find((field) => field.name === "image");
}, [fields]);
const imageUrl = useMediaAsset(
entry.data.image,
collection,
imageField,
entry
);
return [
PageHeader(entry),
Section(
Container([
h("img", { className: "img-fluid w-100 mb-4", src: imageUrl }),
h("h2", {}, entry.data.title),
h(
"div",
{ className: "row mb-4" },
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className:
"mdi mdi-calendar-today-outline text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Zeit"),
h("p", { className: "mb-0" }, entry.data.schedule)
)
)
),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className: "mdi mdi-timer-sand text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Dauer"),
h("p", { className: "mb-0" }, entry.data.duration)
)
)
),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className: "mdi mdi-crowd text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Klassen"),
h("p", { className: "mb-0" }, entry.data.class)
)
)
),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className:
"mdi mdi-map-marker-radius-outline text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Raum"),
h("p", { className: "mb-0" }, entry.data.room)
)
)
)
),
h("hr", { className: "mb-4" }),
ContentJustify(widgetFor("body")),
])
),
];
};
export default GanztagPreview;

View File

@ -1,7 +1,6 @@
import AboutPreview from "./about-preview.js";
import BlogPreview from "./blog-preview.js";
import ContestPreview from "./contest-preview.js";
import GanztagPreview from "./ganztag-preview.js";
import PagePreview from "./page-preview.js";
import EventPreview from "./event-preview.js";
import AnmeldungPreview from "./anmeldung-preview.js";
@ -22,7 +21,6 @@ export {
AboutPreview,
BlogPreview,
ContestPreview,
GanztagPreview,
PagePreview,
EventPreview,
AnmeldungPreview,

View File

@ -1,11 +1,7 @@
import {
Container,
ContentJustify,
PageHeader,
Row,
} from "./components/index.js";
import { Container, ContentJustify, PageHeader, Row } from "./components/index.js";
const ProjektwochePreview = ({ widgetsFor, widgetFor, entry }) => {
const ProjektwochePreview = ({ widgetsFor, widgetFor, entry, collection, fields }) => {
const imageField = useMemo(() => fields.find((field) => field.name === "image"), [fields]);
return [
PageHeader(entry),
h(
@ -23,30 +19,27 @@ const ProjektwochePreview = ({ widgetsFor, widgetFor, entry }) => {
{
className: "card border-primary rounded-0 hover-shadow mb-4",
},
h(
"div",
{
className: "container fb-tile-color",
style: { backgroundColor: tile.data.bg_color },
},
h("i", {
className: (tile.data.icon ?? "") + " fb-tile-icon",
style: { color: tile.data.font_color },
})
),
tile.data.image && tile.data.image != "" && tile.data.image != "/media/image.webp"
? h("img", {
className: "card-img-top rounded-0",
src: useMediaAsset(tile.data.image, collection, imageField, entry),
})
: h(
"div",
{
className: "container fb-tile-color",
style: { backgroundColor: tile.data.bg_color },
},
h("i", {
className: (tile.data.icon ?? "") + " fb-tile-icon",
style: { color: tile.data.font_color },
})
),
h(
"div",
{ className: "card-body" },
h(
"h4",
{ className: "card-title text-truncate" },
tile.data.title
),
h(
"button",
{ type: "button", className: "btn btn-primary btn-sm" },
"Mehr anzeigen"
)
h("h4", { className: "card-title text-truncate" }, tile.data.title),
h("button", { type: "button", className: "btn btn-primary btn-sm" }, "Mehr anzeigen")
)
)
)