version two
Some checks failed
deploy to production / deploy (push) Failing after 31s

This commit is contained in:
2023-11-12 11:45:32 +00:00
parent 92ca030e6c
commit 9d58febf4d
18 changed files with 110 additions and 47 deletions

View File

@@ -85,9 +85,9 @@ jobs:
# docker compose -p ${GITHUB_REF_NAME}-${GITHUB_REPOSITORY_NAME}-${GITHUB_REPOSITORY_OWNER} up -d --build --remove-orphans # docker compose -p ${GITHUB_REF_NAME}-${GITHUB_REPOSITORY_NAME}-${GITHUB_REPOSITORY_OWNER} up -d --build --remove-orphans
- name: deploy - name: deploy
if: github.ref == 'refs/heads/master' #if: github.ref == 'refs/heads/master'
env: env:
RSYNC_USER: "fontis_rsync_master" #RSYNC_USER: "fontis_rsync_master"
RSYNC_PASS: ${{ secrets.rsync_master }} # RSYNC_PASS: ${{ secrets.rsync_master }}
run: | run: |
scripts/deploy.sh ftp1.webmakers.de $RSYNC_USER $RSYNC_PASS scripts/deploy.sh ftp1.webmakers.de $RSYNC_USER $RSYNC_PASS

View File

@@ -11,6 +11,12 @@ meta:
- type: table - type: table
columns: columns:
- source: path - source: path
name: Pfad
- source: pageTitle
name: Titel
- source: active
name: Aktiv
tablist: tablist:
activeTab: site activeTab: site
tabs: tabs:
@@ -18,9 +24,9 @@ meta:
label: Allgemein label: Allgemein
subFields: subFields:
- source: path - source: path
- source: type
- source: pageTitle - source: pageTitle
- source: topTitleUpperCase - source: type
- source: active - source: active
- name: teaser - name: teaser
@@ -57,6 +63,11 @@ meta:
- type: table - type: table
columns: columns:
- source: path - source: path
name: Pfad
- source: pageTitle
name: Titel
- source: active
name: Aktiv
filter: filter:
type: page type: page
@@ -73,9 +84,13 @@ meta:
- type: table - type: table
columns: columns:
- source: path - source: path
name: Pfad
- source: pageTitle
name: Titel
- source: active
name: Aktiv
filter: filter:
type: teamMember type: teamMembers
- name: jobOffers - name: jobOffers
label: label:
@@ -89,9 +104,14 @@ meta:
- type: table - type: table
columns: columns:
- source: path - source: path
name: Pfad
- source: pageTitle
name: Titel
- source: active
name: Aktiv
filter: filter:
type: jobOffer type: jobOffers
imageFilter: imageFilter:
xs: xs:
@@ -150,17 +170,35 @@ fields:
meta: meta:
label: Pfad label: Pfad
helperText: "Ein Pfad sollte mit einem / starten und ohne eins enden." helperText: "Ein Pfad sollte mit einem / starten und ohne eins enden."
containerProps:
layout:
size:
default: "col-6"
small: "col-12"
large: "col-6"
- type: boolean - type: boolean
name: active name: active
meta: meta:
label: Aktiv label: Aktiv
containerProps:
layout:
size:
default: "col-6"
small: "col-12"
large: "col-6"
- type: string - type: string
name: type name: type
meta: meta:
label: Typ label: Typ
widget: select widget: select
containerProps:
layout:
size:
default: "col-6"
small: "col-12"
large: "col-6"
choices: choices:
- name: Seite - name: Seite
id: page id: page
@@ -180,7 +218,7 @@ fields:
layout: layout:
size: size:
default: "col-6" default: "col-6"
small: "col-6" small: "col-12"
large: "col-6" large: "col-6"
- name: personType - name: personType

View File

@@ -48,6 +48,7 @@ meta:
pageAsDropArea: false pageAsDropArea: false
columns: columns:
- source: file - source: file
name: Datei
- source: updateTime - source: updateTime
type: datetime type: datetime
label: letztes Update label: letztes Update
@@ -67,6 +68,7 @@ meta:
fields: fields:
- source: file - source: file
name: Datei
- source: updateTime - source: updateTime
type: datetime type: datetime
label: letztes Update label: letztes Update

View File

@@ -10,6 +10,7 @@ meta:
- type: table - type: table
columns: columns:
- source: type - source: type
name: Typ
subNavigation: subNavigation:
- name: modal - name: modal
@@ -100,6 +101,22 @@ fields:
- name: Stellenanzeigen - name: Stellenanzeigen
id: jobOffer id: jobOffer
- name: jobOfferPage
type: string
meta:
label: Stellenanzeigen
widget: select
dependsOn:
eval: $parent.type == 'jobOfferLink'
choices:
endpoint: page
params:
sort: path
projection: navigation
mapping:
id: path
name: path
- name: iconCycleCircle - name: iconCycleCircle
type: object type: object
meta: meta:
@@ -114,7 +131,7 @@ fields:
meta: meta:
label: Icons im Rechteck label: Icons im Rechteck
dependsOn: dependsOn:
eval: $parent.contentType == 'iconCycleSquare' eval: $parent.type == 'iconCycleSquare'
subFields: !include fieldLists/iconCycleSquare.yml subFields: !include fieldLists/iconCycleSquare.yml
- name: worldCard - name: worldCard

View File

@@ -13,6 +13,7 @@ meta:
mediaQuery: "(min-width:600px)" mediaQuery: "(min-width:600px)"
columns: columns:
- source: tree - source: tree
name: Navigationsbaum
permissions: permissions:
public: public:

View File

@@ -44,6 +44,7 @@
let jobOffersRes: Pages = {} let jobOffersRes: Pages = {}
pagesArray.forEach((e) => { pagesArray.forEach((e) => {
if (!e.active) return
if (e.type == "page") { if (e.type == "page") {
pagesRes[e.path] = e pagesRes[e.path] = e
} else if (e.type == "teamMembers") { } else if (e.type == "teamMembers") {
@@ -86,6 +87,7 @@
getNavigation() getNavigation()
getPages() getPages()
getLibrary() getLibrary()
getModules()
let activeMenu = false let activeMenu = false
$: { $: {

View File

@@ -4,9 +4,10 @@
let nextpage = $navigation?.pages[0] let nextpage = $navigation?.pages[0]
$: nextpage = $navigation?.pages[0] $: nextpage = $navigation?.pages[0]
function getNextPage(pages) { function getNextPage(pages) {
console.log(pages, "pages") if (location.pathname == "/" || location.pathname == "") {
if (location.pathname == "/" || location.pathname == "") return $navigation?.pages?.length > 1 ? (nextpage = $navigation?.pages[1]) : (nextpage = $navigation?.pages[0])
return
}
let currPage = pages.find( let currPage = pages.find(
(page) => Object.values($pages)?.find((o) => o.id == page.page)?.path == location.pathname (page) => Object.values($pages)?.find((o) => o.id == page.page)?.path == location.pathname
) )

View File

@@ -5,6 +5,8 @@
import TextLink from "../widgets/textLink.svelte" import TextLink from "../widgets/textLink.svelte"
let teasers = Object.values($pages)?.map((page) => ({ teaser: page.teaser, path: page.path })) let teasers = Object.values($pages)?.map((page) => ({ teaser: page.teaser, path: page.path }))
$: teasers = Object.values($pages)?.map((page) => ({ teaser: page.teaser, path: page.path }))
console.log("teasers:", teasers)
register(false) register(false)
let swiper let swiper

View File

@@ -8,13 +8,11 @@
import PageLinkBlocks from "../widgets/pageLinkBlocks.svelte" import PageLinkBlocks from "../widgets/pageLinkBlocks.svelte"
import Persons from "../widgets/persons.svelte" import Persons from "../widgets/persons.svelte"
let col: { contentType: "moduleImport"; moduleImport: string } export let col: { contentType: "moduleImport"; moduleImport: string }
let pageId: string export let pageId: string
let bright: boolean
let isHP: boolean
let row: Row
let module = $modules[col.moduleImport] let module = $modules[col.moduleImport] || {}
$: module = $modules[col.moduleImport] || {}
</script> </script>
{#if module.type == "iconCycleCircle"} {#if module.type == "iconCycleCircle"}
@@ -30,5 +28,5 @@
{:else if module.type == "jobOffer"} {:else if module.type == "jobOffer"}
<ExtendableBox pages="{Object.values($jobOffers)}" /> <ExtendableBox pages="{Object.values($jobOffers)}" />
{:else if module.type == "jobOfferLink"} {:else if module.type == "jobOfferLink"}
<PageLinkBlocks pages="{Object.values($jobOffers)}" /> <PageLinkBlocks pages="{Object.values($jobOffers)}" pageReference="{module.jobOfferPage}" />
{/if} {/if}

View File

@@ -26,7 +26,7 @@
export let i: number export let i: number
export let page: Page export let page: Page
export let personPage: boolean export let personPage: boolean
console.log("page", page, personPage)
window.addEventListener("popstate", function (event) { window.addEventListener("popstate", function (event) {
$rerender = $rerender + 1 $rerender = $rerender + 1
}) })
@@ -44,8 +44,9 @@
style="cursor: pointer; display: flex; align-items: center; gap: 10px; line-height: 1.4;" style="cursor: pointer; display: flex; align-items: center; gap: 10px; line-height: 1.4;"
on:keydown on:keydown
on:click="{() => { on:click="{() => {
navigate('/' + location.pathname.split('/').at(1))
$rerender = $rerender + 1 $rerender = $rerender + 1
navigate('/' + location.pathname.split('/').at(0))
}}" }}"
> >
<img src="/media/arrow-l.svg" alt="arrow" /> Zurück zur Übersicht <img src="/media/arrow-l.svg" alt="arrow" /> Zurück zur Übersicht
@@ -54,12 +55,13 @@
style="cursor: pointer; display: flex; align-items: center; gap: 10px; line-height: 1.4;" style="cursor: pointer; display: flex; align-items: center; gap: 10px; line-height: 1.4;"
on:keydown on:keydown
on:click="{() => { on:click="{() => {
$rerender = $rerender + 1
let chefs = Object.values($team).filter((p) => p.personType == 'chef') let chefs = Object.values($team).filter((p) => p.personType == 'chef')
let i = chefs.findIndex((p) => p.path == page.path) let i = chefs.findIndex((p) => p.path == page.path)
if (i == chefs.length - 1) i = 0 if (i == chefs.length - 1) i = 0
else i++ else i++
navigate(chefs[i].path) navigate(chefs[i].path)
$rerender = $rerender + 1
}}" }}"
> >
Zum nächsten Profil <img src="/media/arrowr.svg" alt="arrow" /> Zum nächsten Profil <img src="/media/arrowr.svg" alt="arrow" />
@@ -99,7 +101,7 @@
bright="{bright}" bright="{bright}"
/> />
{:else if col.contentType == "moduleImport"} {:else if col.contentType == "moduleImport"}
<Module col="{col}" pageId="{pageId}" bright="{bright}" isHP="{isHP}" row="{row}" /> <Module col="{col}" pageId="{pageId}" />
{:else if col.contentType == "image"} {:else if col.contentType == "image"}
<Image image="{col?.image}" col="{col}" pageId="{pageId}" /> <Image image="{col?.image}" col="{col}" pageId="{pageId}" />
{:else if col.contentType == "iconBlocks"} {:else if col.contentType == "iconBlocks"}
@@ -114,8 +116,6 @@
<InfoBoard col="{col}" pageId="{pageId}" /> <InfoBoard col="{col}" pageId="{pageId}" />
{:else if col.contentType == "nestedCard"} {:else if col.contentType == "nestedCard"}
<NestedCard col="{col}" /> <NestedCard col="{col}" />
{/if} {/if}
</div> </div>
{/each} {/each}

View File

@@ -74,9 +74,11 @@
{/if} {/if}
<div class="content" class:bright="{row.backgroundImage}"> <div class="content" class:bright="{row.backgroundImage}">
<Pagebuilder <Pagebuilder
personPage personPage="{personPage}"
isHP="{path == '/'}" isHP="{path == '/'}"
i="{i}"
row="{row}" row="{row}"
page="{page}"
pageId="{page.id}" pageId="{page.id}"
bright="{!!row.backgroundImage}" bright="{!!row.backgroundImage}"
/> />

View File

@@ -38,9 +38,9 @@
<div style="display: flex; flex-direction: column; width: 100%; align-items: center;"> <div style="display: flex; flex-direction: column; width: 100%; align-items: center;">
<div class="worldcard"> <div class="worldcard">
<div class="worldcard"> <div class="worldcard">
{#each worldCard.rows as row} {#each worldCard?.row as row}
<div class="wc-row"> <div class="wc-row">
{#each row.cards as card} {#each row?.cards as card}
<Card <Card
card="{card}" card="{card}"
properties="{availableProperties}" properties="{availableProperties}"

View File

@@ -3,38 +3,35 @@
import { openExtendableNr } from "../../store" import { openExtendableNr } from "../../store"
export let pages: Page[] export let pages: Page[]
export let opened = -1 export let opened = ""
let jobOffers = pages.map((p) => p.jobOffer) let jobOffers = pages.map((p) => p.jobOffer)
onMount(() => { onMount(() => {
if (!isNaN($openExtendableNr) && $openExtendableNr !== -1) { opened = location.search.split("=").at(-1)
opened = $openExtendableNr
$openExtendableNr = -1
}
}) })
</script> </script>
<div class="boxes"> <div class="boxes">
{#each jobOffers as box, i} {#each jobOffers as box, i}
<div class="box" class:opened="{i == opened}"> <div class="box" class:opened="{pages[i].id == opened}">
<div <div
class="upper" class="upper"
on:keydown on:keydown
on:click="{() => { on:click="{() => {
if (opened == i) opened = -1 if (opened == pages[i].id) opened = ''
else opened = i else opened = pages[i].id
}}" }}"
> >
<h4> <h4>
{box.title} {box.title}
</h4> </h4>
<div> <div>
{#if i !== opened}<img src="/media/down.svg" alt="arrow" />{:else}<img {#if pages[i].id !== opened}<img src="/media/down.svg" alt="arrow" />{:else}<img
src="/media/up.svg" src="/media/up.svg"
alt="arrow" alt="arrow"
/>{/if} />{/if}
</div> </div>
</div> </div>
<div class="content" class:closed="{i !== opened}"> <div class="content" class:closed="{pages[i].id !== opened}">
{@html box.text} {@html box.text}
{#if box.emailButton} {#if box.emailButton}
<a <a

View File

@@ -3,7 +3,7 @@
import { mediaLibrary } from "../../store" import { mediaLibrary } from "../../store"
export let iconCycleSquare: IconCycleSquare export let iconCycleSquare: IconCycleSquare
export let pageId: string export let pageId: string
console.log("YEY")
let active = -1 let active = -1
setInterval(() => { setInterval(() => {
active += 1 active += 1

View File

@@ -1,13 +1,13 @@
<script lang="ts"> <script lang="ts">
import { apiBaseURL } from "../../../config" import { apiBaseURL } from "../../../config"
import { mediaLibrary } from "../../store" import { mediaLibrary } from "../../store"
export let image: FileField export let image: string
export let pageId: string export let pageId: string
export let col: { contentType: "image"; image: string; icons: { icon: string; link: string }[] } export let col: { contentType: "image"; image: string; icons: { icon: string; link: string }[] }
</script> </script>
<div class="image-container"> <div class="image-container">
<img src="{`${apiBaseURL}medialib/${image?.src}/${$mediaLibrary[image?.src]?.file?.src}`}" alt="img" /> <img src="{`${apiBaseURL}medialib/${image}/${$mediaLibrary[image]?.file?.src}`}" alt="img" />
</div> </div>
{#if col && col.icons} {#if col && col.icons}
<div class="icons"> <div class="icons">
@@ -15,7 +15,7 @@
<div class="icon"> <div class="icon">
<a href="{icon.link}" style="text-decoration: none;" target="_blank"> <a href="{icon.link}" style="text-decoration: none;" target="_blank">
<img <img
src="{`${apiBaseURL}medialib/${image?.src}/${$mediaLibrary[image?.src]?.file?.src}`}" src="{`${apiBaseURL}medialib/${icon.icon}/${$mediaLibrary[icon.icon]?.file?.src}`}"
alt="img" alt="img"
/> />
</a> </a>

View File

@@ -2,17 +2,19 @@
import { navigate } from "svelte-routing/src/history" import { navigate } from "svelte-routing/src/history"
import { openExtendableNr, rerender, scrollToRowNr } from "../../store" import { openExtendableNr, rerender, scrollToRowNr } from "../../store"
export let pages: Page[] export let pages: Page[]
export let pageReference: string
let jobOffers = pages.map((p) => p.jobOffer) let jobOffers = pages.map((p) => p.jobOffer)
let focused = -1 let focused = -1
</script> </script>
<div class="link-container"> <div class="link-container">
{#each jobOffers as job, i} {#each jobOffers as job, i}
{#if i > 3} {#if i < 3}
<button <button
class="page-ref" class="page-ref"
on:click="{() => { on:click="{() => {
$rerender = $rerender + 1 $rerender = $rerender + 1
navigate(pageReference + '?elem=' + pages[i].id)
}}" }}"
> >
{job.title} {job.title}
@@ -28,6 +30,7 @@
class="row-ref fill" class="row-ref fill"
on:click="{() => { on:click="{() => {
$rerender = $rerender + 1 $rerender = $rerender + 1
navigate(pageReference)
}}" }}"
> >
<div>Mehr offene Stellen</div> <div>Mehr offene Stellen</div>

View File

@@ -22,7 +22,7 @@
<!-- Initial Image --> <!-- Initial Image -->
<img <img
class="initial" class="initial"
src="{`${apiBaseURL}medialib/${p.personPreview.hoverImage}/${ src="{`${apiBaseURL}medialib/${p.personPreview.initialImage}/${
$mediaLibrary[p.personPreview.initialImage]?.file?.src $mediaLibrary[p.personPreview.initialImage]?.file?.src
}`}" }`}"
alt="img" alt="img"

4
types/global.d.ts vendored
View File

@@ -64,7 +64,7 @@ type Module =
| { id: string; type: "worldCard"; worldCard: WorldCard } | { id: string; type: "worldCard"; worldCard: WorldCard }
| { id: string; type: "chefTeam" } | { id: string; type: "chefTeam" }
| { id: string; type: "employeeTeam" } | { id: string; type: "employeeTeam" }
| { id: string; type: "jobOfferLink" } | { id: string; type: "jobOfferLink"; jobOfferPage: string }
| { id: string; type: "jobOffer" } | { id: string; type: "jobOffer" }
interface Publication { interface Publication {
@@ -107,7 +107,7 @@ interface InfoBoard {
} }
interface WorldCard { interface WorldCard {
rows: WorldCardRow[] row: WorldCardRow[]
} }
interface worldCardRow { interface worldCardRow {
cards: Card[] cards: Card[]