diff --git a/api/collections/content.yml b/api/collections/content.yml index c1a1c30..a23d5a4 100644 --- a/api/collections/content.yml +++ b/api/collections/content.yml @@ -138,82 +138,6 @@ meta: filter: type: block - - name: helpcenterQuestion - label: - de: HC Fragen - en: HC Questions - muiIcon: book-open-page-variant - defaultSort: - field: insertTime - order: DESC - setDefault: - field: type - value: page - views: - - type: table - columns: - - source: active - name: Aktiv - filter: true - - source: name - name: Name - filter: true - - source: path - name: Pfad - filter: true - filter: - type: helpcenterQuestion - - name: Blog - label: - de: Blog - en: Blog - muiIcon: book-open-page-variant - defaultSort: - field: insertTime - order: DESC - setDefault: - field: type - value: page - views: - - type: table - columns: - - source: active - name: Aktiv - filter: true - - source: name - name: Name - filter: true - - source: path - name: Pfad - filter: true - filter: - type: blog - - - name: product - label: - de: Produkte - en: Products - muiIcon: book-open-page-variant - defaultSort: - field: insertTime - order: DESC - setDefault: - field: type - value: product - views: - - type: table - columns: - - source: active - name: Aktiv - filter: true - - source: name - name: Name - filter: true - - source: path - name: Pfad - filter: true - filter: - type: product permissions: public: methods: @@ -279,21 +203,7 @@ fields: default: "col-6" small: "col-12" large: "col-6" - - type: string - name: question - index: [single] - meta: - label: - de: Frage - en: Question - dependsOn: - eval: $.type == "helpcenterQuestion" - containerProps: - layout: - size: - default: "col-6" - small: "col-12" - large: "col-6" + - type: string name: path index: [single] @@ -305,7 +215,7 @@ fields: de: "Ein Pfad sollte mit einem / starten und ohne enden." en: "A path should start with a / and end without one." dependsOn: - eval: $.type == "page" || $.type == "helpcenterQuestion" + eval: $.type == "page" containerProps: layout: size: diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index 7f2986b..f4f6bb7 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -2,11 +2,11 @@ import { onMount } from "svelte" import Header from "./lib/components/header/Header.svelte" import Footer from "./lib/components/Footer.svelte" - import Content from "./routes/Content.svelte" import Notifications from "./lib/components/widgets/Notifications.svelte" import SSRSkip from "./lib/components/SSRSkip.svelte" import { baseURL } from "./config" import { isMobile, location, openModal } from "./lib/store" + import StaticHomepage from "./routes/StaticHomepage.svelte" export let url = "" @@ -99,7 +99,7 @@
- +
diff --git a/frontend/src/config.ts b/frontend/src/config.ts index 3dc69cb..4e47029 100644 --- a/frontend/src/config.ts +++ b/frontend/src/config.ts @@ -4,7 +4,7 @@ export const baseURL = `${protocol}//${baseDomain}` export const apiBaseURL = "/api/" export const websiteName = "Kontextwerk" -export const companyName = "Kontextwerk GmbH" +export const companyName = "Kontextwerk" export const email = "hello@kontextwerk.de" export const streetAddress = "Gertrudenstraße 3" export const localityAddress = "Hamburg" diff --git a/frontend/src/lib/components/pagebuilder/Breadcrumbs.svelte b/frontend/src/lib/components/pagebuilder/Breadcrumbs.svelte new file mode 100644 index 0000000..3f61ce8 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/Breadcrumbs.svelte @@ -0,0 +1,36 @@ + + + +{#if paths.length} + +{/if} diff --git a/frontend/src/lib/components/pagebuilder/ContentBlock.svelte b/frontend/src/lib/components/pagebuilder/ContentBlock.svelte new file mode 100644 index 0000000..c90efb7 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/ContentBlock.svelte @@ -0,0 +1,301 @@ + + + + {#if block.anchorId} + +
+
+
+ {/if} +
+ {#if block.background?.image} +
+
+ + {#if block?.background?.overlay} +
+ {/if} +
+
+ {/if} +
+
+ {#if block.headline || block.subline} +
+
+ + {#if block.headline} + {#if block.headlineH1} +

{block.headline}

+ {:else} +

{block.headline}

+ {/if} + {/if} + {#if block.subline} +

{block.subline}

+ {/if} +
+ {#if block?.headlineLink} + + {/if} +
+ {/if} + + +
+ {#each block.callToActionButtons || [] as button} +
+
+
+
+
+ + diff --git a/frontend/src/lib/components/pagebuilder/DefaultImage.svelte b/frontend/src/lib/components/pagebuilder/DefaultImage.svelte new file mode 100644 index 0000000..c67a993 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/DefaultImage.svelte @@ -0,0 +1,126 @@ + + +{#if images.length > 1} +
+ + {#each images as image (image)} + +
+ +
+
+ {/each} +
+
+{:else if images[0]} +
+ +
+{/if} + + diff --git a/frontend/src/lib/components/pagebuilder/Loader.svelte b/frontend/src/lib/components/pagebuilder/Loader.svelte new file mode 100644 index 0000000..81cd48c --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/Loader.svelte @@ -0,0 +1,36 @@ + + +
+ {#if type == "bar"} + + {:else} + + {/if} +
+ + diff --git a/frontend/src/lib/components/pagebuilder/SEO/Index.svelte b/frontend/src/lib/components/pagebuilder/SEO/Index.svelte new file mode 100644 index 0000000..756747f --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/SEO/Index.svelte @@ -0,0 +1,84 @@ + + + + {pageTitle} + + + + + + + + {#if noIndex || active === false} + + {:else} + + {/if} + + +{#if product} + +{/if} + + + diff --git a/frontend/src/lib/components/pagebuilder/SEO/OpenGraph.svelte b/frontend/src/lib/components/pagebuilder/SEO/OpenGraph.svelte new file mode 100644 index 0000000..c97c165 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/SEO/OpenGraph.svelte @@ -0,0 +1,130 @@ + + + + + + + + + {#if product} + + + + + + + + + + + {:else} + + + + + + + + + + + + {/if} + + {#if article} + + + + + {/if} + diff --git a/frontend/src/lib/components/pagebuilder/SEO/Product.svelte b/frontend/src/lib/components/pagebuilder/SEO/Product.svelte new file mode 100644 index 0000000..40d259b --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/SEO/Product.svelte @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/frontend/src/lib/components/pagebuilder/SEO/SchemaORG.svelte b/frontend/src/lib/components/pagebuilder/SEO/SchemaORG.svelte new file mode 100644 index 0000000..de26676 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/SEO/SchemaORG.svelte @@ -0,0 +1,224 @@ + + + + {@html jsonLdScript} + diff --git a/frontend/src/lib/components/pagebuilder/blocks/ChapterPreview/ChapterPreview.svelte b/frontend/src/lib/components/pagebuilder/blocks/ChapterPreview/ChapterPreview.svelte new file mode 100644 index 0000000..ea31896 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/ChapterPreview/ChapterPreview.svelte @@ -0,0 +1,105 @@ + + +
+
    + {#each $selfImprovementChapters as chapter, i} +
  • + +
  • + {/each} +
+
+ + diff --git a/frontend/src/lib/components/pagebuilder/blocks/ChapterPreview/Item.svelte b/frontend/src/lib/components/pagebuilder/blocks/ChapterPreview/Item.svelte new file mode 100644 index 0000000..bdcd610 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/ChapterPreview/Item.svelte @@ -0,0 +1,350 @@ + + +
+ {#if chapter.locked} +
+ + + +

Coming Soon

+
+ {/if} +
+ + +
+
+
+
+
+
+
+

+ {chapter.alias} +

+

+ {chapter.title} +

+

+ {chapter.shortDescription} +

+
+
+ +
+
+
+ + diff --git a/frontend/src/lib/components/pagebuilder/blocks/Columns.svelte b/frontend/src/lib/components/pagebuilder/blocks/Columns.svelte new file mode 100644 index 0000000..1bd88a1 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/Columns.svelte @@ -0,0 +1,30 @@ + + +
+ {#each block.columns || [] as column} + + {/each} +
+ + diff --git a/frontend/src/lib/components/pagebuilder/blocks/ColumnsColumn.svelte b/frontend/src/lib/components/pagebuilder/blocks/ColumnsColumn.svelte new file mode 100644 index 0000000..4800fa8 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/ColumnsColumn.svelte @@ -0,0 +1,72 @@ + + +
+ {#if column.type == "text"} + + {:else if column.type == "image"} + + {:else if column.type == "cta"} + + {:else if column.type == "chapterDescription"} + + {/if} +
+ + diff --git a/frontend/src/lib/components/pagebuilder/blocks/GoogleMaps.svelte b/frontend/src/lib/components/pagebuilder/blocks/GoogleMaps.svelte new file mode 100644 index 0000000..4146be8 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/GoogleMaps.svelte @@ -0,0 +1,26 @@ + + + + + + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/HomepageRow.svelte b/frontend/src/lib/components/pagebuilder/blocks/HomepageRow.svelte new file mode 100644 index 0000000..39ae879 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/HomepageRow.svelte @@ -0,0 +1,92 @@ + + +
+
+
+ +
+
+ +
+
+ + diff --git a/frontend/src/lib/components/pagebuilder/blocks/ImproveYourselfDescription.svelte b/frontend/src/lib/components/pagebuilder/blocks/ImproveYourselfDescription.svelte new file mode 100644 index 0000000..b331764 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/ImproveYourselfDescription.svelte @@ -0,0 +1,184 @@ + + +
+
+ +
+
+
+

Improve Yourself

+

{@html des.upperDescription}

+
    +
  • + + + + + Fitness +
  • +
  • + + + + + Entspannung +
  • +
  • + + + + + Ernährung +
  • +
  • + + + + + Weiterbildung +
  • +
+

{@html des.lowerDescription}

+
+
+ + diff --git a/frontend/src/lib/components/pagebuilder/blocks/NewsletterRow.svelte b/frontend/src/lib/components/pagebuilder/blocks/NewsletterRow.svelte new file mode 100644 index 0000000..e946999 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/NewsletterRow.svelte @@ -0,0 +1,277 @@ + + + + + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/PredefinedBlock.svelte b/frontend/src/lib/components/pagebuilder/blocks/PredefinedBlock.svelte new file mode 100644 index 0000000..27602ea --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/PredefinedBlock.svelte @@ -0,0 +1,12 @@ + + +{#if block.predefinedBlock?.id} + +{/if} diff --git a/frontend/src/lib/components/pagebuilder/blocks/RatingPreview/PreviewCard.svelte b/frontend/src/lib/components/pagebuilder/blocks/RatingPreview/PreviewCard.svelte new file mode 100644 index 0000000..0b57eca --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/RatingPreview/PreviewCard.svelte @@ -0,0 +1,261 @@ + + + + +{#if ratings.length} +
+
    + {#each ratings as rating} +
  • +
    + + + +
    + {rating.title} + +
    +
    +

    + {rating.title} +

    +

    {rating.comment}

    +
    {formatDate(rating.review_date)}
    +
    +
    +
    +
    +
    + + + + {returnAvgForRating(rating)} +
    +
    +
    +
  • + {/each} +
+
+{/if} + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/SplittedHomepage.svelte b/frontend/src/lib/components/pagebuilder/blocks/SplittedHomepage.svelte new file mode 100644 index 0000000..185e741 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/SplittedHomepage.svelte @@ -0,0 +1,203 @@ + + +
+
+
    + {#each selfImprovementChapters as chapter, i} +
  • + {#if i == selectedChapter} +

    + {chapter.title} +

    + {:else} +

    {chapter.alias}

    + {/if} + +

    + {@html chapter.shortDescription} +

    +
  • + {/each} +
+
+ + + + + + + + +
+
+ + diff --git a/frontend/src/lib/components/pagebuilder/blocks/Step.svelte b/frontend/src/lib/components/pagebuilder/blocks/Step.svelte new file mode 100644 index 0000000..09a91bc --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/Step.svelte @@ -0,0 +1,48 @@ + + +
  • +
    + +

    + {i + 1} +

    +
    +
    +
    +

    + {item.title} +

    + + + + +
    +
    +
      + {#each item.descriptions as description} +
    • + {description} +
    • + {/each} +
    +
    +
    +
  • diff --git a/frontend/src/lib/components/pagebuilder/blocks/Steps.svelte b/frontend/src/lib/components/pagebuilder/blocks/Steps.svelte new file mode 100644 index 0000000..591c327 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/Steps.svelte @@ -0,0 +1,172 @@ + + + + + + +{#if block.steps?.horizontal} +
    +
      + {#each block.steps.items as item, i} + + {/each} +
    +
    +{:else} +
      + {#each block.steps.items as item, i} + + {/each} +
    +{/if} + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/columns/CTA.svelte b/frontend/src/lib/components/pagebuilder/blocks/columns/CTA.svelte new file mode 100644 index 0000000..fa610a7 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/columns/CTA.svelte @@ -0,0 +1,52 @@ + + +
    + {#if cta.upperHeadline} + + {cta.upperHeadline} + + {/if} + +

    + {cta.whiteHeadline} + {#if cta.headlineArrangement !== "row"}
    {/if} {cta.redHeadline} +

    + +

    {cta.description}

    +
    + {#each cta.callToActionButtons as button} +
    +
    + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/columns/ChapterDescription.svelte b/frontend/src/lib/components/pagebuilder/blocks/columns/ChapterDescription.svelte new file mode 100644 index 0000000..2a8f56c --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/columns/ChapterDescription.svelte @@ -0,0 +1,27 @@ + + +
    +

    + {title} +

    +

    + {@html description} +

    +
    + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/columns/Text.svelte b/frontend/src/lib/components/pagebuilder/blocks/columns/Text.svelte new file mode 100644 index 0000000..719ba0b --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/columns/Text.svelte @@ -0,0 +1,13 @@ + + +{@html column.text} +{#if column.links?.length} +
    + + +
    +{/if} diff --git a/frontend/src/lib/components/pagebuilder/blocks/form/Calendar.svelte b/frontend/src/lib/components/pagebuilder/blocks/form/Calendar.svelte new file mode 100644 index 0000000..43cc2b3 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/form/Calendar.svelte @@ -0,0 +1,193 @@ + + + + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/form/FileInput.svelte b/frontend/src/lib/components/pagebuilder/blocks/form/FileInput.svelte new file mode 100644 index 0000000..0d66a7a --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/form/FileInput.svelte @@ -0,0 +1,342 @@ + + + +{#if showApproveModal} + + Dateiformat Warnung +

    + Deine Datei wird von einigen Browsern, insbesondere von Google Chrome, nur eingeschränkt unterstützt. Wenn + du die Datei dennoch hochladen möchtest, klicke auf "Fortfahren". Andernfalls empfehlen wir, das Video + zunächst in eine MP4-Datei zu konvertieren. Dafür stehen zahlreiche kostenlose Online-Dienste zur Verfügung. +

    + +
    +{/if} + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/form/Input.svelte b/frontend/src/lib/components/pagebuilder/blocks/form/Input.svelte new file mode 100644 index 0000000..0869632 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/form/Input.svelte @@ -0,0 +1,143 @@ + + + + + diff --git a/frontend/src/lib/components/pagebuilder/blocks/form/Select.svelte b/frontend/src/lib/components/pagebuilder/blocks/form/Select.svelte new file mode 100644 index 0000000..05d8381 --- /dev/null +++ b/frontend/src/lib/components/pagebuilder/blocks/form/Select.svelte @@ -0,0 +1,102 @@ + + + + + + +