| @@ -8,28 +8,38 @@ export const createImageText = | |||||
| switched = 'normal', | switched = 'normal', | ||||
| listItems: listItems = imageTextData, | listItems: listItems = imageTextData, | ||||
| headline = 'Warum wählen?', | headline = 'Warum wählen?', | ||||
| smallheadline = false, | |||||
| text = 'Sie können mitbestimmen, wer Sie und Ihre die Interessen Ihres Unternehmens vertritt.', | text = 'Sie können mitbestimmen, wer Sie und Ihre die Interessen Ihres Unternehmens vertritt.', | ||||
| image = './dummy/why-elect.jpg', | image = './dummy/why-elect.jpg', | ||||
| link = '', | |||||
| link = '#', | |||||
| linkname = 'Mehr erfahren', | linkname = 'Mehr erfahren', | ||||
| }) => { | }) => { | ||||
| const div = createElement('div', ['image-text', colored, switched], null); | const div = createElement('div', ['image-text', colored, switched], null); | ||||
| const div2 = createElement('div', ['image-text--image'], null, div); | const div2 = createElement('div', ['image-text--image'], null, div); | ||||
| const div3 = createElement('div', ['image-text--text'], null, div); | const div3 = createElement('div', ['image-text--text'], null, div); | ||||
| createImage(image, 400, 400, '', [], div2); | createImage(image, 400, 400, '', [], div2); | ||||
| createElement('h2', [], headline, div3); | |||||
| if (smallheadline){ | |||||
| createElement('h3', [], headline, div3); | |||||
| } | |||||
| else{ | |||||
| createElement('h2', [], headline, div3); | |||||
| } | |||||
| createElement('p', [], text, div3); | createElement('p', [], text, div3); | ||||
| const ul = createElement('ul', [], null, div3); | const ul = createElement('ul', [], null, div3); | ||||
| listItems.map((item) => { | |||||
| const li = createElement('li', [], null, ul); | |||||
| if (item.headline && item.headline.length > 0) { | |||||
| createElement('h3', [], item.headline, li); | |||||
| } | |||||
| if (item.text && item.text.length > 0) { | |||||
| createElement('p', [], item.text, li); | |||||
| } | |||||
| }); | |||||
| const a = createElement('a', ['btn', 'secondary', 'has-icon', 'icon-small-arrow-right-simple'], linkname, div3); | |||||
| a.href = link; | |||||
| if (listItems){ | |||||
| listItems.map((item) => { | |||||
| const li = createElement('li', [], null, ul); | |||||
| if (item.headline && item.headline.length > 0) { | |||||
| createElement('h3', [], item.headline, li); | |||||
| } | |||||
| if (item.text && item.text.length > 0) { | |||||
| createElement('p', [], item.text, li); | |||||
| } | |||||
| }); | |||||
| } | |||||
| if (link) { | |||||
| const a = createElement('a', ['btn', 'secondary', 'has-icon', 'icon-small-arrow-right-simple'], linkname, div3); | |||||
| a.href = link; | |||||
| } | |||||
| return div; | return div; | ||||
| } | } | ||||
| @@ -12,6 +12,22 @@ | |||||
| @media(max-width: 767px) { | @media(max-width: 767px) { | ||||
| display: block; | display: block; | ||||
| } | } | ||||
| h3{ | |||||
| font-size: 28px; | |||||
| line-height: 120%; /* 50.4px */ | |||||
| @media(min-width: 768px) { | |||||
| font-size: 36px; | |||||
| } | |||||
| @media(min-width: 1110px) { | |||||
| font-size: 42px; | |||||
| } | |||||
| + p { | |||||
| font-size: 18px; | |||||
| @media(min-width: 768px) { | |||||
| font-size: 22px; | |||||
| } | |||||
| } | |||||
| } | |||||
| &.colored { | &.colored { | ||||
| &:before { | &:before { | ||||
| @@ -1,7 +1,5 @@ | |||||
| import {createElement} from "../../_global/scripts/helpers"; | import {createElement} from "../../_global/scripts/helpers"; | ||||
| import {createHeader} from "../../components/header/HeaderComponent"; | import {createHeader} from "../../components/header/HeaderComponent"; | ||||
| import {createPageDetails} from "../../components/page-details/PageDetailsComponent"; | |||||
| import {createIntro} from "../../sections/intro/IntroComponent"; | |||||
| import {createTeasersSection} from "../../sections/teasers/TeasersComponent"; | import {createTeasersSection} from "../../sections/teasers/TeasersComponent"; | ||||
| import {createFooter} from "../../components/footer/FooterComponent"; | import {createFooter} from "../../components/footer/FooterComponent"; | ||||
| import {createTopicTeasersSection} from "../../sections/topic-teasers/TopicTeasersComponent"; | import {createTopicTeasersSection} from "../../sections/topic-teasers/TopicTeasersComponent"; | ||||
| @@ -10,8 +8,9 @@ import {createContact} from "../../components/contact/ContactComponent"; | |||||
| import {createEventsSection} from "../../sections/events/EventsComponent"; | import {createEventsSection} from "../../sections/events/EventsComponent"; | ||||
| import {createFeature} from "../../sections/feature/FeatureComponent"; | import {createFeature} from "../../sections/feature/FeatureComponent"; | ||||
| import {createImageText} from "../../components/image-text/ImageTextComponent"; | import {createImageText} from "../../components/image-text/ImageTextComponent"; | ||||
| import {createETLSlider} from "../../sections/event-teaser-large-slider/EventTeaserLargeSliderComponent"; | |||||
| import {createEventOverviewStage} from "../../sections/eventoverview-stage/EventOverviewStageComponent"; | import {createEventOverviewStage} from "../../sections/eventoverview-stage/EventOverviewStageComponent"; | ||||
| import {sliderData} from "../../sections/event-teaser-large-slider/EventTeaserLargeSliderData"; | |||||
| export const createEventOverviewPage = ({ | export const createEventOverviewPage = ({ | ||||
| @@ -20,12 +19,25 @@ export const createEventOverviewPage = ({ | |||||
| page.appendChild(createHeader({})); | page.appendChild(createHeader({})); | ||||
| const wrapper = createElement('div', ['page-wrapper'], null, page); | const wrapper = createElement('div', ['page-wrapper'], null, page); | ||||
| //wrapper.appendChild(createPageDetails({})); | |||||
| wrapper.appendChild(createEventOverviewStage({})); | wrapper.appendChild(createEventOverviewStage({})); | ||||
| wrapper.appendChild(createImageText({ | |||||
| headline: 'Beratung und Service', | |||||
| text: 'Wir beraten Unternehmen!', | |||||
| wrapper.appendChild(createETLSlider ({ | |||||
| slides : sliderData, | |||||
| widemode: true, | |||||
| moreCta : { | |||||
| label: 'Mehr erfahren', | |||||
| target: '_self', | |||||
| }, | |||||
| headline : 'Premium Seminare', | |||||
| })); | |||||
| const container1 = createElement('div', ['container'], null, wrapper); | |||||
| container1.appendChild(createImageText({ | |||||
| text: '— Karsten Meinert, Unternehmensgründer aus Musterstadt', | |||||
| headline: '„Die praxisorientierten Lehrinhalte und das Engagement der Dozenten haben den Unterricht nicht nur lehrreich, sondern auch äußerst spannend gemacht.”', | |||||
| link: null, | |||||
| listItems : null, | |||||
| smallheadline: true, | |||||
| })); | })); | ||||
| wrapper.appendChild(createTopicTeasersSection({maxItems: 3})); | wrapper.appendChild(createTopicTeasersSection({maxItems: 3})); | ||||
| wrapper.appendChild(createTeasersSection({type: 'hero', maxItems: 2})); | wrapper.appendChild(createTeasersSection({type: 'hero', maxItems: 2})); | ||||
| @@ -1,4 +1,4 @@ | |||||
| import {createSlider} from "./EventTeaserLargeSliderComponent"; | |||||
| import {createETLSlider} from "./EventTeaserLargeSliderComponent"; | |||||
| import {sliderData} from "./EventTeaserLargeSliderData"; | import {sliderData} from "./EventTeaserLargeSliderData"; | ||||
| export default { | export default { | ||||
| @@ -16,7 +16,7 @@ export default { | |||||
| } | } | ||||
| const Template = ({...args}) => { | const Template = ({...args}) => { | ||||
| return createSlider({...args}); | |||||
| return createETLSlider({...args}); | |||||
| }; | }; | ||||
| export const Slider = Template.bind({}); | export const Slider = Template.bind({}); | ||||
| @@ -5,7 +5,7 @@ import {createButton} from "../../atoms/button/ButtonComponent"; | |||||
| import IHKETLSlider from "./eventteaserlargeslider"; | import IHKETLSlider from "./eventteaserlargeslider"; | ||||
| import {sliderData} from "./EventTeaserLargeSliderData"; | import {sliderData} from "./EventTeaserLargeSliderData"; | ||||
| export const createSlider = | |||||
| export const createETLSlider = | |||||
| ({ | ({ | ||||
| slides = sliderData, | slides = sliderData, | ||||
| widemode = true, | widemode = true, | ||||
| @@ -3,16 +3,17 @@ | |||||
| @import '../../components/event-teaser-large/event-teaser-large.scss'; | @import '../../components/event-teaser-large/event-teaser-large.scss'; | ||||
| .right-open-container{ | .right-open-container{ | ||||
| width: calc((var(--container-width) / 2) + 50vw - 20px); | |||||
| margin-left:auto; | |||||
| margin-right:0; | |||||
| padding-right:0; | |||||
| @media (min-width: 1000px) { | |||||
| width: calc((var(--container-width) / 2) + 50vw - 20px); | |||||
| margin-left:auto; | |||||
| margin-right:0; | |||||
| padding-right:0; | |||||
| } | |||||
| } | } | ||||
| .eventteaserlargeslider { | .eventteaserlargeslider { | ||||
| opacity: 0; | opacity: 0; | ||||
| transition: opacity 0.4s linear; | transition: opacity 0.4s linear; | ||||
| &.initiated { | &.initiated { | ||||
| opacity: 1; | opacity: 1; | ||||
| } | } | ||||
| @@ -44,6 +45,10 @@ | |||||
| width: 80000px; | width: 80000px; | ||||
| contain: layout; | contain: layout; | ||||
| margin:0 -15px; | margin:0 -15px; | ||||
| @media(max-width: 999px) { | |||||
| width: 10000%; | |||||
| margin:0; | |||||
| } | |||||
| &.no-transition { | &.no-transition { | ||||
| -webkit-user-select: none; | -webkit-user-select: none; | ||||
| -moz-user-select: none; | -moz-user-select: none; | ||||
| @@ -69,13 +74,14 @@ | |||||
| .slide { | .slide { | ||||
| position: relative; | position: relative; | ||||
| //width: 100% !important; | |||||
| width:1%; | width:1%; | ||||
| max-width:1%; | max-width:1%; | ||||
| min-width:1%; | min-width:1%; | ||||
| //max-width: 800px !important; | |||||
| min-height:400px; | min-height:400px; | ||||
| padding:0 15px; | |||||
| @media(min-width: 1000px) { | |||||
| padding:0 15px; | |||||
| } | |||||
| } | } | ||||
| .prev-clone, | .prev-clone, | ||||
| @@ -92,6 +98,11 @@ | |||||
| } | } | ||||
| } | } | ||||
| .rotation h1{ | |||||
| max-width: 50%; | |||||
| display: inline-block; | |||||
| } | |||||
| .rotation .eventteaserlargeslider { | .rotation .eventteaserlargeslider { | ||||
| margin-bottom:2rem; | margin-bottom:2rem; | ||||
| position: relative; | position: relative; | ||||
| @@ -116,11 +127,6 @@ | |||||
| font-size: 0; | font-size: 0; | ||||
| line-height: 0; | line-height: 0; | ||||
| margin: 0; | margin: 0; | ||||
| @media(max-width: 567px) { | |||||
| margin-bottom: 12px; | |||||
| } | |||||
| li { | li { | ||||
| display: inline-block; | display: inline-block; | ||||
| vertical-align: top; | vertical-align: top; | ||||
| @@ -166,22 +172,30 @@ | |||||
| .prev, .next { | .prev, .next { | ||||
| position: absolute; | position: absolute; | ||||
| top: -100px; | |||||
| top: -94px; | |||||
| width: 60px; | width: 60px; | ||||
| height: 60px; | height: 60px; | ||||
| text-align: center; | text-align: center; | ||||
| line-height: 60px; | line-height: 60px; | ||||
| left: calc(var(--container-width) - 2 * var(--container-padding) - 60px); | left: calc(var(--container-width) - 2 * var(--container-padding) - 60px); | ||||
| //margin: -25px 10px; | |||||
| color: var(--theme-color-primary); | color: var(--theme-color-primary); | ||||
| right:auto; | right:auto; | ||||
| border-radius: 24px; | border-radius: 24px; | ||||
| background: var(--theme-color-primary-dimmed-04); | background: var(--theme-color-primary-dimmed-04); | ||||
| @media(max-width: 1580px) { | |||||
| left:auto; | |||||
| right: var(--container-padding); | |||||
| } | |||||
| @media(max-width: 1339px) { | |||||
| top: -90px; | |||||
| } | |||||
| @media(max-width: 999px) { | |||||
| right:0px; | |||||
| top: -80px; | |||||
| } | |||||
| @media(max-width: 767px) { | @media(max-width: 767px) { | ||||
| display: none; | |||||
| } | } | ||||
| &:before { | &:before { | ||||
| @include icon-small-arrow-right-simple; | @include icon-small-arrow-right-simple; | ||||
| font-family: "Icons", sans-serif; | font-family: "Icons", sans-serif; | ||||
| @@ -192,6 +206,13 @@ | |||||
| .prev { | .prev { | ||||
| left: calc(var(--container-width) - 2 * var(--container-padding) - 140px); | left: calc(var(--container-width) - 2 * var(--container-padding) - 140px); | ||||
| transform: rotate(180deg); | transform: rotate(180deg); | ||||
| @media(max-width: 1580px) { | |||||
| left:auto; | |||||
| right:calc(var(--container-padding) + 80px); | |||||
| } | |||||
| @media(max-width: 999px) { | |||||
| right:80px; | |||||
| } | |||||
| } | } | ||||
| .count{ | .count{ | ||||
| display:none; | display:none; | ||||
| @@ -0,0 +1,36 @@ | |||||
| import {EventTeasersLargeData} from "./EventTeasersLargeData"; | |||||
| import {createEventTeasersLarge} from "./EventTeasersLargeComponent"; | |||||
| export default { | |||||
| title: 'Sections/Event Teasers Large', | |||||
| parameters: { | |||||
| layout: 'fullscreen', | |||||
| }, | |||||
| args: { | |||||
| headline: 'Gründung und Nachfolge', | |||||
| count: 9, | |||||
| items: EventTeasersLargeData, | |||||
| buttonLabel: 'Mehr Veranstaltungen zu Gründung und Nachfolge', | |||||
| }, | |||||
| argTypes: { | |||||
| headline: { | |||||
| name: 'Überschrift', | |||||
| }, | |||||
| count: { | |||||
| name: 'Anzahl aller Beteiligungen', | |||||
| }, | |||||
| items: { | |||||
| name: 'Teaser', | |||||
| }, | |||||
| buttonLabel: { | |||||
| name: 'Button Label', | |||||
| } | |||||
| }, | |||||
| } | |||||
| const Template = ({...args}) => { | |||||
| return createEventTeasersLarge({...args}); | |||||
| }; | |||||
| export const EventTeasersLarge = Template.bind({}); | |||||
| EventTeasersLarge.args = {}; | |||||
| @@ -0,0 +1,39 @@ | |||||
| import './event-teasers-large.scss'; | |||||
| import {EventTeasersLargeData} from "./EventTeasersLargeData"; | |||||
| import {createElement} from "../../_global/scripts/helpers"; | |||||
| import {createButton} from "../../atoms/button/ButtonComponent"; | |||||
| import {createEventTeaserLarge} from "../../components/event-teaser-large/EventTeaserLargeComponent"; | |||||
| export const createEventTeasersLarge = ({ | |||||
| headline = 'Gründung und Nachfolge', | |||||
| count = 9, | |||||
| widemode = false, | |||||
| events = EventTeasersLargeData, | |||||
| buttonLabel = 'Alle aktuellen Beteiligungen', | |||||
| }) => { | |||||
| const section = createElement('section', ['event-teasers-large']); | |||||
| const hlContainer = createElement('div', ['container'], null, section); | |||||
| const hl = createElement('h2', [], headline, hlContainer); | |||||
| const wrapper = createElement('div', ['overflow-wrapper'], null, section); | |||||
| const container = createElement('div', ['container'], null, wrapper); | |||||
| const row = createElement('div', ['row'], null, container); | |||||
| events.map((event, index) => { | |||||
| if (index < 3 && index < count) { | |||||
| const col = createElement('div', ['col'], null, row); | |||||
| const teaser = createEventTeaserLarge({ | |||||
| ...event, widemode : widemode, | |||||
| }) | |||||
| col.appendChild(teaser); | |||||
| } | |||||
| }) | |||||
| if (count > 3) { | |||||
| const all = createElement('div', ['all-participations'], null, section); | |||||
| const btn = createButton({label:buttonLabel}); | |||||
| all.appendChild(btn); | |||||
| } | |||||
| return section; | |||||
| } | |||||
| @@ -0,0 +1,65 @@ | |||||
| export const EventTeaserLargeTitles = [ | |||||
| 'Basisseminar – Besser informiert in die Selbstständigkeit', | |||||
| 'NBank-Beratungssprechtag in Göttingen', | |||||
| 'Aktuelle Änderungen im Zoll- und Aussenwirtschaftsrecht zum Jahreswechsel 2022/2023', | |||||
| 'Social Media Manager/-in (IHK) - Webinar', | |||||
| ] | |||||
| export const EventTeaserLargeStatus = [ | |||||
| { | |||||
| type: 'reserved', | |||||
| label: 'Anmeldefrist abgelaufen', | |||||
| }, | |||||
| { | |||||
| type: 'waiting-list', | |||||
| label: 'Warteliste', | |||||
| }, | |||||
| { | |||||
| type: 'open', | |||||
| label: 'Freie Plätze vorhanden', | |||||
| } | |||||
| ] | |||||
| export const EventTeasersLargeData = [ | |||||
| { | |||||
| date: { weekday: 'Mo.', day: '20', month: 'Sep. 2022' }, | |||||
| title: EventTeaserLargeTitles[Math.floor(Math.random() * EventTeaserLargeTitles.length)], | |||||
| desc: 'Entfesseln Sie das volle Potenzial der generativen KI und beherrschen Sie die Kunst des Prompt-Engineerings!', | |||||
| link: '#', | |||||
| details: { | |||||
| date: '20.09.2022', | |||||
| status: EventTeaserLargeStatus[Math.floor(Math.random() * EventTeaserLargeStatus.length)], | |||||
| }, | |||||
| icon: 'Roboter', | |||||
| category: 'Gründung und Nachfolge', | |||||
| bgimage: null, | |||||
| }, | |||||
| { | |||||
| date: { weekday: 'Mo.', day: '20', month: 'Sep. 2022' }, | |||||
| title: EventTeaserLargeTitles[Math.floor(Math.random() * EventTeaserLargeTitles.length)], | |||||
| desc: 'Entfesseln Sie das volle Potenzial der generativen KI und beherrschen Sie die Kunst des Prompt-Engineerings!', | |||||
| link: '#', | |||||
| details: { | |||||
| date: '20.09.2022', | |||||
| status: EventTeaserLargeStatus[Math.floor(Math.random() * EventTeaserLargeStatus.length)], | |||||
| }, | |||||
| icon: 'Roboter', | |||||
| category: 'Gründung und Nachfolge', | |||||
| bgimage: 'https://source.unsplash.com/2vCqH34PqWs/1080x648', | |||||
| }, | |||||
| { | |||||
| date: { weekday: 'Mo.', day: '20', month: 'Sep. 2022' }, | |||||
| title: EventTeaserLargeTitles[Math.floor(Math.random() * EventTeaserLargeTitles.length)], | |||||
| desc: 'Entfesseln Sie das volle Potenzial der generativen KI und beherrschen Sie die Kunst des Prompt-Engineerings!', | |||||
| link: '#', | |||||
| details: { | |||||
| date: '20.09.2022', | |||||
| status: EventTeaserLargeStatus[Math.floor(Math.random() * EventTeaserLargeStatus.length)], | |||||
| }, | |||||
| icon: 'Roboter', | |||||
| category: 'Gründung und Nachfolge', | |||||
| bgimage: 'https://source.unsplash.com/2vCqH34PqWs/1080x648', | |||||
| } | |||||
| ] | |||||
| @@ -0,0 +1,75 @@ | |||||
| @import '../../_global/styles/mixins'; | |||||
| @import '../../_global/styles/vars'; | |||||
| .event-teasers-large { | |||||
| position: relative; | |||||
| display: block; | |||||
| padding: var(--section-padding) 0; | |||||
| margin: 0; | |||||
| background-color: var(--theme-color-primary-dimmed-04); | |||||
| @media(max-width: 767px) { | |||||
| margin-top: 24px; | |||||
| } | |||||
| h2, .like-h2 { | |||||
| margin-top: var(--section-headline-margin); | |||||
| } | |||||
| .row { | |||||
| flex-wrap: nowrap; | |||||
| margin: calc(var(--col-padding) * -1); | |||||
| padding-top: 0.3em; | |||||
| @media(max-width: 999px) { | |||||
| &::after { | |||||
| content: ''; | |||||
| position: relative; | |||||
| display: block; | |||||
| min-width: 50px; | |||||
| } | |||||
| } | |||||
| @media(max-width: 767px) { | |||||
| margin-left: -6px; | |||||
| margin-right: -6px; | |||||
| } | |||||
| } | |||||
| .col { | |||||
| position: relative; | |||||
| display: flex; | |||||
| flex: 1 1 33.3333%; | |||||
| max-width: 33.3333%; | |||||
| &:first-child { | |||||
| margin-left: auto; | |||||
| } | |||||
| &:last-child { | |||||
| margin-right: auto; | |||||
| } | |||||
| @media(max-width: 999px) { | |||||
| flex: 1 1 50%; | |||||
| max-width: 50%; | |||||
| min-width: 44vw; | |||||
| } | |||||
| @media(max-width: 767px) { | |||||
| padding: 6px; | |||||
| min-width: calc(50vw - 30px); | |||||
| } | |||||
| @media(max-width: 567px) { | |||||
| flex: 1 1 100%; | |||||
| max-width: 100%; | |||||
| min-width: 320px; | |||||
| } | |||||
| @media(max-width: 359px) { | |||||
| min-width: 300px; | |||||
| } | |||||
| } | |||||
| .all-participations { | |||||
| text-align: center; | |||||
| margin: calc(var(--col-padding) + 1.5em) 0 0; | |||||
| } | |||||
| } | |||||