import './search-results.scss'; import {createElement} from "../../_global/scripts/helpers"; import { SearchResultsDownloads, SearchResultsEvents, SearchResultsEventsExtended, SearchResultsNoBorder } from "./SearchResultsData"; import {createButton} from "../../atoms/button/ButtonComponent"; import {createEventTeaser} from "../../atoms/event-teaser/EventTeaserComponent"; export const createSearchResults = ({ type = 'downloads', }) => { const wrapper = createElement('div', ['results-wrapper', type]); let data = null; if (type === 'no-border') { data = SearchResultsNoBorder; } if (type === 'downloads') { data = SearchResultsDownloads; } if (type === 'events') { data = SearchResultsEvents; } if (type === 'events-extended') { data = SearchResultsEventsExtended; } if (data.icon) { wrapper.classList.add(data.icon); } if (data.headline) { createElement('h3', [], data.headline, wrapper); } if (type === 'no-border') { data.items.map((item) => { const result = createElement('div', item.icon ? ['result', item.icon] : ['result'], null, wrapper); const a = createElement('a', [], null, result); a.href = item.link; if (item.kicker && item.kicker.length > 0) { createElement('div', ['h-kicker'], item.kicker, a); } if (item.title && item.title.length > 0) { createElement('div', ['h-title'], item.title, a); } if (item.copy && item.copy.length > 0) { createElement('p', [], item.copy, result); } }) } else if (type === 'events') { data.items.map((item) => { const result = createElement('div', ['result'], null, wrapper); result.appendChild(createEventTeaser(item)); }) } else if (type === 'events-extended') { for (let i = 0; i < 12; i++) { const result = createElement('div', ['result'], null, wrapper); result.appendChild(createEventTeaser({isExtended: true})); } } else { const results = createElement('ul', ['results'], null, wrapper); data.items.map((item) => { const li = createElement('li', [], null, results); const a = createElement('a', ['result-link'], item.title, li); a.href = item.link; }) } if (data.totalCount) { const moreWrapper = createElement('div', ['more-wrapper'], null, wrapper); moreWrapper.appendChild(createButton({ label: 'Alle ' + data.totalCount + ' Treffer anzeigen', icon: 'pfeil-simple-rechts', iconPosition: 'icon-right', color: 'white', })); } return wrapper; }