Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

57 строки
1.7 KiB

  1. import './participation-teaser.scss';
  2. import {createElement} from "../../_global/scripts/helpers";
  3. import {createProgressBar} from "../../atoms/progress-bar/ProgressBarComponent";
  4. import {createButton} from "../../atoms/button/ButtonComponent";
  5. export const createParticipationTeaser = ({
  6. isListItem = false,
  7. variant = 'variant-base',
  8. kicker = 'Noch 6 Tage offen',
  9. progress = 65,
  10. headline = 'Ideen zur Stärkung der Innenstädte und Ortskerne',
  11. copy = 'Die Auswirkungen der Corona-Pandemie treffen die Innenstädte und Ortskerne. Wir sammeln Ideen, um den neuen Herausforderungen zu begegnen.',
  12. moreCta = {
  13. label: 'Mehr Infos',
  14. link: '#',
  15. target: '_self',
  16. },
  17. participateCta = {
  18. label: 'Jetzt beteiligen',
  19. link: '#',
  20. target: '_self',
  21. }
  22. }) => {
  23. const classes = ['participation-teaser', 'tile'];
  24. if (variant) classes.push(variant);
  25. const teaser = createElement('div', classes);
  26. const tb = createElement('div', ['text-box'], null, teaser);
  27. const kickerSpan = createElement('p', ['kicker'], kicker, tb);
  28. const progressBar = createProgressBar({progress});
  29. tb.appendChild(progressBar);
  30. createElement('h3', ['like-h4'], headline, tb);
  31. createElement('p', [], copy, tb);
  32. if (isListItem) {
  33. tb.insertBefore(progressBar, kickerSpan);
  34. }
  35. const buttons = createElement('div', ['buttons'], null, teaser);
  36. if (moreCta) {
  37. buttons.appendChild(createButton({
  38. label: moreCta.label,
  39. link: moreCta.link,
  40. color: 'primary-light',
  41. size: 'small',
  42. }))
  43. }
  44. if (participateCta) {
  45. buttons.appendChild(createButton({
  46. label: participateCta.label,
  47. link: participateCta.link,
  48. size: 'small',
  49. }))
  50. }
  51. return teaser;
  52. }