Kaynağa Gözat

Fertigstellung EventoverviewStage Section

bugfix/microsites
Lukas Zimmer 2 yıl önce
ebeveyn
işleme
73cdd70385
4 değiştirilmiş dosya ile 83 ekleme ve 74 silme
  1. +7
    -17
      gfi-ihk-2024/stories/sections/eventoverview-stage/EventOverviewStage.stories.js
  2. +20
    -17
      gfi-ihk-2024/stories/sections/eventoverview-stage/EventOverviewStageComponent.js
  3. +52
    -36
      gfi-ihk-2024/stories/sections/eventoverview-stage/eventoverview-stage.scss
  4. +4
    -4
      gfi-ihk-2024/stories/sections/eventoverview-stage/eventoverview.js

+ 7
- 17
gfi-ihk-2024/stories/sections/eventoverview-stage/EventOverviewStage.stories.js Dosyayı Görüntüle

@@ -9,19 +9,9 @@ export default {
imageSrc: 'https://source.unsplash.com/2vCqH34PqWs/1080x648', imageSrc: 'https://source.unsplash.com/2vCqH34PqWs/1080x648',
kicker: 'Noch 7 Tage offen', kicker: 'Noch 7 Tage offen',
headline: 'Jetzt und digital mitreden', headline: 'Jetzt und digital mitreden',
copy: 'Mit der digitalen Beteiligung erhalten Mitgliedsunternehmen die Möglichkeit, sich einfach und schnell über laufende Verfahren und Abstimmungen zu informieren und sich aktiv daran zu beteiligen.',
moreCta: {
label: 'Mehr Infos',
link: '#',
target: '_self',
},
buttonCta: {
label: 'Jetzt beteiligen',
link: '#',
target: '_self',
},
showProgress: true,
progress: 60,
//copy: 'Mit der digitalen Beteiligung erhalten Mitgliedsunternehmen die Möglichkeit, sich einfach und schnell über laufende Verfahren und Abstimmungen zu informieren und sich aktiv daran zu beteiligen.',
//showProgress: true,
//progress: 60,
}, },
argTypes: { argTypes: {
imageSrc: { imageSrc: {
@@ -33,9 +23,9 @@ export default {
headline: { headline: {
name: 'Überschrift', name: 'Überschrift',
}, },
copy: {
/*copy: {
name: 'Kurztext', name: 'Kurztext',
},
},*/
moreCta: { moreCta: {
name: 'Mehr-Link', name: 'Mehr-Link',
}, },
@@ -64,13 +54,13 @@ export const GenericIntro = Template.bind({});
GenericIntro.args = { GenericIntro.args = {
imageSrc: null, imageSrc: null,
kicker: 'IHK Musterstadt Beteiligungsportal', kicker: 'IHK Musterstadt Beteiligungsportal',
showProgress: false,
/*showProgress: false,
buttonCta: { buttonCta: {
label: 'Mehr erfahren', label: 'Mehr erfahren',
link: '#', link: '#',
target: '_self', target: '_self',
}, },
moreCta: null,
moreCta: null,*/
}; };


export const GenericEventOverviewStage = Template.bind({}); export const GenericEventOverviewStage = Template.bind({});


+ 20
- 17
gfi-ihk-2024/stories/sections/eventoverview-stage/EventOverviewStageComponent.js Dosyayı Görüntüle

@@ -1,23 +1,22 @@
import './eventoverview-stage.scss'; import './eventoverview-stage.scss';
import {createElement, createImage} from "../../_global/scripts/helpers"; import {createElement, createImage} from "../../_global/scripts/helpers";
import {createProgressBar} from "../../atoms/progress-bar/ProgressBarComponent";
import {createButton} from "../../atoms/button/ButtonComponent";
//import {createProgressBar} from "../../atoms/progress-bar/ProgressBarComponent";
import {eventOverviewStageData} from "./EventOverviewStageData"; import {eventOverviewStageData} from "./EventOverviewStageData";
import {createSearchInput} from "../../atoms/search-input/SearchInputComponent"; import {createSearchInput} from "../../atoms/search-input/SearchInputComponent";
import {createSearchButton} from "../../atoms/search-button/SearchButtonComponent"; import {createSearchButton} from "../../atoms/search-button/SearchButtonComponent";
import IHKSearchTypeahead from "../../sections/search/search-typeahead"; import IHKSearchTypeahead from "../../sections/search/search-typeahead";
import {createTopicTeaser} from "../../components/topic-teaser/TopicTeaserComponent"; import {createTopicTeaser} from "../../components/topic-teaser/TopicTeaserComponent";
import IHKTopicTeasers from "./topic-teasers";
import IHKEventOverviewTiles from "./eventoverview";




export const createEventOverviewStage = ({ export const createEventOverviewStage = ({
imageSrc = 'https://source.unsplash.com/2vCqH34PqWs/1080x648', imageSrc = 'https://source.unsplash.com/2vCqH34PqWs/1080x648',
kicker = 'Noch 7 Tage offen', kicker = 'Noch 7 Tage offen',
headline = 'Jetzt und digital mitreden', headline = 'Jetzt und digital mitreden',
copy = 'Mit der digitalen Beteiligung erhalten Mitgliedsunternehmen die Möglichkeit, sich einfach und schnell über laufende Verfahren und Abstimmungen zu informieren und sich aktiv daran zu beteiligen.',
//copy = 'Mit der digitalen Beteiligung erhalten Mitgliedsunternehmen die Möglichkeit, sich einfach und schnell über laufende Verfahren und Abstimmungen zu informieren und sich aktiv daran zu beteiligen.',
maxItems = 6, maxItems = 6,
showProgress = true,
progress = 60,
//showProgress = true,
//progress = 60,
backgroundImage = null, backgroundImage = null,
isFirstElement = false, isFirstElement = false,
placeholder = 'Veranstaltungssuche, z.B. „Existenzgründung”', placeholder = 'Veranstaltungssuche, z.B. „Existenzgründung”',
@@ -25,12 +24,17 @@ export const createEventOverviewStage = ({
tiles = eventOverviewStageData, tiles = eventOverviewStageData,
}) => { }) => {
const hasImage = imageSrc && imageSrc.length > 0; const hasImage = imageSrc && imageSrc.length > 0;
const section = createElement('section', ['eventoverview', 'eventoverview-stage']);
const container = createElement('div', ['container'], null, section);
const section = createElement('section', ['eventoverview-section']);
const sectiondiv = createElement('div', ['eventoverview', 'eventoverview-stage'], null, section);
const container = createElement('div', ['container'], null, sectiondiv);
const row = createElement('div', ['row'], null, container); const row = createElement('div', ['row'], null, container);
const col = createElement('div', ['col'], null, row); const col = createElement('div', ['col'], null, row);
const tb = createElement('div', ['text-box'], null, col);
const tb = createElement('div', ['stagetext-box'], null, col);


const tilescontainer = createElement('div', ['container', 'tilescontainer'], null, section);
const tilesrow = createElement('div', ['row'], null, tilescontainer);
const tilescol = createElement('div', ['col'], null, tilesrow);
if (backgroundImage && backgroundImage.length > 0) { if (backgroundImage && backgroundImage.length > 0) {
//section.content('style=background: red;'); //section.content('style=background: red;');
section.style = 'background-image: url(' + backgroundImage + ');'; section.style = 'background-image: url(' + backgroundImage + ');';
@@ -44,11 +48,11 @@ export const createEventOverviewStage = ({
if (kicker && kicker.length > 0) { if (kicker && kicker.length > 0) {
createElement('p', ['kicker'], kicker, tb); createElement('p', ['kicker'], kicker, tb);
} }
if (showProgress) {
/*if (showProgress) {
tb.appendChild(createProgressBar({progress})); tb.appendChild(createProgressBar({progress}));
}
}*/
createElement('h1', ['like-h2'], headline, tb); createElement('h1', ['like-h2'], headline, tb);
createElement('p', [], copy, tb);
//createElement('p', [], copy, tb);
if (hasImage) { if (hasImage) {
section.classList.add('image-stage'); section.classList.add('image-stage');
@@ -56,7 +60,7 @@ export const createEventOverviewStage = ({
createImage(imageSrc, 1080, 648, 'Beteiligung', [], ib); createImage(imageSrc, 1080, 648, 'Beteiligung', [], ib);
} }


const form = createElement('form', [], null, col);
const form = createElement('form', [], null, tb);


const label = createElement('label', ['visually-hidden'], 'IHK durchsuchen', form); const label = createElement('label', ['visually-hidden'], 'IHK durchsuchen', form);
label.for = 'search-term'; label.for = 'search-term';
@@ -66,7 +70,7 @@ export const createEventOverviewStage = ({


form.action = '#'; form.action = '#';


const tilesContainer = createElement('div', ['tiles', 'row'], null, col);
const tilesContainer = createElement('div', ['tiles', 'row'], null, tilescol);
tiles.map((topic, i) => { tiles.map((topic, i) => {
if (i < maxItems) { if (i < maxItems) {
const col = createElement('div', ['col'], null, tilesContainer); const col = createElement('div', ['col'], null, tilesContainer);
@@ -74,12 +78,11 @@ export const createEventOverviewStage = ({
col.appendChild(teaser); col.appendChild(teaser);
} }
}) })
new IHKTopicTeasers($(section));
new IHKEventOverviewTiles($(section));

if (api) { if (api) {
new IHKSearchTypeahead($(form).find('input.typeahead')); new IHKSearchTypeahead($(form).find('input.typeahead'));
} }



return section; return section;
} }

+ 52
- 36
gfi-ihk-2024/stories/sections/eventoverview-stage/eventoverview-stage.scss Dosyayı Görüntüle

@@ -1,11 +1,20 @@
@import '../../_global/styles/mixins'; @import '../../_global/styles/mixins';
@import '../../_global/styles/vars'; @import '../../_global/styles/vars';

.eventoverview-section{
margin: 0;
.tilescontainer{
margin-top: calc(-138px / 2);
> .row > .col{
padding-top:0;
margin-top:0;
}
}
}
.eventoverview-stage { .eventoverview-stage {
background-image: url('./beteiligung-cover.jpg'); background-image: url('./beteiligung-cover.jpg');
background-size: cover; background-size: cover;
color: white; color: white;
min-height: calc(18vw + 300px);
min-height: calc(18vw + 400px);
display: flex; display: flex;
align-items: center; align-items: center;
margin: 0; margin: 0;
@@ -20,24 +29,32 @@
margin-top: -60px; margin-top: -60px;
} }
} }

form{
position:relative;
input.search-field{
height:60px;
padding: 14px 90px 14px 24px;
}
button.search-submit{
width: 60px;
height: 60px;
border-radius: 24px;
&:before{
font-size:30px;
}
}
}
.kicker { .kicker {
margin-bottom: 0.6em; margin-bottom: 0.6em;
} }


.btn {
margin-top: 0.8em;
margin-bottom: 0.4em;
}

.text-box {
.stagetext-box {
max-width: 580px; max-width: 580px;
padding: calc(30px + 1vw) 0; padding: calc(30px + 1vw) 0;
} }


a:not(.btn) {
.stagetext-box a:not(.btn) {
color: white; color: white;

+ .btn { + .btn {
margin-left: 30px; margin-left: 30px;
} }
@@ -71,7 +88,7 @@
background-color: var(--theme-color-primary); background-color: var(--theme-color-primary);
} }


.text-box {
.stagetext-box {
position: relative; position: relative;
} }


@@ -103,7 +120,7 @@
min-width: 560px; min-width: 560px;
} }


.text-box {
.stagetext-box {
max-width: 480px; max-width: 480px;
} }
} }
@@ -153,7 +170,7 @@
} }
} }


.text-box {
.stagetext-box {
max-width: none; max-width: none;
margin-bottom: 0; margin-bottom: 0;
padding-bottom: 24px; padding-bottom: 24px;
@@ -163,18 +180,23 @@
} }


.tiles { .tiles {
background: linear-gradient(0deg, 0%, 100%), linear-gradient(88deg, #003366 0%, rgba(1.01, 40.28, 80.75, 0.86) 54%, rgba(0, 51, 102, 0) 100%);
&.row { &.row {
margin: calc(var(--col-padding) * -1);
margin: -10px;
} }


@media(max-width: 767px) { @media(max-width: 767px) {
&.row {
margin: 0 -7px;
}
}
.icon-box {
font-size: 40px !important;
margin-top:0 !important;
} }

.title { .title {
font-weight: 400; font-weight: 400;
font-size: 20px;
line-height:21px;
margin: 8px 0 5px 0 !important;
} }


.col { .col {
@@ -182,28 +204,22 @@
display: flex; display: flex;
flex: 1 1 16.6666666667%; flex: 1 1 16.6666666667%;
max-width: 16.6666666667%; max-width: 16.6666666667%;

&.width-half {
flex: 1 1 50%;
max-width: 50%;

&:first-child:last-child {
flex: 1 1 100%;
max-width: 100%;
}
padding: 10px;
@media(max-width: 1080px) {
flex: 1 1 33.3333333333%;
max-width: 33.3333333333%;
}
@media(max-width: 767px) {
padding: 6px;
} }

@media(max-width: 567px) { @media(max-width: 567px) {
flex: 1 1 50%; flex: 1 1 50%;
max-width: 50%; max-width: 50%;

&:nth-child(odd):last-child {
flex: 1 1 100%;
max-width: 100%;
}
} }
@media(max-width: 767px) {
padding: 6px;
.topic-teaser{
--topic-tile-padding: 10px;
box-shadow: 0 4px 20px -5px rgba(0,0,0,.25);
} }
} }




gfi-ihk-2024/stories/sections/eventoverview-stage/topic-teasers.js → gfi-ihk-2024/stories/sections/eventoverview-stage/eventoverview.js Dosyayı Görüntüle

@@ -1,11 +1,11 @@
import $ from 'jquery'; import $ from 'jquery';


class IHKTopicTeasers {
class IHKEventOverviewTiles {
constructor(section) { constructor(section) {
this.section = section.addClass('initiated'); this.section = section.addClass('initiated');
this.cols = section.find('.col'); this.cols = section.find('.col');


const fullOffset = Math.ceil(this.cols.length / 3) * 3 - this.cols.last().index() - 1;
const fullOffset = Math.ceil(this.cols.length / 6) * 3 - this.cols.last().index() - 1;


if (fullOffset === 0) { if (fullOffset === 0) {
return; return;
@@ -21,10 +21,10 @@ class IHKTopicTeasers {
} }
} }


export default IHKTopicTeasers;
export default IHKEventOverviewTiles;


$('body').on('ihk-init dynamic-component-loaded gfi-dynamic-init', function () { $('body').on('ihk-init dynamic-component-loaded gfi-dynamic-init', function () {
$('.topics:not(.initiated)').each(() => { $('.topics:not(.initiated)').each(() => {
new IHKTopicTeasers($(this));
new IHKEventOverviewTiles($(this));
}); });
}) })

Yükleniyor…
İptal
Kaydet