No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

58 líneas
2.8 KiB

  1. import {createSlider} from "../../sections/slider/SliderComponent";
  2. import {createElement} from "../../_global/scripts/helpers";
  3. import {createHeader} from "../../components/header/HeaderComponent";
  4. import {sliderData} from "../../sections/slider/SliderData";
  5. import {createSearch} from "../../sections/search/SearchComponent";
  6. import {createGlobalMessage} from "../../components/global-message/GlobalMessageComponent";
  7. import {createFeature} from "../../sections/feature/FeatureComponent";
  8. import {createInfoBanner} from "../../sections/infobanner/InfoBannerComponent";
  9. import {createFooter} from "../../components/footer/FooterComponent";
  10. import {createTopicTeasersSection} from "../../sections/topic-teasers/TopicTeasersComponent";
  11. import {createEventsSection} from "../../sections/events/EventsComponent";
  12. import {createSocialSection} from "../../sections/social/SocialComponent";
  13. import {createTeasersSection} from "../../sections/teasers/TeasersComponent";
  14. import {createSurvey} from "../../sections/survey/SurveyComponent";
  15. import {createTextWithHeadline} from "../../components/text-with-headline/TextWithHeadlineComponent";
  16. import {createButton} from "../../atoms/button/ButtonComponent";
  17. import {createSkipButton} from "../../atoms/skip-button/SkipButtonComponent";
  18. export const createHomePage = ({
  19. globalMessageType = 'light',
  20. globalMessage = 'Leider kommt es durch <a href="#">technische Wartungsmaßnahmen</a> am 2. Mai in der Zeit von 17:30–23:00 zu einer eingeschränkten Verfügbarkeit unserer Internetseite',
  21. globalMessageIcon = '',
  22. }) => {
  23. const page = createElement('div', ['page']);
  24. const header = createHeader({});
  25. const wrapper = createElement('div', ['page-wrapper'], null, page);
  26. const main = createElement('main', ['page-content'], null, wrapper);
  27. const footer = createFooter({});
  28. let skipBtn = createSkipButton();
  29. page.insertBefore(skipBtn, wrapper);
  30. page.insertBefore(header, wrapper);
  31. page.appendChild(footer);
  32. main.appendChild(createGlobalMessage({type: globalMessageType, message: globalMessage}));
  33. main.appendChild(createSearch({}));
  34. main.appendChild(createInfoBanner({imageSrc: null, isCommercial: false}));
  35. main.appendChild(createTopicTeasersSection({}));
  36. main.appendChild(createTeasersSection({headline: 'Aktuelles', type: 'hero', maxItems: 2}));
  37. main.appendChild(createTextWithHeadline({}));
  38. main.appendChild(createSurvey({}));
  39. main.appendChild(createSlider({slides: sliderData}));
  40. main.appendChild(createEventsSection({}));
  41. main.appendChild(createTeasersSection({headline: 'Weitere Themen'}));
  42. main.appendChild(createSocialSection({}));
  43. main.appendChild(createTeasersSection({type: 'text'}));
  44. main.appendChild(createFeature({}));
  45. return page;
  46. }
  47. const Template = ({...args}) => {
  48. return createHomePage({...args});
  49. };
  50. export const RegularSlider = Template.bind({});
  51. RegularSlider.args = {};