Sync dev with master #253
@ -1,4 +1,4 @@
|
||||
import { MarkdownProps, ImageProps } from "../props.js";
|
||||
import { MarkdownProps } from "../props.js";
|
||||
import { DraftBoolean, Title } from "./widgets.js";
|
||||
|
||||
const AbiturientenCollection = {
|
||||
@ -33,8 +33,9 @@ const AbiturientenCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Bild",
|
||||
widget: "image",
|
||||
default: "/media/image.webp",
|
||||
...ImageProps,
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
name: "type",
|
||||
@ -45,6 +46,7 @@ const AbiturientenCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Text",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { MarkdownProps, PatternEmail, ImageProps } from "../props.js";
|
||||
import { MarkdownProps, PatternEmail } from "../props.js";
|
||||
import { DescriptionText } from "./widgets.js";
|
||||
|
||||
const AuthorCollection = {
|
||||
@ -19,49 +19,38 @@ const AuthorCollection = {
|
||||
field: "type",
|
||||
value: "author",
|
||||
},
|
||||
view_filters: {
|
||||
filters: [
|
||||
view_filters: [
|
||||
{
|
||||
name: "active",
|
||||
label: "aktiv",
|
||||
field: "active",
|
||||
pattern: true,
|
||||
},
|
||||
{
|
||||
name: "inactive",
|
||||
label: "inaktiv",
|
||||
field: "active",
|
||||
pattern: false,
|
||||
},
|
||||
{
|
||||
name: "simplified",
|
||||
label: "einfach",
|
||||
field: "simplified",
|
||||
pattern: true,
|
||||
},
|
||||
{
|
||||
name: "extended",
|
||||
label: "erweitert",
|
||||
field: "simplified",
|
||||
pattern: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
view_groups: {
|
||||
default: "active",
|
||||
groups: [
|
||||
view_groups: [
|
||||
{
|
||||
name: "simplified",
|
||||
label: "vereinfacht",
|
||||
field: "simplified",
|
||||
},
|
||||
{
|
||||
name: "active",
|
||||
label: "aktiv",
|
||||
field: "active",
|
||||
},
|
||||
],
|
||||
},
|
||||
summary_fields: ["title", "active", "simplified", "body"],
|
||||
fields: [
|
||||
{
|
||||
@ -81,8 +70,9 @@ const AuthorCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Bild",
|
||||
widget: "image",
|
||||
required: false,
|
||||
default: "/media/people/gcg.webp",
|
||||
...ImageProps,
|
||||
},
|
||||
{
|
||||
name: "simplified",
|
||||
@ -106,6 +96,7 @@ const AuthorCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Beschreibung",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { MarkdownProps, ImageProps } from "../props.js";
|
||||
import { MarkdownProps } from "../props.js";
|
||||
import { DescriptionText, DraftBoolean, Title } from "./widgets.js";
|
||||
|
||||
const BegabteCollection = {
|
||||
@ -27,9 +27,9 @@ const BegabteCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Titelbild",
|
||||
default: "/media/image.webp",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
default: "/media/image.webp",
|
||||
},
|
||||
{
|
||||
name: "class",
|
||||
@ -52,6 +52,7 @@ const BegabteCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { DateFormat, MarkdownProps, ImageProps } from "../props.js";
|
||||
import { DateFormat, MarkdownProps } from "../props.js";
|
||||
import {
|
||||
AuthorRelation,
|
||||
DescriptionText,
|
||||
@ -24,16 +24,12 @@ const BlogCollection = {
|
||||
field: "type",
|
||||
value: "post",
|
||||
},
|
||||
view_groups: {
|
||||
default: "draft",
|
||||
groups: [
|
||||
view_groups: [
|
||||
{
|
||||
name: "draft",
|
||||
label: "Entwurf",
|
||||
field: "draft",
|
||||
},
|
||||
],
|
||||
},
|
||||
sortable_fields: {
|
||||
fields: ["date", "title"],
|
||||
default: {
|
||||
@ -57,9 +53,9 @@ const BlogCollection = {
|
||||
name: "image",
|
||||
label: "Titelbild",
|
||||
hint: "16:9 Seitenverhältnis beachten",
|
||||
default: "/media/image.webp",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
default: "/media/image.webp",
|
||||
},
|
||||
AuthorRelation,
|
||||
{
|
||||
@ -106,6 +102,7 @@ const BlogCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { MarkdownProps, ImageProps } from "../props.js";
|
||||
import { MarkdownProps } from "../props.js";
|
||||
import { DescriptionText, DraftBoolean, Title } from "./widgets.js";
|
||||
|
||||
const CantorforaCollection = {
|
||||
@ -19,6 +19,12 @@ const CantorforaCollection = {
|
||||
frame: true,
|
||||
size: "half",
|
||||
},
|
||||
view_groups: [
|
||||
{
|
||||
label: "Entwürfe",
|
||||
field: "draft",
|
||||
},
|
||||
],
|
||||
summary_fields: ["title", "draft", "description"],
|
||||
sortable_fields: {
|
||||
fields: ["index", "title"],
|
||||
@ -44,8 +50,8 @@ const CantorforaCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Titelbild",
|
||||
widget: "image",
|
||||
default: "/media/image.webp",
|
||||
...ImageProps,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@ -57,6 +63,7 @@ const CantorforaCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Text",
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { MarkdownProps, ImageProps } from "../props.js";
|
||||
import { MarkdownProps } from "../props.js";
|
||||
import { DescriptionText, DraftBoolean } from "./widgets.js";
|
||||
|
||||
const CantorpreisCollection = {
|
||||
@ -45,8 +45,9 @@ const CantorpreisCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Bild",
|
||||
widget: "image",
|
||||
default: "/media/image.webp",
|
||||
...ImageProps,
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
name: "type",
|
||||
@ -57,6 +58,7 @@ const CantorpreisCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Text",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -43,6 +43,7 @@ const ChronikjahreCollection = {
|
||||
name: "pretext",
|
||||
label: "Einleitung",
|
||||
hint: "Text für die Jahreszahl",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -63,6 +64,7 @@ const ChronikjahreCollection = {
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -100,6 +102,7 @@ const ChronikjahreCollection = {
|
||||
name: "body",
|
||||
label: "Text",
|
||||
hint: "Erscheint zusätzlich zu den Kreativen Haufen",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -48,6 +48,7 @@ const ChronikseitenCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -55,6 +55,7 @@ const FormsCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { MarkdownProps, ImageProps } from "../props.js";
|
||||
import { MarkdownProps } from "../props.js";
|
||||
import { Title, DescriptionText, DraftBoolean } from "./widgets.js";
|
||||
|
||||
const GanztagCollection = {
|
||||
@ -27,8 +27,8 @@ const GanztagCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Titelbild",
|
||||
widget: "image",
|
||||
default: "/media/ganztagsangebote/image.webp",
|
||||
...ImageProps,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@ -82,6 +82,7 @@ const GanztagCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -3,7 +3,6 @@ import {
|
||||
DateFormat,
|
||||
MarkdownProps,
|
||||
PatternEmail,
|
||||
ImageProps
|
||||
} from "../props.js";
|
||||
import { DescriptionText, EnableBoolean, Title } from "./widgets.js";
|
||||
|
||||
@ -37,7 +36,8 @@ const IndexPagesCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Bild",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
name: "stats",
|
||||
@ -75,6 +75,7 @@ const IndexPagesCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -90,6 +91,7 @@ const IndexPagesCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -105,6 +107,7 @@ const IndexPagesCollection = {
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -128,6 +131,7 @@ const IndexPagesCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -269,6 +273,7 @@ const IndexPagesCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -284,6 +289,7 @@ const IndexPagesCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -296,7 +302,8 @@ const IndexPagesCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Bild",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
name: "quote",
|
||||
|
@ -48,6 +48,7 @@ const PagesCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -32,6 +32,7 @@ const ProjektwocheCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -60,6 +61,7 @@ const ProjektwocheCollection = {
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -3,7 +3,6 @@ import {
|
||||
DateFormat,
|
||||
MarkdownProps,
|
||||
PatternEmail,
|
||||
ImageProps
|
||||
} from "../props.js";
|
||||
import {
|
||||
ButtonObject,
|
||||
@ -41,6 +40,7 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "text",
|
||||
label: "Text",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -90,7 +90,7 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "bg_image",
|
||||
label: "Hintergrundbild",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
Title(false),
|
||||
@ -136,7 +136,7 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Grafik",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
@ -153,6 +153,7 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -174,7 +175,7 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Hintergrundbild",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@ -199,11 +200,13 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Grafik",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -225,6 +228,7 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -265,13 +269,14 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "bg_image",
|
||||
label: "Hintergrundbild",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
Title(false),
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -299,11 +304,13 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Bild",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -333,7 +340,7 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Grafik",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
@ -353,12 +360,13 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Titelbild",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: false,
|
||||
...MarkdownProps,
|
||||
},
|
||||
@ -504,7 +512,7 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "logo",
|
||||
label: "Logo",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@ -571,13 +579,13 @@ const SettingsCollection = {
|
||||
{
|
||||
name: "preloader",
|
||||
label: "Logo",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "loader",
|
||||
label: "Ladeanimation",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
@ -622,6 +630,7 @@ const SettingsCollection = {
|
||||
name: "copyright",
|
||||
label: "Copyright-Eintrag",
|
||||
hint: "Am Seitenende sichtbar",
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -74,7 +74,8 @@ const SuperhaufenCollection = {
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
required: false,
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
{
|
||||
@ -88,7 +89,8 @@ const SuperhaufenCollection = {
|
||||
{
|
||||
name: "content",
|
||||
label: "Inhalt",
|
||||
required: false,
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
],
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { MarkdownProps, ImageProps } from "../props.js";
|
||||
import { MarkdownProps } from "../props.js";
|
||||
import { DescriptionText, DraftBoolean, Title } from "./widgets.js";
|
||||
|
||||
const WettbewerbeCollection = {
|
||||
@ -26,7 +26,7 @@ const WettbewerbeCollection = {
|
||||
{
|
||||
name: "image",
|
||||
label: "Titelbild",
|
||||
...ImageProps,
|
||||
widget: "image",
|
||||
required: true,
|
||||
default: "/media/image.webp",
|
||||
},
|
||||
@ -63,6 +63,7 @@ const WettbewerbeCollection = {
|
||||
{
|
||||
name: "body",
|
||||
label: "Inhalt",
|
||||
widget: "markdown",
|
||||
required: true,
|
||||
...MarkdownProps,
|
||||
},
|
||||
|
@ -17,7 +17,6 @@ import {
|
||||
SuperhaufenCollection,
|
||||
WettbewerbeCollection,
|
||||
} from "./collections/index.js";
|
||||
import { GCGThemeDark, GCGThemeLight } from "./themes.js";
|
||||
|
||||
const config = {
|
||||
backend: {
|
||||
@ -49,13 +48,6 @@ const config = {
|
||||
clean_accents: true,
|
||||
sanitize_replacement: "-",
|
||||
},
|
||||
theme: {
|
||||
include_built_in_themes: false,
|
||||
themes: [
|
||||
GCGThemeDark,
|
||||
GCGThemeLight
|
||||
]
|
||||
},
|
||||
collections: [
|
||||
SettingsCollection,
|
||||
IndexPagesCollection,
|
||||
|
@ -1,5 +1,4 @@
|
||||
const MarkdownProps = {
|
||||
widget: "markdown",
|
||||
toolbar_buttons: {
|
||||
main: [
|
||||
"bold",
|
||||
@ -75,12 +74,4 @@ const PatternEmail = {
|
||||
],
|
||||
};
|
||||
|
||||
const ImageProps = {
|
||||
widget: "image",
|
||||
required: false,
|
||||
media_library: {
|
||||
folder_support: true,
|
||||
}
|
||||
};
|
||||
|
||||
export { MarkdownProps, DateFormat, DataObject, PatternEmail, ImageProps };
|
||||
export { MarkdownProps, DateFormat, DataObject, PatternEmail };
|
||||
|
@ -7,7 +7,6 @@ import {
|
||||
StatsCollection,
|
||||
SuperhaufenCollection,
|
||||
} from "./collections/index.js";
|
||||
import { GCGThemeDark, GCGThemeLight } from "./themes.js";
|
||||
|
||||
const config = {
|
||||
backend: {
|
||||
@ -39,13 +38,6 @@ const config = {
|
||||
clean_accents: true,
|
||||
sanitize_replacement: "-",
|
||||
},
|
||||
theme: {
|
||||
include_built_in_themes: false,
|
||||
themes: [
|
||||
GCGThemeDark,
|
||||
GCGThemeLight
|
||||
]
|
||||
},
|
||||
collections: [
|
||||
ChronikjahreCollection,
|
||||
SuperhaufenCollection,
|
||||
|
@ -1,25 +0,0 @@
|
||||
const GCGThemeDark = {
|
||||
name: "GCG.Dark",
|
||||
extends: "dark",
|
||||
primary: {
|
||||
main: "#ffbc3b",
|
||||
contrastColor: "#4b4b4b",
|
||||
},
|
||||
background: {
|
||||
main: "#1a1a37",
|
||||
dark: "#13132d",
|
||||
},
|
||||
};
|
||||
|
||||
const GCGThemeLight = {
|
||||
name: "GCG.Light",
|
||||
extends: "light",
|
||||
primary: {
|
||||
main: "#1a1a37",
|
||||
},
|
||||
background: {
|
||||
dark: "#f1f3f5",
|
||||
},
|
||||
};
|
||||
|
||||
export { GCGThemeDark, GCGThemeLight };
|
@ -9,12 +9,12 @@
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://unpkg.com/@staticcms/app@next/dist/main.css"
|
||||
href="https://cdn.jsdelivr.net/npm/@staticcms/app@^3.0.0/dist/main.css"
|
||||
/>
|
||||
<title>Static CMS</title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="https://unpkg.com/@staticcms/app@next/dist/static-cms-app.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@staticcms/app@^3.0.0/dist/static-cms-app.js"></script>
|
||||
<script type="module">
|
||||
import config from "./config/index.js";
|
||||
// imports
|
||||
|
@ -9,12 +9,12 @@
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://unpkg.com/@staticcms/app@next/dist/main.css"
|
||||
href="https://cdn.jsdelivr.net/npm/@staticcms/app@^3.0.0/dist/main.css"
|
||||
/>
|
||||
<title>Chronikverwaltung</title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="https://unpkg.com/@staticcms/app@next/dist/static-cms-app.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@staticcms/app@^3.0.0/dist/static-cms-app.js"></script>
|
||||
<script type="module">
|
||||
import config from "../../admin/config/schulchronik.js";
|
||||
// imports
|
||||
|
Loading…
x
Reference in New Issue
Block a user