Compare commits
14 commits
Author | SHA1 | Date | |
---|---|---|---|
3ba5330e19 | |||
0a1d23f583 | |||
dd6254ea11 | |||
b0b0e19864 | |||
ef90cee833 | |||
a39370e369 | |||
f2abe65749 | |||
667ab84f2e | |||
7bace17bfe | |||
6ac5965b88 | |||
bbbd7d2975 | |||
8c70fa1c50 | |||
87e3053fab | |||
00ccbf8752 |
20 changed files with 5526 additions and 6211 deletions
|
@ -8,7 +8,7 @@ Dieses Projekt, `ff-webpage-cms`, ist ein Content-Management-System (CMS) basier
|
||||||
|
|
||||||
Die Administrationsöberfläche ermöglicht die Verwaltung von Seiten und deren Inhalten wie Artikel, Termine, Einsätz oder Fahrzeuge. Seiten können auch über vordefinierte Schemata erstellt werden.
|
Die Administrationsöberfläche ermöglicht die Verwaltung von Seiten und deren Inhalten wie Artikel, Termine, Einsätz oder Fahrzeuge. Seiten können auch über vordefinierte Schemata erstellt werden.
|
||||||
|
|
||||||
Eine Demo dieser Seite finden Sie unter [https://cms.ff-demo.jk-effects.cloud](https://cms.ff-demo.jk-effects.cloud).\
|
Eine Demo dieser Seite finden Sie unter [https://cms.webpage-demo.ff-admin.de](https://cms.webpage-demo.ff-admin.de).\
|
||||||
Die Zugangsdaten (Lesebeschränkt) sind: \
|
Die Zugangsdaten (Lesebeschränkt) sind: \
|
||||||
EMAIL: ff-demo@jk-effects.cloud\
|
EMAIL: ff-demo@jk-effects.cloud\
|
||||||
PASSWORT: FFDemo1234\
|
PASSWORT: FFDemo1234\
|
||||||
|
|
6059
package-lock.json
generated
6059
package-lock.json
generated
File diff suppressed because it is too large
Load diff
14
package.json
14
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "webpage-cms",
|
"name": "webpage-cms",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "A Strapi application",
|
"description": "A Strapi application",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -11,12 +11,12 @@
|
||||||
"strapi": "strapi"
|
"strapi": "strapi"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@offset-dev/strapi-calendar": "^1.0.0-beta.1",
|
"@offset-dev/strapi-calendar": "^1.0.0",
|
||||||
"@strapi/plugin-color-picker": "^5.1.1",
|
"@strapi/plugin-color-picker": "5.8.0",
|
||||||
"@strapi/plugin-documentation": "^5.1.1",
|
"@strapi/plugin-documentation": "5.8.0",
|
||||||
"@strapi/plugin-graphql": "^5.1.1",
|
"@strapi/plugin-graphql": "5.8.0",
|
||||||
"@strapi/plugin-users-permissions": "5.1.1",
|
"@strapi/plugin-users-permissions": "5.8.0",
|
||||||
"@strapi/strapi": "5.1.1",
|
"@strapi/strapi": "5.8.0",
|
||||||
"mysql2": "3.9.8",
|
"mysql2": "3.9.8",
|
||||||
"react": "^18.0.0",
|
"react": "^18.0.0",
|
||||||
"react-dom": "^18.0.0",
|
"react-dom": "^18.0.0",
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
"image": {
|
"image": {
|
||||||
"type": "media",
|
"type": "media",
|
||||||
"multiple": false,
|
"multiple": false,
|
||||||
"required": true,
|
"required": false,
|
||||||
"allowedTypes": [
|
"allowedTypes": [
|
||||||
"images"
|
"images"
|
||||||
],
|
],
|
||||||
|
|
|
@ -18,9 +18,9 @@
|
||||||
"unique": true
|
"unique": true
|
||||||
},
|
},
|
||||||
"collection": {
|
"collection": {
|
||||||
"type": "string",
|
"type": "enumeration",
|
||||||
"required": true,
|
"enum": ["events", "vehicles", "articles", "operations"],
|
||||||
"unique": true
|
"required": true
|
||||||
},
|
},
|
||||||
"image_item": {
|
"image_item": {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
|
|
|
@ -28,6 +28,28 @@
|
||||||
"targetField": "title",
|
"targetField": "title",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
|
"content": {
|
||||||
|
"pluginOptions": {},
|
||||||
|
"type": "blocks"
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"type": "media",
|
||||||
|
"multiple": false,
|
||||||
|
"required": false,
|
||||||
|
"allowedTypes": [
|
||||||
|
"images"
|
||||||
|
],
|
||||||
|
"pluginOptions": {}
|
||||||
|
},
|
||||||
|
"attachment": {
|
||||||
|
"type": "media",
|
||||||
|
"multiple": true,
|
||||||
|
"required": false,
|
||||||
|
"allowedTypes": [
|
||||||
|
"images"
|
||||||
|
],
|
||||||
|
"pluginOptions": {}
|
||||||
|
},
|
||||||
"date": {
|
"date": {
|
||||||
"pluginOptions": {},
|
"pluginOptions": {},
|
||||||
"type": "datetime",
|
"type": "datetime",
|
||||||
|
|
|
@ -24,6 +24,11 @@
|
||||||
"repeatable": false,
|
"repeatable": false,
|
||||||
"pluginOptions": {},
|
"pluginOptions": {},
|
||||||
"component": "global.footer"
|
"component": "global.footer"
|
||||||
|
},
|
||||||
|
"SEO": {
|
||||||
|
"type": "component",
|
||||||
|
"repeatable": false,
|
||||||
|
"component": "shared.seo"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,9 +16,12 @@
|
||||||
"type": "media",
|
"type": "media",
|
||||||
"multiple": false,
|
"multiple": false,
|
||||||
"required": true,
|
"required": true,
|
||||||
"allowedTypes": [
|
"allowedTypes": ["images"]
|
||||||
"images"
|
},
|
||||||
]
|
"hide_backdrop": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
"required": true
|
||||||
},
|
},
|
||||||
"content": {
|
"content": {
|
||||||
"type": "dynamiczone",
|
"type": "dynamiczone",
|
||||||
|
|
|
@ -28,6 +28,19 @@
|
||||||
"targetField": "title",
|
"targetField": "title",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
|
"content": {
|
||||||
|
"pluginOptions": {},
|
||||||
|
"type": "blocks"
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"type": "media",
|
||||||
|
"multiple": false,
|
||||||
|
"required": false,
|
||||||
|
"allowedTypes": [
|
||||||
|
"images"
|
||||||
|
],
|
||||||
|
"pluginOptions": {}
|
||||||
|
},
|
||||||
"attachment": {
|
"attachment": {
|
||||||
"type": "media",
|
"type": "media",
|
||||||
"multiple": true,
|
"multiple": true,
|
||||||
|
@ -41,9 +54,6 @@
|
||||||
"pluginOptions": {},
|
"pluginOptions": {},
|
||||||
"type": "datetime",
|
"type": "datetime",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
|
||||||
"content": {
|
|
||||||
"type": "blocks"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,9 @@
|
||||||
"dynamic-zone.emphasise-article",
|
"dynamic-zone.emphasise-article",
|
||||||
"dynamic-zone.dual-column-text",
|
"dynamic-zone.dual-column-text",
|
||||||
"dynamic-zone.column-image-text",
|
"dynamic-zone.column-image-text",
|
||||||
"shared.list"
|
"shared.list",
|
||||||
|
"dynamic-zone.file-download",
|
||||||
|
"dynamic-zone.embedding"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
"info": {
|
"info": {
|
||||||
"singularName": "vehicle",
|
"singularName": "vehicle",
|
||||||
"pluralName": "vehicles",
|
"pluralName": "vehicles",
|
||||||
"displayName": "Fahrzeuge"
|
"displayName": "Fahrzeuge",
|
||||||
|
"description": ""
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"draftAndPublish": true
|
"draftAndPublish": true
|
||||||
|
@ -34,7 +35,7 @@
|
||||||
"image": {
|
"image": {
|
||||||
"type": "media",
|
"type": "media",
|
||||||
"multiple": false,
|
"multiple": false,
|
||||||
"required": true,
|
"required": false,
|
||||||
"allowedTypes": [
|
"allowedTypes": [
|
||||||
"images"
|
"images"
|
||||||
],
|
],
|
||||||
|
@ -48,6 +49,11 @@
|
||||||
"images"
|
"images"
|
||||||
],
|
],
|
||||||
"pluginOptions": {}
|
"pluginOptions": {}
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"pluginOptions": {},
|
||||||
|
"type": "datetime",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,27 @@
|
||||||
* vehicle controller
|
* vehicle controller
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { factories } from '@strapi/strapi'
|
import { factories } from "@strapi/strapi";
|
||||||
|
|
||||||
export default factories.createCoreController('api::vehicle.vehicle');
|
export default factories.createCoreController("api::vehicle.vehicle", ({ strapi }) => ({
|
||||||
|
async distinctYears(ctx) {
|
||||||
|
try {
|
||||||
|
const years = await strapi.service("api::vehicle.vehicle").getDistinctYears();
|
||||||
|
ctx.body = years;
|
||||||
|
} catch (err) {
|
||||||
|
ctx.throw(500, err);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
async findByYear(ctx) {
|
||||||
|
try {
|
||||||
|
const { year } = ctx.params;
|
||||||
|
const { page = "1", pageSize = "10" } = ctx.query as { page?: string; pageSize?: string };
|
||||||
|
|
||||||
|
const result = await strapi.service("api::vehicle.vehicle").findByYear(year, parseInt(page), parseInt(pageSize));
|
||||||
|
ctx.body = result;
|
||||||
|
} catch (err) {
|
||||||
|
ctx.throw(500, err);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
14
src/api/vehicle/routes/extend-vehicle.ts
Normal file
14
src/api/vehicle/routes/extend-vehicle.ts
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
export default {
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
method: "GET",
|
||||||
|
path: "/custom/vehicle/distinct-years",
|
||||||
|
handler: "api::vehicle.vehicle.distinctYears",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
method: "GET",
|
||||||
|
path: "/custom/vehicle/year/:year",
|
||||||
|
handler: "api::vehicle.vehicle.findByYear",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
|
@ -2,6 +2,47 @@
|
||||||
* vehicle service
|
* vehicle service
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { factories } from '@strapi/strapi';
|
import { factories } from "@strapi/strapi";
|
||||||
|
import { parseISO, getYear } from "date-fns";
|
||||||
|
|
||||||
export default factories.createCoreService('api::vehicle.vehicle');
|
export default factories.createCoreService("api::vehicle.vehicle", ({ strapi }) => ({
|
||||||
|
async getDistinctYears() {
|
||||||
|
const articles = await strapi.query("api::vehicle.vehicle").findMany({
|
||||||
|
select: ["date"],
|
||||||
|
});
|
||||||
|
|
||||||
|
const years = articles
|
||||||
|
.map((article) => getYear(parseISO(article.date + "")))
|
||||||
|
.filter((year, index, self) => self.indexOf(year) === index)
|
||||||
|
.sort((a, b) => b - a);
|
||||||
|
|
||||||
|
return years;
|
||||||
|
},
|
||||||
|
|
||||||
|
async findByYear(year: string, page = 1, pageSize = 10) {
|
||||||
|
const startOfYear = new Date(`${year}-01-01T00:00:00.000Z`);
|
||||||
|
const endOfYear = new Date(`${year}-12-31T23:59:59.999Z`);
|
||||||
|
|
||||||
|
const articles = await strapi.query("api::vehicle.vehicle").findPage({
|
||||||
|
filters: {
|
||||||
|
date: {
|
||||||
|
$gte: startOfYear,
|
||||||
|
$lte: endOfYear,
|
||||||
|
},
|
||||||
|
publishedAt: {
|
||||||
|
$ne: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
limit: pageSize,
|
||||||
|
page: page,
|
||||||
|
orderBy: { date: "desc" },
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
data: articles.results,
|
||||||
|
meta: {
|
||||||
|
pagination: articles.pagination,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
16
src/components/dynamic-zone/embedding.json
Normal file
16
src/components/dynamic-zone/embedding.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"collectionName": "components_dynamic_zone_embedding",
|
||||||
|
"info": {
|
||||||
|
"displayName": "Einbettung"
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"attributes": {
|
||||||
|
"title": {
|
||||||
|
"type": "string",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"link": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
25
src/components/dynamic-zone/file-download.json
Normal file
25
src/components/dynamic-zone/file-download.json
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"collectionName": "components_dynamic_zone_file_download",
|
||||||
|
"info": {
|
||||||
|
"displayName": "Datei-Download",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"attributes": {
|
||||||
|
"enable_download": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true,
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"type": "string",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"file": {
|
||||||
|
"type": "media",
|
||||||
|
"multiple": false,
|
||||||
|
"required": true,
|
||||||
|
"allowedTypes": ["files", "images"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
25
src/components/shared/seo.json
Normal file
25
src/components/shared/seo.json
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"collectionName": "components_shared_seos",
|
||||||
|
"info": {
|
||||||
|
"displayName": "seo",
|
||||||
|
"icon": "search",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"attributes": {
|
||||||
|
"metaTitle": {
|
||||||
|
"required": true,
|
||||||
|
"type": "string",
|
||||||
|
"maxLength": 60
|
||||||
|
},
|
||||||
|
"metaDescription": {
|
||||||
|
"type": "string",
|
||||||
|
"required": true,
|
||||||
|
"minLength": 50
|
||||||
|
},
|
||||||
|
"keywords": {
|
||||||
|
"type": "text",
|
||||||
|
"regex": "[^,]+"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load diff
233
types/generated/components.d.ts
vendored
233
types/generated/components.d.ts
vendored
|
@ -1,26 +1,24 @@
|
||||||
import type { Schema, Struct } from '@strapi/strapi';
|
import type { Schema, Struct } from "@strapi/strapi";
|
||||||
|
|
||||||
export interface DynamicZoneColumnImageText extends Struct.ComponentSchema {
|
export interface DynamicZoneColumnImageText extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_dynamic_zone_column_image_texts';
|
collectionName: "components_dynamic_zone_column_image_texts";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Text-Bild-Spalte';
|
displayName: "Text-Bild-Spalte";
|
||||||
icon: 'bulletList';
|
icon: "bulletList";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
image: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
|
image: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
|
||||||
image_left: Schema.Attribute.Boolean &
|
image_left: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<true>;
|
||||||
Schema.Attribute.Required &
|
|
||||||
Schema.Attribute.DefaultTo<true>;
|
|
||||||
text: Schema.Attribute.Blocks & Schema.Attribute.Required;
|
text: Schema.Attribute.Blocks & Schema.Attribute.Required;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DynamicZoneDualColumnText extends Struct.ComponentSchema {
|
export interface DynamicZoneDualColumnText extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_dynamic_zone_dual_column_texts';
|
collectionName: "components_dynamic_zone_dual_column_texts";
|
||||||
info: {
|
info: {
|
||||||
displayName: 'Text-Text-Spalte';
|
displayName: "Text-Text-Spalte";
|
||||||
icon: 'stack';
|
icon: "stack";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
left_side: Schema.Attribute.Blocks & Schema.Attribute.Required;
|
left_side: Schema.Attribute.Blocks & Schema.Attribute.Required;
|
||||||
|
@ -28,41 +26,63 @@ export interface DynamicZoneDualColumnText extends Struct.ComponentSchema {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DynamicZoneEmphasiseArticle extends Struct.ComponentSchema {
|
export interface DynamicZoneEmbedding extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_dynamic_zone_emphasise_articles';
|
collectionName: "components_dynamic_zone_embedding";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
displayName: "Einbettung";
|
||||||
displayName: 'Artikel hervorheben';
|
|
||||||
icon: 'dashboard';
|
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
articles: Schema.Attribute.Relation<'oneToMany', 'api::article.article'>;
|
link: Schema.Attribute.String;
|
||||||
base_url: Schema.Attribute.String &
|
title: Schema.Attribute.String & Schema.Attribute.Required;
|
||||||
Schema.Attribute.Required &
|
};
|
||||||
Schema.Attribute.DefaultTo<'/artikel'>;
|
}
|
||||||
|
|
||||||
|
export interface DynamicZoneEmphasiseArticle extends Struct.ComponentSchema {
|
||||||
|
collectionName: "components_dynamic_zone_emphasise_articles";
|
||||||
|
info: {
|
||||||
|
description: "";
|
||||||
|
displayName: "Artikel hervorheben";
|
||||||
|
icon: "dashboard";
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
articles: Schema.Attribute.Relation<"oneToMany", "api::article.article">;
|
||||||
|
base_url: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.DefaultTo<"/artikel">;
|
||||||
description: Schema.Attribute.Text;
|
description: Schema.Attribute.Text;
|
||||||
titel: Schema.Attribute.String & Schema.Attribute.Required;
|
titel: Schema.Attribute.String & Schema.Attribute.Required;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DynamicZoneFullImage extends Struct.ComponentSchema {
|
export interface DynamicZoneFileDownload extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_dynamic_zone_full_images';
|
collectionName: "components_dynamic_zone_file_download";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Voll-Bild';
|
displayName: "Datei-Download";
|
||||||
icon: 'dashboard';
|
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
image: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
|
enable_download: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<true>;
|
||||||
|
file: Schema.Attribute.Media<"files" | "images"> & Schema.Attribute.Required;
|
||||||
|
title: Schema.Attribute.String & Schema.Attribute.Required;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DynamicZoneFullImage extends Struct.ComponentSchema {
|
||||||
|
collectionName: "components_dynamic_zone_full_images";
|
||||||
|
info: {
|
||||||
|
description: "";
|
||||||
|
displayName: "Voll-Bild";
|
||||||
|
icon: "dashboard";
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
image: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DynamicZoneFullText extends Struct.ComponentSchema {
|
export interface DynamicZoneFullText extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_dynamic_zone_full_texts';
|
collectionName: "components_dynamic_zone_full_texts";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Voll-Text';
|
displayName: "Voll-Text";
|
||||||
icon: 'dashboard';
|
icon: "dashboard";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
text: Schema.Attribute.Blocks & Schema.Attribute.Required;
|
text: Schema.Attribute.Blocks & Schema.Attribute.Required;
|
||||||
|
@ -70,142 +90,157 @@ export interface DynamicZoneFullText extends Struct.ComponentSchema {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DynamicZoneGallery extends Struct.ComponentSchema {
|
export interface DynamicZoneGallery extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_dynamic_zone_galleries';
|
collectionName: "components_dynamic_zone_galleries";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Galerie';
|
displayName: "Galerie";
|
||||||
icon: 'apps';
|
icon: "apps";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
images: Schema.Attribute.Media<'images', true> & Schema.Attribute.Required;
|
images: Schema.Attribute.Media<"images", true> & Schema.Attribute.Required;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface GlobalFooter extends Struct.ComponentSchema {
|
export interface GlobalFooter extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_global_footers';
|
collectionName: "components_global_footers";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Fu\u00DFzeile';
|
displayName: "Fu\u00DFzeile";
|
||||||
icon: 'apps';
|
icon: "apps";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
copyright: Schema.Attribute.String;
|
copyright: Schema.Attribute.String;
|
||||||
designed_developed_by: Schema.Attribute.String;
|
designed_developed_by: Schema.Attribute.String;
|
||||||
links: Schema.Attribute.Component<'shared.link', true>;
|
links: Schema.Attribute.Component<"shared.link", true>;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface GlobalNavbar extends Struct.ComponentSchema {
|
export interface GlobalNavbar extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_global_navbars';
|
collectionName: "components_global_navbars";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Navigationsleiste';
|
displayName: "Navigationsleiste";
|
||||||
icon: 'bold';
|
icon: "bold";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
logo: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
|
logo: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
|
||||||
navbar_items: Schema.Attribute.Component<'items.navbar-items', true>;
|
navbar_items: Schema.Attribute.Component<"items.navbar-items", true>;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ItemsNavbarItems extends Struct.ComponentSchema {
|
export interface ItemsNavbarItems extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_items_left_navbar_items';
|
collectionName: "components_items_left_navbar_items";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Navigations-\u00DCberpunkt';
|
displayName: "Navigations-\u00DCberpunkt";
|
||||||
icon: 'bulletList';
|
icon: "bulletList";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
default_active_child: Schema.Attribute.String;
|
default_active_child: Schema.Attribute.String;
|
||||||
name: Schema.Attribute.String;
|
name: Schema.Attribute.String;
|
||||||
navbar_sub_items: Schema.Attribute.Component<
|
navbar_sub_items: Schema.Attribute.Component<"items.navbar-sub-items", true>;
|
||||||
'items.navbar-sub-items',
|
page: Schema.Attribute.Relation<"oneToOne", "api::page.page">;
|
||||||
true
|
|
||||||
>;
|
|
||||||
page: Schema.Attribute.Relation<'oneToOne', 'api::page.page'>;
|
|
||||||
URL: Schema.Attribute.String;
|
URL: Schema.Attribute.String;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ItemsNavbarSubItems extends Struct.ComponentSchema {
|
export interface ItemsNavbarSubItems extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_items_navbar_sub_items';
|
collectionName: "components_items_navbar_sub_items";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Navigations-Unterpunkt';
|
displayName: "Navigations-Unterpunkt";
|
||||||
icon: 'bulletList';
|
icon: "bulletList";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
name: Schema.Attribute.String & Schema.Attribute.Required;
|
name: Schema.Attribute.String & Schema.Attribute.Required;
|
||||||
page: Schema.Attribute.Relation<'oneToOne', 'api::page.page'>;
|
page: Schema.Attribute.Relation<"oneToOne", "api::page.page">;
|
||||||
URL: Schema.Attribute.String & Schema.Attribute.Required;
|
URL: Schema.Attribute.String & Schema.Attribute.Required;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SharedHero extends Struct.ComponentSchema {
|
export interface SharedHero extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_shared_heroes';
|
collectionName: "components_shared_heroes";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'hero';
|
displayName: "hero";
|
||||||
icon: 'rocket';
|
icon: "rocket";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
banner: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
|
banner: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
|
||||||
title: Schema.Attribute.String & Schema.Attribute.Required;
|
title: Schema.Attribute.String & Schema.Attribute.Required;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SharedLink extends Struct.ComponentSchema {
|
export interface SharedLink extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_shared_links';
|
collectionName: "components_shared_links";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Link';
|
displayName: "Link";
|
||||||
icon: 'link';
|
icon: "link";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
target: Schema.Attribute.Enumeration<
|
target: Schema.Attribute.Enumeration<["_blank", "_self", "_parent", "_top"]> &
|
||||||
['_blank', '_self', '_parent', '_top']
|
|
||||||
> &
|
|
||||||
Schema.Attribute.Required &
|
Schema.Attribute.Required &
|
||||||
Schema.Attribute.DefaultTo<'_self'>;
|
Schema.Attribute.DefaultTo<"_self">;
|
||||||
text: Schema.Attribute.String & Schema.Attribute.Required;
|
text: Schema.Attribute.String & Schema.Attribute.Required;
|
||||||
URL: Schema.Attribute.String & Schema.Attribute.Required;
|
URL: Schema.Attribute.String & Schema.Attribute.Required;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SharedList extends Struct.ComponentSchema {
|
export interface SharedList extends Struct.ComponentSchema {
|
||||||
collectionName: 'components_shared_lists';
|
collectionName: "components_shared_lists";
|
||||||
info: {
|
info: {
|
||||||
description: '';
|
description: "";
|
||||||
displayName: 'Inhaltsauswahl';
|
displayName: "Inhaltsauswahl";
|
||||||
icon: 'apps';
|
icon: "apps";
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
enable_detail: Schema.Attribute.Boolean &
|
enable_detail: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
|
||||||
Schema.Attribute.Required &
|
lookup: Schema.Attribute.Relation<"oneToOne", "api::collection-lookup.collection-lookup">;
|
||||||
Schema.Attribute.DefaultTo<false>;
|
|
||||||
lookup: Schema.Attribute.Relation<
|
|
||||||
'oneToOne',
|
|
||||||
'api::collection-lookup.collection-lookup'
|
|
||||||
>;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
declare module '@strapi/strapi' {
|
export interface SharedSeo extends Struct.ComponentSchema {
|
||||||
|
collectionName: "components_shared_seos";
|
||||||
|
info: {
|
||||||
|
description: "";
|
||||||
|
displayName: "seo";
|
||||||
|
icon: "search";
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
keywords: Schema.Attribute.Text;
|
||||||
|
metaDescription: Schema.Attribute.String &
|
||||||
|
Schema.Attribute.Required &
|
||||||
|
Schema.Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 50;
|
||||||
|
}>;
|
||||||
|
metaTitle: Schema.Attribute.String &
|
||||||
|
Schema.Attribute.Required &
|
||||||
|
Schema.Attribute.SetMinMaxLength<{
|
||||||
|
maxLength: 60;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module "@strapi/strapi" {
|
||||||
export module Public {
|
export module Public {
|
||||||
export interface ComponentSchemas {
|
export interface ComponentSchemas {
|
||||||
'dynamic-zone.column-image-text': DynamicZoneColumnImageText;
|
"dynamic-zone.column-image-text": DynamicZoneColumnImageText;
|
||||||
'dynamic-zone.dual-column-text': DynamicZoneDualColumnText;
|
"dynamic-zone.dual-column-text": DynamicZoneDualColumnText;
|
||||||
'dynamic-zone.emphasise-article': DynamicZoneEmphasiseArticle;
|
"dynamic-zone.embedding": DynamicZoneEmbedding;
|
||||||
'dynamic-zone.full-image': DynamicZoneFullImage;
|
"dynamic-zone.emphasise-article": DynamicZoneEmphasiseArticle;
|
||||||
'dynamic-zone.full-text': DynamicZoneFullText;
|
"dynamic-zone.file-download": DynamicZoneFileDownload;
|
||||||
'dynamic-zone.gallery': DynamicZoneGallery;
|
"dynamic-zone.full-image": DynamicZoneFullImage;
|
||||||
'global.footer': GlobalFooter;
|
"dynamic-zone.full-text": DynamicZoneFullText;
|
||||||
'global.navbar': GlobalNavbar;
|
"dynamic-zone.gallery": DynamicZoneGallery;
|
||||||
'items.navbar-items': ItemsNavbarItems;
|
"global.footer": GlobalFooter;
|
||||||
'items.navbar-sub-items': ItemsNavbarSubItems;
|
"global.navbar": GlobalNavbar;
|
||||||
'shared.hero': SharedHero;
|
"items.navbar-items": ItemsNavbarItems;
|
||||||
'shared.link': SharedLink;
|
"items.navbar-sub-items": ItemsNavbarSubItems;
|
||||||
'shared.list': SharedList;
|
"shared.hero": SharedHero;
|
||||||
|
"shared.link": SharedLink;
|
||||||
|
"shared.list": SharedList;
|
||||||
|
"shared.seo": SharedSeo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
901
types/generated/contentTypes.d.ts
vendored
901
types/generated/contentTypes.d.ts
vendored
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue