{"version":3,"sources":["./node_modules/moment/locale sync [/\\\\](de(\\.js)","./src/common/components/app.component.html","./src/common/components/atoms/ad/ad.component.html","./src/common/components/atoms/alert/alert.component.html","./src/common/components/atoms/asset-subtitle/asset-subtitle.component.html","./src/common/components/atoms/button/button.component.html","./src/common/components/atoms/cta-banner/cta-banner.component.html","./src/common/components/atoms/donation-bar/donation-bar.component.html","./src/common/components/atoms/donation-button/donation-button.component.html","./src/common/components/atoms/donation-header/donation-header.component.html","./src/common/components/atoms/language-select/language-select.component.html","./src/common/components/atoms/nav-item/nav-item.component.html","./src/common/components/atoms/nav-link/nav-link.component.html","./src/common/components/atoms/social-links/social-links.component.html","./src/common/components/atoms/sport-icon/sport-icon.component.html","./src/common/components/atoms/subscribe-button/subscribe-button.component.html","./src/common/components/atoms/tiles/big-asset-tile/big-asset-tile.component.html","./src/common/components/atoms/tiles/big-live-event-tile/big-live-event-tile.component.html","./src/common/components/atoms/tiles/big-sponsor-tile/big-sponsor-tile.component.html","./src/common/components/atoms/tiles/donation-tile/donation-tile.component.html","./src/common/components/atoms/tiles/extra-small-asset-tile/extra-small-asset-tile.component.html","./src/common/components/atoms/tiles/live-event-tile/live-event-tile.component.html","./src/common/components/atoms/tiles/round-image-tile/round-image-tile.component.html","./src/common/components/atoms/tiles/section-tile/section-tile.component.html","./src/common/components/atoms/tiles/small-asset-tile/small-asset-tile.component.html","./src/common/components/atoms/tiles/small-section-tile/small-section-tile.component.html","./src/common/components/elements/ad-container/ad-container.component.html","./src/common/components/elements/asset-tile-slider/asset-tile-slider.component.html","./src/common/components/elements/confirmation-dialog/confirmation-dialog.component.html","./src/common/components/elements/container/container.component.html","./src/common/components/elements/extended-page-content-modal/extended-page-content-modal.component.html","./src/common/components/elements/footer/footer.component.html","./src/common/components/elements/form/login-form/login-form.component.html","./src/common/components/elements/form/register-form/register-form.component.html","./src/common/components/elements/header/header.component.html","./src/common/components/elements/imageslider/imageslider.component.html","./src/common/components/elements/loading-indicator/loading-indicator.component.html","./src/common/components/elements/menu-searchbar/menu-searchbar.component.html","./src/common/components/elements/opener/opener.component.html","./src/common/components/elements/player/error/player-error.component.html","./src/common/components/elements/player/login/player-login.component.html","./src/common/components/elements/player/paywall/paywall.component.html","./src/common/components/elements/player/player-countdown/player-countdown.component.html","./src/common/components/elements/player/player.component.html","./src/common/components/elements/player/revolver-play/revolver-play.component.html","./src/common/components/elements/player/video/overlay-modal/overlay-modal.component.html","./src/common/components/elements/player/video/share-modal/share-modal.component.html","./src/common/components/elements/player/video/video-bottom-playlist/video-bottom-playlist.component.html","./src/common/components/elements/player/video/video-playlist/video-playlist.component.html","./src/common/components/elements/player/video/video.component.html","./src/common/components/elements/player/youth-protection/youth-protection.component.html","./src/common/components/elements/product-price/product-price.component.html","./src/common/components/elements/section-sliders/section-sliders.component.html","./src/common/components/elements/sidebar/sidebar.component.html","./src/common/components/elements/somtag-disclaimer/somtag-disclaimer.component.html","./src/common/components/elements/tile-teaser-grid/tile-teaser-grid.component.html","./src/common/components/pages/age-verification-page/age-verification.component.html","./src/common/components/pages/checkout-page/checkout.component.html","./src/common/components/pages/confirm-email-page/confirm-email.component.html","./src/common/components/pages/dashboard-page/change-youthprotection-pin/change-youthprotection-pin.component.html","./src/common/components/pages/dashboard-page/dashboard.component.html","./src/common/components/pages/dashboard-page/orders/orders.component.html","./src/common/components/pages/dashboard-page/subscribed-channels/subscribed-channels.component.html","./src/common/components/pages/dashboard-page/user-data/user-data.component.html","./src/common/components/pages/donation-checkout-page/donation-checkout-page.component.html","./src/common/components/pages/donation-page/donation-page.component.html","./src/common/components/pages/dynamic-page/asset-page/asset-page.component.html","./src/common/components/pages/dynamic-page/asset-page/epg/epg.component.html","./src/common/components/pages/dynamic-page/asset-page/related-asset/related-asset.component.html","./src/common/components/pages/dynamic-page/asset-page/tag-cloud/tag-cloud.component.html","./src/common/components/pages/dynamic-page/dynamic-page.component.html","./src/common/components/pages/dynamic-page/extended-page/extended-page.component.html","./src/common/components/pages/dynamic-page/not-found/not-found.component.html","./src/common/components/pages/dynamic-page/page/page.component.html","./src/common/components/pages/dynamic-page/section/section.component.html","./src/common/components/pages/dynamic-page/server-error/server-error.component.html","./src/common/components/pages/email-confirmed-page/email-confirmed-page.component.html","./src/common/components/pages/embedded/embedded-player/embedded-player.component.html","./src/common/components/pages/embedded/syndication-player/syndication-player.component.html","./src/common/components/pages/livestreams-page/livestreams.component.html","./src/common/components/pages/login-page/login.component.html","./src/common/components/pages/newsletter-page/newsletter.component.html","./src/common/components/pages/password-forgot-page/password-forgot.component.html","./src/common/components/pages/password-reset-page/password-reset.component.html","./src/common/components/pages/register-page/register.component.html","./src/common/components/pages/search-page/search.component.html","./src/common/components/pages/test-live/test-live.component.html","./src/sportdeutschland/app/components/pages/channels-page/channels-page.component.html","./src/sportdeutschland/app/components/pages/sporttypes-page/sporttypes-page.component.html","./src/common/app-common.module.ts","./src/common/components/app.component.ts","./src/common/components/atoms/ad/ad.component.scss","./src/common/components/atoms/ad/ad.component.ts","./src/common/components/atoms/alert/alert.component.ts","./src/common/components/atoms/asset-subtitle/asset-subtitle.component.ts","./src/common/components/atoms/button/button.component.ts","./src/common/components/atoms/cta-banner/cta-banner.component.ts","./src/common/components/atoms/donation-bar/donation-bar.component.ts","./src/common/components/atoms/donation-button/donation-button.component.ts","./src/common/components/atoms/donation-header/donation-header.component.ts","./src/common/components/atoms/language-select/language-select.component.scss","./src/common/components/atoms/language-select/language-select.component.ts","./src/common/components/atoms/nav-item/nav-item.component.ts","./src/common/components/atoms/nav-link/nav-link.component.ts","./src/common/components/atoms/social-links/social-links.component.ts","./src/common/components/atoms/sport-icon/sport-icon.component.ts","./src/common/components/atoms/subscribe-button/subscribe-button.component.ts","./src/common/components/atoms/tiles/big-asset-tile/big-asset-tile.component.ts","./src/common/components/atoms/tiles/big-live-event-tile/big-live-event-tile.component.ts","./src/common/components/atoms/tiles/big-sponsor-tile/big-sponsor-tile.component.ts","./src/common/components/atoms/tiles/donation-tile/donation-tile.component.ts","./src/common/components/atoms/tiles/extra-small-asset-tile/extra-small-asset-tile.component.ts","./src/common/components/atoms/tiles/live-event-tile/live-event-tile.component.ts","./src/common/components/atoms/tiles/round-image-tile/round-image-tile.component.scss","./src/common/components/atoms/tiles/round-image-tile/round-image-tile.component.ts","./src/common/components/atoms/tiles/section-tile/section-tile.component.ts","./src/common/components/atoms/tiles/small-asset-tile/small-asset-tile.component.ts","./src/common/components/atoms/tiles/small-section-tile/small-section-tile.component.ts","./src/common/components/elements/ad-container/ad-container.component.scss","./src/common/components/elements/ad-container/ad-container.component.ts","./src/common/components/elements/ad-container/ad-container.service.ts","./src/common/components/elements/asset-tile-slider/asset-tile-slider.component.ts","./src/common/components/elements/confirmation-dialog/confirmation-dialog.component.ts","./src/common/components/elements/container/container.component.scss","./src/common/components/elements/container/container.component.ts","./src/common/components/elements/extended-page-content-modal/extended-page-content-modal.component.scss","./src/common/components/elements/extended-page-content-modal/extended-page-content-modal.component.ts","./src/common/components/elements/footer/footer.component.ts","./src/common/components/elements/form/control-messages/control-messages.component.ts","./src/common/components/elements/form/login-form/login-form.component.ts","./src/common/components/elements/form/login-form/login-form.service.ts","./src/common/components/elements/form/register-form/register-form.component.ts","./src/common/components/elements/form/register-form/register-form.service.ts","./src/common/components/elements/header/header.component.ts","./src/common/components/elements/imageslider/imageslider.component.ts","./src/common/components/elements/loading-indicator/loading-indicator.component.scss","./src/common/components/elements/loading-indicator/loading-indicator.component.ts","./src/common/components/elements/menu-searchbar/menu-searchbar.component.ts","./src/common/components/elements/opener/opener.component.ts","./src/common/components/elements/player/error/player-error.component.ts","./src/common/components/elements/player/login/player-login.component.ts","./src/common/components/elements/player/paywall/paywall.component.ts","./src/common/components/elements/player/player-countdown/player-countdown.component.ts","./src/common/components/elements/player/player.component.ts","./src/common/components/elements/player/revolver-play/revolver-play.component.ts","./src/common/components/elements/player/states.ts","./src/common/components/elements/player/video/overlay-modal/overlay-modal.component.ts","./src/common/components/elements/player/video/plugins/ConcreteButton.ts","./src/common/components/elements/player/video/plugins/ConcreteMenuItem.ts","./src/common/components/elements/player/video/plugins/videojs-hls-quality-selector.ts","./src/common/components/elements/player/video/plugins/vjs.plugin.ads.ts","./src/common/components/elements/player/video/plugins/vjs.plugin.agof.ts","./src/common/components/elements/player/video/plugins/vjs.plugin.overlay.ts","./src/common/components/elements/player/video/plugins/vjs.plugin.playlist.ts","./src/common/components/elements/player/video/plugins/vjs.plugin.share.ts","./src/common/components/elements/player/video/plugins/vjs.plugin.tracking.ts","./src/common/components/elements/player/video/share-modal/share-modal.component.ts","./src/common/components/elements/player/video/video-bottom-playlist/video-bottom-playlist.component.ts","./src/common/components/elements/player/video/video-playlist/video-playlist.component.ts","./src/common/components/elements/player/video/video.component.ts","./src/common/components/elements/player/youth-protection/youth-protection.component.ts","./src/common/components/elements/product-price/product-price.component.ts","./src/common/components/elements/section-sliders/section-sliders.component.ts","./src/common/components/elements/sidebar/sidebar.component.ts","./src/common/components/elements/somtag-disclaimer/somtag-disclaimer.component.ts","./src/common/components/elements/tile-teaser-grid/tile-teaser-grid.component.ts","./src/common/components/pages/age-verification-page/age-verification.component.ts","./src/common/components/pages/checkout-page/checkout.component.ts","./src/common/components/pages/confirm-email-page/confirm-email.component.scss","./src/common/components/pages/confirm-email-page/confirm-email.component.ts","./src/common/components/pages/dashboard-page/change-youthprotection-pin/change-youthprotection-pin.component.scss","./src/common/components/pages/dashboard-page/change-youthprotection-pin/change-youthprotection-pin.component.ts","./src/common/components/pages/dashboard-page/dashboard.component.ts","./src/common/components/pages/dashboard-page/orders/orders.component.ts","./src/common/components/pages/dashboard-page/subscribed-channels/subscribed-channels.component.ts","./src/common/components/pages/dashboard-page/user-data/user-data.component.ts","./src/common/components/pages/donation-checkout-page/donation-checkout-page.component.ts","./src/common/components/pages/donation-page/donation-page.component.ts","./src/common/components/pages/dynamic-page/asset-page/asset-page.component.ts","./src/common/components/pages/dynamic-page/asset-page/epg/epg.component.ts","./src/common/components/pages/dynamic-page/asset-page/related-asset/related-asset.component.ts","./src/common/components/pages/dynamic-page/asset-page/tag-cloud/tag-cloud.component.ts","./src/common/components/pages/dynamic-page/dynamic-page.component.ts","./src/common/components/pages/dynamic-page/extended-page/extended-page.component.ts","./src/common/components/pages/dynamic-page/not-found/not-found.component.scss","./src/common/components/pages/dynamic-page/not-found/not-found.component.ts","./src/common/components/pages/dynamic-page/page/page.component.scss","./src/common/components/pages/dynamic-page/page/page.component.ts","./src/common/components/pages/dynamic-page/section/section.component.ts","./src/common/components/pages/dynamic-page/server-error/server-error.component.ts","./src/common/components/pages/email-confirmed-page/email-confirmed-page.component.scss","./src/common/components/pages/email-confirmed-page/email-confirmed-page.component.ts","./src/common/components/pages/embedded/embedded-player/embedded-player.component.scss","./src/common/components/pages/embedded/embedded-player/embedded-player.component.ts","./src/common/components/pages/embedded/syndication-player/syndication-player.component.ts","./src/common/components/pages/empty/empty.component.ts","./src/common/components/pages/livestreams-page/livestreams.component.ts","./src/common/components/pages/login-page/login.component.ts","./src/common/components/pages/newsletter-page/newsletter.component.scss","./src/common/components/pages/newsletter-page/newsletter.component.ts","./src/common/components/pages/password-forgot-page/password-forgot.component.ts","./src/common/components/pages/password-reset-page/password-reset.component.ts","./src/common/components/pages/register-page/form/RegisterValidators.ts","./src/common/components/pages/register-page/register.component.ts","./src/common/components/pages/search-page/search.component.ts","./src/common/components/pages/test-live/test-live.component.ts","./src/common/directives/adaptive-router-link.directive.ts","./src/common/entities/alert.entity.ts","./src/common/entities/asset.entity.ts","./src/common/entities/extended-page-content.ts","./src/common/entities/live-event.entity.ts","./src/common/entities/user-event.entity.ts","./src/common/enum/agof.enum.ts","./src/common/enum/app-name.enum.ts","./src/common/enum/player-error.enum.ts","./src/common/enum/player-state.enum.ts","./src/common/environments/environment.ts","./src/common/guards/logged-in.guard.ts","./src/common/material.module.ts","./src/common/modules/consent/cmp.ts","./src/common/modules/consent/consent.module.ts","./src/common/modules/consent/consent.service.ts","./src/common/pipes/asset-link.pipe.ts","./src/common/pipes/asset-subtitle.pipe.ts","./src/common/pipes/custom-date.pipe.ts","./src/common/pipes/extended-page-content-more-link.pipe.ts","./src/common/pipes/image-size.pipe.ts","./src/common/pipes/keys.pipe.ts","./src/common/pipes/match-minute.pipe.ts","./src/common/pipes/pipes.module.ts","./src/common/pipes/pluk.pipe.ts","./src/common/pipes/shuffle-array.pipe.ts","./src/common/pipes/truncate-string.pipe.ts","./src/common/pipes/trust-html.pipe.ts","./src/common/pipes/trust-resource-url.pipe.ts","./src/common/pipes/trust-style.pipe.ts","./src/common/services/adblock-detection.service.ts","./src/common/services/agof.service.ts","./src/common/services/alert-notifications.service.ts","./src/common/services/analytics.service.ts","./src/common/services/api/api.interceptor.ts","./src/common/services/api/api.service.ts","./src/common/services/api/http-cache.service.ts","./src/common/services/api/methods/age-verification.service.ts","./src/common/services/api/methods/api-user-profile.service.ts","./src/common/services/api/methods/assets.service.ts","./src/common/services/api/methods/authentication.service.ts","./src/common/services/api/methods/epg.service.ts","./src/common/services/api/methods/live-events.service.ts","./src/common/services/api/methods/live-midroll.service.ts","./src/common/services/api/methods/menu.service.ts","./src/common/services/api/methods/order.service.ts","./src/common/services/api/methods/pages.service.ts","./src/common/services/api/methods/permalink.service.ts","./src/common/services/api/methods/playlists.service.ts","./src/common/services/api/methods/products.service.ts","./src/common/services/api/methods/search.service.ts","./src/common/services/api/methods/sections.service.ts","./src/common/services/api/methods/subscription.service.ts","./src/common/services/api/methods/syndication-player.service.ts","./src/common/services/api/methods/youth-protection-pin.service.ts","./src/common/services/browser-warning.service.ts","./src/common/services/canonical-tag.service.ts","./src/common/services/confirmation-dialog.service.ts","./src/common/services/donation.service.ts","./src/common/services/embedded-mode.service.ts","./src/common/services/external-scripts-loader.service.ts","./src/common/services/form/validation.service.ts","./src/common/services/inactivity.service.ts","./src/common/services/page-visibility.service.ts","./src/common/services/playlist-handler.service.ts","./src/common/services/routing-helper.service.ts","./src/common/services/services.module.ts","./src/common/services/sidebar.service.ts","./src/common/services/somtag.service.ts","./src/common/services/user-profile.service.ts","./src/common/services/version-check.service.ts","./src/common/services/websocket.service.ts","./src/sportdeutschland/$_lazy_route_resource lazy namespace object","./src/sportdeutschland/app/app-routing.module.ts","./src/sportdeutschland/app/app.module.ts","./src/sportdeutschland/app/components/pages/channels-page/channels-page.component.ts","./src/sportdeutschland/app/components/pages/sporttypes-page/sporttypes-page.component.ts","./src/sportdeutschland/main.ts","webpack:///min-document (ignored)?7229","min-document (ignored)"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["var map = {\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive [/\\\\\\\\](de(\\\\.js)?)$\";","export default \"\\n\\n\\n\\n\\n\\n \\n \\n\\n\\n\\n\";","export default \"
\\n
\\n\";","export default \"
\\n
\\n
\\n
\\n {{ alert.message }}\\n \\n {{ alert.buttonText }}\\n \\n
\\n
\\n ×\\n
\\n
\\n
\\n
\\n\";","export default \"\\n \\n {{\\n asset.sportart.values[0]\\n }}\\n Sport\\n \\n\\n \\n

0\\\" class=\\\"mb-0\\\">{{ asset.channel.values[0] }}

\\n
\\n\\n\";","export default \"\\n\";","export default \"
\\n \\n
\\n\";","export default \"
\\n \\n\\n
\\n
\\n \\n
\\n
\\n\\n
\\n \\n
\\n
\\n\";","export default \"
\\n
\\n
\\n

\\n Aktueller Spendenstand {{ asset.teams[0] }}:\\n {{ currentAmount }}\\n

\\n
\\n\\n
\\n

Unterstütze {{ asset.teams[0] }} mit deiner Spende:

\\n\\n \\n
\\n\\n
\\n \\\"yousport\\\"\\n
\\n\\n
\\n \\\"#gemeinsamfuerdenSport\\\"\\n
\\n
\\n\\n
\\n
\\n

\\n Aktueller Spendenstand:\\n {{ totalAmount | currency: 'EUR' }}\\n

\\n
\\n
\\n\";","export default \"\\n\";","export default \"
  • \\n \\n\\n \\n \\n {{ menuItem.name }}\\n \\n
  • \\n \\n \\n \\n \\n\\n\";","export default \"\\n {{ prefix + menuItem.name }}\\n\\n {{ prefix + menuItem.name }}\\n\\n {{ prefix + menuItem.name }}\\n\\n\";","export default \"\\n\";","export default \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n\\n\";","export default \"\\n \\n \\n {{ 'subscribeButton.btnText' | translate }}\\n {{ 'subscribeButton.btnTextSubscribed' | translate }}\\n \\n\\n
    \\n {{ title }}\\n \\n \\n \\n
    \\n
    \\n\\n\\n \\n\\n\";","export default \"\\n \\n
    \\n \\n\\n
    \\n

    {{ liveEvent.starts_at | customDate }}

    \\n
    \\n\\n \\n \\n \\n\\n
    {{ asset.duration }}
    \\n
    \\n
    \\n \\n\\n\";","export default \"\\n
    \\n \\n\\n
    \\n
    \\n

    \\n {{ useCustomDate ? (date | customDate) : (date | date: 'short') + ' Uhr' }}
    \\n

    \\n

    Live

    \\n
    \\n\\n
    \\n

    {{ subtitle }}

    \\n\\n

    \\n {{ title | truncateString: { characters: 70 } }}\\n

    \\n
    \\n\\n
    \\n \\n \\n {{ 'tiles.liveEvent.toLiveStream' | translate }}\\n \\n \\n \\n {{ 'tiles.liveEvent.savecalender' | translate }}\\n \\n
    \\n
    \\n\\n\";","export default \"
    \\n \\n
    \\n \\n Werbung\\n
    \\n
    \\n

    {{ now | date }}

    \\n
    \\n \\n
    \\n

    Entdecke, wie man zusammen mehr erreichen kann.

    \\n
    \\n \\n\\n \\n
    \\n \\n Werbung\\n
    \\n
    \\n

    {{ now | date }}

    \\n
    \\n \\n
    \\n

    Entdecke, wie man zusammen mehr erreichen kann.

    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n \\n\\n
    \\n {{ asset.teams[0] }}\\n
    \\n\\n
    \\n {{ asset.sportart[0].label }}\\n
    \\n\\n \\n\\n
    \\n

    \\n \\n Jetzt hier unterstützen\\n \\n

    \\n
    \\n
    \\n\\n\";","export default \"
    \\n \\n\\n
    \\n

    {{ asset?.duration }}

    \\n
    \\n\\n
    \\n {{ asset?.published_at | customDate }}\\n

    {{ asset?.label }}

    \\n
    \\n
    \\n\";","export default \"\\n \\n
    \\n
    \\n \\n\\n
    \\n

    {{ date | customDate }}

    \\n\\n

    {{ subtitle }}

    \\n\\n

    \\n {{ title | truncateString: { characters: 70 } }}\\n

    \\n
    \\n
    \\n\\n
    \\n \\n \\n {{ 'tiles.liveEvent.toLiveStream' | translate }}\\n \\n \\n \\n {{ 'tiles.liveEvent.savecalender' | translate }}\\n \\n
    \\n
    \\n \\n\\n\";","export default \"\\n
    \\n
    \\n
    {{ title }}
    \\n \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n\\n

    {{ title }}

    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n \\n\\n
    \\n {{ asset.duration }}\\n
    \\n\\n \\n \\n \\n
    \\n\\n
    \\n
    \\n

    \\n {{ date | customDate }}\\n {{ date | date: 'short' + ' Uhr' }}\\n {{ date | date }}\\n

    \\n\\n \\n
    \\n
    \\n {{ asset?.label | truncateString: { characters: 50 } }}\\n
    \\n
    \\n\\n\";","export default \"\\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n
    \\n\\n
    \\n

    {{ title }}

    \\n

    {{ assets_count }} Inhalte

    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n
    \\n\\n \\n \\n \\n\\n\";","export default \"
    \\n
    \\n
    \\n \\n \\n

    \\n \\n {{ title }}\\n \\n \\n {{ title }}\\n \\n \\n

    \\n
    \\n
    \\n
    \\n\\n
    \\n \\n\\n
    \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n\\n \\n \\n \\n\\n \\n
    \\n \\n
    \\n\";","export default \"
    \\n

    {{ title }}

    \\n \\n
    \\n
    \\n {{ message }}\\n
    \\n
    \\n \\n \\n
    \\n\";","export default \"
    \\n
    \\n \\n
    \\n
    \\n\";","export default \"\\n
    \\n \\n ×\\n \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n \\n \\n
    \\n {{ environment.header.brand }}\\n
    \\n\\n
    \\n \\n
    \\n \\n\\n \\n \\n
    \\n {{ environment.header.brand }}\\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n\\n \\n\\n
    \\n \\n {{ menuItem.name }}\\n\\n {{ menuItem.name }}\\n\\n | \\n \\n
    \\n \\n \\n\\n\";","export default \"
    \\n
    \\n
    \\n
    \\n

    {{ 'login.headline' | translate }}

    \\n\\n
    \\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n
    \\n\\n

    \\n {{\\n 'login.forgotPass' | translate\\n }}\\n

    \\n\\n

    \\n {{ errorMessage }}\\n

    \\n \\n\\n\\n

    \\n {{ 'login.noMemberYet' | translate }}\\n {{\\n 'login.registerNow' | translate\\n }}\\n

    \\n\\n \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n
    \\n
    \\n

    {{ 'register.successHeadline' | translate }}

    \\n

    {{ 'register.successText' | translate }}

    \\n
    \\n
    \\n\\n
    \\n \\n

    {{ 'register.headline' | translate }}

    \\n\\n \\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n \\n
    \\n \\n
    \\n \\n\\n \\n \\n \\n\\n
    \\n \\n
    \\n \\n
    \\n\\n \\n \\n \\n \\n\\n
    \\n \\n
    \\n
    \\n
    \\n\\n \\n
    \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n \\n
    \\n \\n \\n \\n\\n
    \\n \\n
    \\n
    \\n \\n\\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n
    {{ errorMessage }}
    \\n
    \\n\\n
    \\n \\n\\n
    \\n\\n

    \\n {{ 'register.alreadyMember' | translate }}\\n {{\\n 'register.loginNow' | translate\\n }}\\n

    \\n\\n \\n \\n \\n \\n\\n\";","export default \"
    \\n
    \\n\\n \\n Eine Website von\\n \\n \\n\\n
    \\n
      \\n
    • \\n 0\\\"\\n [routerLink]=\\\"'/' + environment.urlSlugs.livestreams\\\"\\n class=\\\"nav-link\\\"\\n >\\n \\n {{ 'menu.live' | translate }}\\n 0\\\" class=\\\"badge live-badge bg-danger badge-pill ml-1\\\">\\n {{ liveEventsCount }}\\n \\n \\n
    • \\n\\n \\n \\n \\n \\n {{ 'menu.search' | translate }}\\n \\n \\n \\n\\n 0\\n \\\"\\n class=\\\"nav-item py-0 my-auto\\\"\\n >\\n \\n \\n\\n
    • \\n \\n \\n {{ 'menu.login' | translate }}\\n
    • \\n\\n \\n \\n \\n \\n {{ 'menu.myAccount' | translate }}\\n \\n \\n\\n
      \\n \\n {{ 'menu.dashboard' | translate }}\\n
      \\n
      {{ 'menu.logout' | translate }}
      \\n
    \\n \\n \\n \\n \\n\\n
    \\n \\n
    \\n\\n\\n
    \\n\";","export default \"
    0\\\" class=\\\"container-fluid mb-4\\\" id=\\\"imageSlider\\\">\\n \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n\";","export default \"\\n\";","export default \"
    \\n
    \\n \\n \\n \\n \\n {{ option }}\\n \\n \\n
    \\n\";","export default \"\\n\\n \\n
    \\n \\n \\n
    \\n \\n
    \\n 0\\\" class=\\\"text-uppercase small\\\">{{\\n asset.channel.values[0]\\n }}\\n

    \\n {{ 'dynamicPage.opener.nowLive' | translate }}:\\n {{ asset.label | truncateString: { characters: 70 } }}\\n

    \\n

    \\n {{ 'dynamicPage.opener.nowLive' | translate }}:\\n {{ asset.opener_title | truncateString: { characters: 70 } }}\\n

    \\n
    \\n \\n \\n \\n \\n \\n\\n\";","export default \"
    \\n \\n

    {{ 'player.error.notAvailable' | translate }}

    \\n \\n
    \\n\\n \\n

    Server Fehler

    \\n\\n

    \\n Unsere Server sind gerade überlastet.
    \\n Wir laden das Video in 10 Sekunden erneut.
    \\n \\n

    \\n \\n \\n\\n \\n

    {{ 'player.error.notAvailable' | translate }}

    \\n \\n \\n\\n \\n

    {{ 'player.error.livestreamNotAvailable' | translate }}

    \\n \\n \\n\\n \\n

    {{ 'player.error.headline' | translate }}

    \\n

    {{ 'player.error.notAllowedInRegion' | translate }}

    \\n \\n\\n \\n

    {{ 'player.error.headline' | translate }}

    \\n

    {{ 'player.error.tooManySessions' | translate }}

    \\n \\n\\n \\n

    {{ 'player.error.headline' | translate }}

    \\n

    {{ 'player.error.unknownError' | translate }} {{ playerState }}

    \\n \\n\\n \\n

    {{ 'player.error.headline' | translate }}

    \\n

    {{ 'player.error.unknownError' | translate }} {{ playerState }}

    \\n \\n\\n \\n

    {{ 'player.error.headline' | translate }}

    \\n

    {{ 'player.error.unknownError' | translate }}

    \\n \\n\\n \\n

    {{ 'player.adsblocked.headline' | translate }}

    \\n

    {{ 'player.adsblocked.text' | translate }}

    \\n \\n \\n\\n
    \\n\\n\";","export default \"
    \\n
    \\n

    {{ 'player.payWall.headlineNotLoggedIn' | translate }}

    \\n

    {{ 'player.payWall.textNotLoggedIn' | translate }}

    \\n\\n
    \\n {{ 'player.payWall.btnLogin' | translate }}\\n {{\\n 'player.payWall.btnRegister' | translate\\n }}\\n
    \\n\\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n
    {{ error }}
    \\n\\n
    \\n
    \\n \\n
    {{ prod.name }}
    \\n\\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n \\n
    HOL DIR DEN BLACK PASS
    \\n\\n
    \\n monatlich kündbar\\n
    \\n\\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n\\n\";","export default \"
    \\n \\n \\n\\n
    \\n \\n \\n \\n Close Modal Dialog\\n \\n
    \\n\\n \\n \\n \\n 0\\\"\\n class=\\\"time-holder days d-flex flex-column m-1 text-center\\\"\\n >\\n {{ duration.get('months') | number: '2.0' }} \\n {{ 'player.countdown.months' | translate }} \\n \\n\\n 0\\\" class=\\\"time-holder days d-flex flex-column m-1 text-center\\\">\\n {{ duration.get('days') | number: '2.0' }} \\n {{ 'player.countdown.days' | translate }} \\n \\n\\n \\n {{ duration.get('hours') | number: '2.0' }} \\n {{ 'player.countdown.hours' | translate }} \\n \\n\\n \\n {{ duration.get('minutes') | number: '2.0' }} \\n {{ 'player.countdown.minutes' | translate }} \\n \\n\\n \\n {{ duration.get('seconds') | number: '2.0' }} \\n {{ 'player.countdown.seconds' | translate }} \\n \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n
    \\n\\n \\n\\n
    \\n
    \\n Du hast ein Ticket für dieses Spiel\\n
    \\n\\n
    \\n
    \\n\\n\\n \\n\\n \\n \\n \\n \\n \\n\\n\";","export default \"
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n \\n \\n
    \\n \\n \\n \\n
    \\n {{ _assets[i].label }}\\n
    \\n
    \\n
    \\n \\n
    \\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n
    \\n {{ _assets[0].opener_title || _assets[0].label }}\\n\\n \\n\\n \\n \\n Lizenzinfos...\\n \\n
    \\n \\n \\n\\n\\n\\n\";","export default \"
    \\n
    \\n

    {{ 'player.revolver.headline' | translate }}

    \\n

    {{ nextAsset.label }}

    \\n
    \\n \\n \\n \\n
    \\n \\n
    \\n
    \\n\\n \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n \\n\\n\\n \\n \\\"\\\"\\n \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n

    {{ 'player.shareModal.shareHeadline' | translate }}

    \\n
    \\n \\n \\n \\n
    \\n {{ shareUrls.url }}\\n
    \\n
    \\n

    {{ 'player.shareModal.embedHeadline' | translate }}

    \\n

    {{ 'player.shareModal.embedText' | translate }}

    \\n\\n
    \\n \\n
    \\n {{ 'player.shareModal.btnCopy' | translate }}\\n
    \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
      \\n \\n \\n \\n Tor ({{\\n elem.match_video_detail.context.score[(elem.match_video_detail.context.score | keys)[0]]\\n }}:{{\\n elem.match_video_detail.context.score[(elem.match_video_detail.context.score | keys)[1]]\\n }}), {{ elem.match_video_detail.context.by_team | truncateString: { characters: 12 } }}\\n \\n Tor ({{\\n elem.match_video_detail.context.score[(elem.match_video_detail.context.score | keys)[0]]\\n }}:{{\\n elem.match_video_detail.context.score[(elem.match_video_detail.context.score | keys)[1]]\\n }}), {{ elem.match_video_detail.context.by_team }}\\n \\n \\n \\n Interview\\n \\n \\n {{ elem.name | truncateString: { characters: 20 } }}\\n {{ elem.name }}\\n \\n \\n\\n \\n {{ elem.match_video_detail.context.moment | matchMinute }}\\n \\n \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n
    \\n

    {{ 'videoplaylist.title' | translate }}

    \\n
    \\n
    \\n
    \\n\\n
    \\n
      \\n \\n \\n \\n Tor ({{\\n elem.match_video_detail.context.score[(elem.match_video_detail.context.score | keys)[0]]\\n }}:{{\\n elem.match_video_detail.context.score[(elem.match_video_detail.context.score | keys)[1]]\\n }}), {{ elem.match_video_detail.context.by_team }}\\n \\n \\n Interview\\n \\n \\n {{ elem.name }}\\n \\n \\n\\n \\n {{ elem.match_video_detail.context.moment | matchMinute }}\\n \\n \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n \\n \\n \\n
    \\n
    \\n\\n \\n\\n\\n\\n \\n \\n \\n\\n\\n\\n \\n\\n\\n\\n \\n\\n\";","export default \"\\n \\n

    {{ 'player.youthProtection.headline' | translate }}

    \\n

    {{ 'player.youthProtection.text' | translate }}

    \\n {{\\n 'player.youthProtection.verifyAge' | translate\\n }}\\n \\n\\n
    \\n

    {{ 'player.youthProtection.headline' | translate }}

    \\n

    {{ 'player.youthProtection.youAreTooYoung' | translate }}

    \\n
    \\n\\n \\n

    {{ 'player.youthProtection.headline' | translate }}

    \\n

    {{ 'player.youthProtection.textSetYouthProtectionPin' | translate }}

    \\n {{\\n 'player.youthProtection.setYouthProtectionPin' | translate\\n }}\\n \\n\\n \\n

    {{ 'player.youthProtection.headline' | translate }}

    \\n

    {{ 'player.youthProtection.pleaseEnterYourPin' | translate }}

    \\n\\n
    \\n \\n
    {{ error }}
    \\n\\n \\n \\n \\n\\n\";","export default \"\\n {{ 'player.payWall.beforeNonRecurringDurationText' | translate }}\\n \\n \\n eine {{ 'player.payWall.hour' | translate }}\\n 1\\\"\\n >{{ product.duration_amount }} {{ 'player.payWall.hours' | translate }}\\n \\n \\n \\n einen {{ 'player.payWall.month' | translate }}\\n 1\\\"\\n >{{ product.duration_amount }} {{ 'player.payWall.months' | translate }}\\n \\n \\n \\n einen {{ 'player.payWall.day' | translate }}\\n 1\\\"\\n >{{ product.duration_amount }} {{ 'player.payWall.days' | translate }}\\n \\n \\n \\n ein {{ 'player.payWall.year' | translate }}\\n 1\\\">\\n unbegrenzt\\n \\n \\n \\n {{ product.duration_amount }} {{ product.duration_unit }}\\n \\n {{ 'player.payWall.afterNonRecurringDurationText' | translate }}\\n\\n\\n\\n {{ product.price }}\\n \\n \\n $\\n {{ product.currency }}\\n \\n\\n\\n \\n \\n / {{ 'player.payWall.hour' | translate }}\\n 1\\\"\\n >/ {{ product.duration_amount }} {{ 'player.payWall.hours' | translate }}\\n \\n \\n \\n / {{ 'player.payWall.month' | translate }}\\n 1\\\"\\n >/ {{ product.duration_amount }} {{ 'player.payWall.months' | translate }}\\n \\n \\n \\n / {{ 'player.payWall.day' | translate }}\\n 1\\\"\\n >/ {{ product.duration_amount }} {{ 'player.payWall.days' | translate }}\\n \\n \\n \\n / {{ 'player.payWall.year' | translate }}\\n 1\\\">\\n unbegrenzt\\n \\n \\n \\n {{ product.duration_unit }}\\n \\n\\n\\n\\n {{ product.price }}\\n \\n \\n $\\n {{ product.currency }} \\n \\n\\n {{ 'player.payWall.afterRecurringPriceText' | translate }}\\n \\n\\n \\n \\n /{{ 'player.payWall.hour' | translate }}\\n 1\\\"\\n >/{{ product.duration_amount }} {{ 'player.payWall.hours' | translate }}\\n \\n \\n \\n {{ 'player.payWall.month' | translate }}\\n 1\\\"\\n >/{{ product.duration_amount }} {{ 'player.payWall.months' | translate }}\\n \\n \\n \\n {{ 'player.payWall.day' | translate }}\\n 1\\\"\\n >/{{ product.duration_amount }} {{ 'player.payWall.days' | translate }}\\n \\n \\n \\n /{{ 'player.payWall.year' | translate }}\\n 1\\\"\\n >/{{ product.duration_amount }} {{ 'player.payWall.years' | translate }}\\n \\n \\n {{ product.duration_unit }}\\n \\n\\n\";","export default \"\\n \\n
    \\n \\n \\n
    \\n \\n
    \\n\\n
    \\n
    \\n {{ 'dynamicPage.btnLoadMore' | translate }}\\n \\n
    \\n
    \\n\";","export default \"\\n \\n\\n
    \\n \\n\\n\\n\\n\\n
    \\n \\n
    \\n
    \\n

    Offizieller Partner

    \\n \\n
    \\n
    \\n\\n\";","export default \"
    \\n
    \\n
    {{ element.title }}
    \\n

    {{ element.description }}

    \\n {{ element.url }}\\n
    \\n
    \\n\";","export default \"
    \\n
    \\n

    {{ title }}

    \\n
    \\n
    \\n
    \\n \\n
    \\n\\n
    \\n
    \\n {{ moreButtonTitle }}\\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n

    {{ 'ageVerification.headline' | translate }}

    \\n
    \\n\\n\\n
    \\n

    1. {{ 'ageVerification.headlineChooseCountry' | translate }}

    \\n
    \\n\\n
    \\n
    \\n
    \\n

    {{ 'ageVerification.textChooseCountry' | translate }}

    \\n \\n {{ 'ageVerification.germany' | translate }}\\n \\n \\n {{ 'ageVerification.austria' | translate }}\\n \\n \\n {{ 'ageVerification.switzerland' | translate }}\\n \\n\\n \\n {{ 'ageVerification.further' | translate }}\\n \\n
    \\n
    \\n
    \\n\\n \\n
    \\n

    2. {{ 'ageVerification.headlineChooseType' | translate }}

    \\n
    \\n\\n
    \\n
    \\n
    \\n

    {{ 'ageVerification.textChooseType' | translate }}

    \\n \\n {{ 'ageVerification.national_id' | translate }}\\n \\n \\n {{ 'ageVerification.passport' | translate }}\\n \\n \\n {{ 'ageVerification.aufenthaltstitel' | translate }}\\n \\n
    \\n
    \\n
    \\n
    \\n\\n \\n
    \\n

    2. {{ 'ageVerification.headlineEmailVerification' | translate }}

    \\n
    \\n\\n
    \\n
    \\n
    \\n

    \\n \\n {{ 'ageVerification.email' | translate }}\\n \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n

    3. {{ 'ageVerification.headlineForm' | translate }}

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n

    {{ 'ageVerification.textNextToPass' | translate }}

    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n {{ error.id_number_block_1 }}\\n
    \\n
    \\n\\n
    \\n \\n \\n
    \\n {{ error.id_number_block_2 }}\\n
    \\n
    \\n\\n \\n \\n \\n
    \\n {{ err }}\\n
    \\n
    \\n\\n
    \\n {{ 'ageVerification.labelBlock4' | translate }}\\n {{ 'ageVerification.labelBlock3' | translate }}\\n \\n
    \\n {{ err }}\\n
    \\n
    \\n\\n
    \\n {{ error.id_number }}\\n
    \\n\\n\\n \\n\\n \\n \\n send adult\\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n\\n
    \\n

    4. {{ 'ageVerification.setYouthProtectionPin.headline' | translate }}

    \\n
    \\n\\n
    \\n
    \\n
    {{ 'ageVerification.setYouthProtectionPin.verifyAgeFirst' | translate }}
    \\n

    {{ 'ageVerification.setYouthProtectionPin.verifyAgeFirstText' | translate }}

    \\n {{\\n 'ageVerification.setYouthProtectionPin.btnVerifyAge' | translate\\n }}\\n\\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n

    {{ 'ageVerification.setYouthProtectionPin.description' | translate }}

    \\n\\n

    \\n {{ 'ageVerification.setYouthProtectionPin.timeToChangeYourPin' | translate }}\\n {{ 4 + ageVerificationTimeAgo?.minutes() | number: '2.0' }}:{{\\n 60 + ageVerificationTimeAgo?.get('seconds') | number: '2.0'\\n }}\\n

    \\n\\n
    \\n
    \\n \\n\\n
    \\n
    \\n
    \\n \\n\\n \\n {{ 'ageVerification.setYouthProtectionPin.btnSavePin' | translate }}\\n \\n\\n
    {{ error.pin }}
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n

    {{ 'checkout.start.headline' | translate }}

    \\n\\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n

    {{ product.name }}

    \\n

    {{ product.description }}

    \\n\\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    0 && !hasReturnedFromAdyen\\\">\\n
    \\n

    {{ 'checkout.start.usedVouchers' | translate }}

    \\n

    \\n {{ coup.discount_in_percent }}% Rabatt\\n - Gültig bis {{ coup.expires_at | date }}\\n {{ coup.credit_in_money }} {{ coup.currency }} Rabatt\\n - Gültig bis {{ coup.expires_at | date }}\\n

    \\n\\n \\n
    {{ 'checkout.start.newCustomerVoucher' | translate }}
    \\n

    \\n Zahle jetzt {{ order.total_to_pay }} - Anschließend\\n \\n

    \\n
    \\n
    \\n
    \\n\\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n\\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n \\n\\n

    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n \\n
    \\n \\n\\n \\n \\n
    \\n\\n
    \\n
    {{ 'checkout.start.errorAcceptToc' | translate }}
    \\n
    \\n\\n
    \\n

    \\n \\n

    \\n
    \\n
    \\n \\n Weiter (Zahlungsmethode wählen)\\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n
    \\n

    {{ 'confirmEmail.headline' | translate }}

    \\n

    \\n\\n
    \\n \\n\\n \\n {{ 'confirmEmail.button' | translate }}\\n \\n {{ 'confirmEmail.backToLogin' | translate }}\\n \\n\\n
    {{ successMessage }}
    \\n
    {{ errorMessage }}
    \\n\\n
    \\n \\n
    \\n\\n

    {{ 'confirmEmail.helpTextheadline' | translate }}

    \\n

    {{ 'confirmEmail.helpText1' | translate }}

    \\n

    {{ 'confirmEmail.helpText2' | translate }}

    \\n

    {{ 'confirmEmail.helpText3' | translate }}

    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n
    \\n \\n
    \\n \\n
    {{ error.password }}
    \\n
    \\n
    \\n
    \\n \\n\\n
    \\n
    \\n \\n\\n
    {{ error.pin }}
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n
    {{ (me?.real_name)[0] }}
    \\n
    \\n

    {{ me?.real_name ? me?.real_name : ('dashboard.headline' | translate) }}

    \\n

    {{ me?.email }}

    \\n

    \\n {{ 'dashboard.birthday' | translate }}: {{ me?.birthdate | date }}\\n

    \\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n\\n \\n
    \\n

    {{ 'dashboard.modalPaymentDataChangeText' | translate }}

    \\n \\n
    \\n
    \\n\\n \\n
    \\n

    {{ 'dashboard.changeData' | translate }}

    \\n\\n \\n
    \\n
    \\n\\n \\n
    \\n

    {{ 'dashboard.changeYouthProtectionPin' | translate }}

    \\n\\n \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n 0\\\">\\n
    \\n \\n \\n \\n \\n\\n \\n \\n \\n
    \\n
    {{ order.products[0].name }}
    \\n \\n {{ 'dashboard.orderActiveSince' | translate }}:\\n {{ order.created_at | date: 'mediumDate' }}\\n {{ order.created_at | date: 'shortTime' }}\\n \\n\\n \\n
    \\n {{ 'dashboard.orderCancelledAt' | translate }}:\\n {{ order.cancelled_at | date: 'mediumDate' }}\\n {{ order.cancelled_at | date: 'shortTime' }}\\n
    \\n\\n \\n
    \\n {{ 'dashboard.nextBilling' | translate }}: {{ order.cancelled_at | date: 'mediumDate' }}\\n {{ getOrderActiveUntil(order) | date: 'shortDate' }}\\n
    \\n
    \\n \\n {{ 'dashboard.btnCancelOrder' | translate }}\\n \\n \\n
    \\n {{ assets[order.products[0].asset_id]?.label }}\\n
    \\n
    \\n {{ 'dashboard.assetNotFound' | translate }}\\n
    \\n {{ order.products[0].name }}
    \\n \\n \\n Gekauft am: {{ order.created_at | date: 'shortDate' }}
    \\n\\n {{ 'dashboard.orderActiveUntil' | translate }}:\\n \\n \\n {{ order.products[0].duration_amount }}\\n\\n {{ order.products[0].duration_amount > 1 ? 'Stunden' : 'Stunde' }} nach dem\\n ersten Abruf\\n \\n\\n \\n {{ order.products[0].duration_amount }}\\n {{ order.products[0].duration_amount > 1 ? 'Monate' : 'Monat' }}\\n nach dem ersten Abruf\\n \\n \\n\\n \\n {{ getOrderActiveUntil(order) | date: 'shortDate' }}\\n \\n
    \\n
    \\n \\n Bezahlung abgelehnt\\n Bezahlung gestartet\\n\\n \\n {{ 'dashboard.btnToVideo' | translate }}\\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n {{ 'dashboard.noOrders' | translate }}\\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n
    \\n {{ 'subscribedChannels.currentlyNoSubscriptions' | translate }}\\n
    \\n\\n
    \\n
    \\n

    {{ subscription.subscription_name }}

    \\n\\n
    \\n \\n \\n
    \\n\\n 1\\\"\\n class=\\\"btn-remove btn btn-link\\\"\\n >\\n \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n

    \\n {{ value }}\\n

    \\n

    {{ tag_filter.label }}

    \\n
    \\n
    \\n\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n\\n \\n\\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n \\n \\n
    \\n\\n
    \\n
    \\n \\n\\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n\\n
    \\n\\n \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n

    \\n Deine Spende für {{ (asset?.teams)[0] }} : {{ amount / 100 | currency: 'Euro':'Euro':'1.2-2' }}\\n

    \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n

    {{ 'checkout.start.paymentHeadline' | translate }}

    \\n\\n

    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n \\n Ich akzeptiere die\\n AGB. DOSB New\\n Media GmbH darf meine persönlichen Daten an {{ (asset?.teams)[0] }} weitergeben. Die\\n Daten werden ausschließlich zur Verarbeitung der Spende genutzt und nicht an andere\\n Dritte weiter gegeben. DOSB New Media GmbH sammelt die Spende treuhändisch im Namen\\n von {{ (asset?.teams)[0] }} ein und leitet diese an {{ (asset?.teams)[0] }} weiter.\\n DOSB New Media stellt keine Spendenquittungen aus. Diese erhältst du bei Bedarf und\\n sofern möglich von {{ (asset?.teams)[0] }}.\\n \\n\\n Widerrufsbedingungen: Solltest du eine Rückerstattung wünschen wende dich bitte\\n innerhalb von 2 Wochen an redaktion@sportdeutschland.tv.\\n \\n\\n

    \\n Es gilt unsere\\n Datenschutzerklärung\\n

    \\n
    \\n\\n
    \\n
    {{ 'checkout.start.errorAcceptToc' | translate }}
    \\n
    \\n\\n
    \\n

    \\n \\n

    \\n
    \\n
    \\n \\n Weiter\\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n \\n\\n
    \\n
    \\n

    \\n In Zeiten von Corona steht neben der Gesundheit aller auch die\\n wirtschaftliche Existenz von Vereinen auf dem Spiel. Gründe: fehlende Ticketeinnahmen,\\n drohender Ausfall von Sponsoren-Geldern, ausbleibende Events, fehlende Catering-Einnahmen, etc.\\n

    \\n
    \\n\\n
    \\n

    \\n Wir als Sportdeutschland.TV möchten mit YouSport die Gemeinschaft aller Beteiligten\\n nutzen und für Vereine Gelder sammeln. Dafür haben wir unsere #gemeinsamfuerdenSport-Kampagne\\n ins Leben gerufen.\\n

    \\n
    \\n\\n
    \\n \\n
    \\n
    \\n \\n\\n \\n \\n \\n \\n \\n \\n
    \\n \\n
    \\n\";","export default \"
    \\n
    \\n
    966\\\" class=\\\"col-12 px-0\\\">\\n
    \\n \\n
    \\n\\n
    \\n \\n\\n
    \\n
    1\\\" class=\\\"row\\\">\\n
    {{ viewers }} Zuschauer in diesem Moment
    \\n
    \\n\\n\\n
    \\n\\n\\n\\n
    \\n
    \\n {{ section?.title }}\\n\\n TV\\n\\n \\n {{ mainAsset.sportart.values[0] }}\\n\\n \\n \\n
    \\n\\n \\n\\n \\n

    \\n Der Livestream wird ermöglicht von\\n
    \\n \\n \\n \\n

    \\n
    \\n\\n \\n
    \\n\\n\\n
    \\n

    {{ mainAsset.label }}

    \\n \\n Sportmoment wurde eingereicht von: {{ mainAsset.publisher.name }}\\n

    \\n \\n

    \\n Dieser Inhalt wurde erstellt von {{ mainAsset.publisher.name }}
    \\n Der Inhalt wurde ohne Prüfung durch {{ environment.appDisplayName }} veröffentlicht.\\n

    \\n

    \\n Livestream: Dieser Livestream wird produziert von\\n {{ mainAsset.publisher.name }}
    . Der Livestream wurde ohne Prüfung durch\\n {{ environment.appDisplayName }} veröffentlicht\\n

    \\n \\n\\n
    \\n
    \\n

    \\n {{ mainAsset.live_at || mainAsset.published_at | customDate: 'medium' }}\\n \\n \\n | {{ 'asset.duration' | translate }}{{ mainAsset.duration }}\\n

    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n \\n\\n \\n

    \\n\\n\\n

    0\\\">\\n Aufgrund rechtlicher Einschränkungen ist dieser Inhalt ausschließlich in {{ country.replace('DE', 'Deutschland').replace('AT', 'Österreich').replace('CH', 'Schweiz') }}, verfügbar\\n

    \\n\\n \\n Die Spenden Aktion ist vorbei. Vielen Dank für eure Spenden!\\n
    \\n\\n
    \\n
    \\n\\n \\n\\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n 966\\\"\\n class=\\\"col-12 pl-0 pr-0\\\"\\n id=\\\"relatedAssetsColumn\\\"\\n >\\n
    \\n

    {{ 'asset.relatedHeadline' | translate }}

    \\n\\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n
    \\n \\n \\n \\n\\n\";","export default \"
    \\n
    \\n
    \\n {{ selectedDate.format('DD') }}.\\n\\n \\n {{ selectedDate.format('dddd') }}\\n {{ selectedDate.format('MMM') }}\\n \\n
    \\n
    \\n \\n {{ 'epg.previousDay' | translate }}\\n \\n \\n \\n {{ 'epg.nextDay' | translate }}\\n \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n

    \\n \\n

    \\n

    Derzeit kein EPG verfügbar

    \\n\\n

    \\n Kein EPG für diesen Tag verfügbar\\n

    \\n\\n
      \\n
    • \\n
      \\n

      \\n {{ entry.starts_at | date: 'HH:mm' }}\\n

      \\n

      {{ entry.ends_at | date: 'HH:mm' }}

      \\n
      \\n
      \\n

      \\n {{ entry.title }}\\n Jetzt Live\\n {{ entry.ends_at | date: 'EEEEEE dd.MMM' }}\\n

      \\n\\n \\n START\\n \\n\\n \\n
      \\n
    • \\n
    \\n
    \\n
    \\n\\n\";","export default \"
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n {{ asset.sportart.values[0] }}\\n \\n \\n {{ asset.channel.values[0] }}\\n \\n \\n

    {{ asset.published_at | date: 'mediumDate' }}

    \\n

    {{ asset.label }}

    \\n
    \\n \\n
    \\n\";","export default \"
    \\n \\n {{ tag.name }}\\n\\n \\n \\n \\n\\n \\n {{\\n tag.name\\n }}\\n \\n
    \\n\";","export default \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n\\n\\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n\";","export default \"\\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n\\n
    \\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n \\n \\n
    \\n\\n \\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n\\n \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n\\n \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n\\n \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n\\n \\n \\n \\n \\n\\n\\n\\n \\n\\n\";","export default \"
    \\n
    \\n

    404

    \\n
    \\n
    \\n
    Diese Seite existiert nicht :(
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n
    \\n

    {{ page.title }}

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n \\n

    {{ section.title }}

    \\n
    \\n
    \\n\\n\\n\\n\\n \\n \\n\\n\\n\\n
    \\n \\n\\n \\n \\n\\n \\n\\n 0\\\"\\n [items]=\\\"liveAssets\\\"\\n [tileType]=\\\" TileType.BIG_LIVE_EVENT_TILE\\\"\\n [title]=\\\"'home.liveEventsHeadline' | translate\\\"\\n >\\n\\n \\n \\n \\n \\n\\n
    \\n
    \\n
    \\n

    Alle Daten zur Handball WM 2019

    \\n
    \\n
    \\n \\n
    \\n\\n \\n \\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n \\n
    \\n\\n
    \\n allAssets?.length\\\"\\n title=\\\"Alle Videos\\\"\\n >\\n \\n \\n \\n \\n \\n \\n
    \\n\\n\";","export default \"
    \\n
    \\n

    Oh no! 500

    \\n
    \\n
    \\n
    \\n Die Seite ist vorrübergehend nicht erreichbar.
    \\n Wir arbeiten an der Behebung des Fehlers.\\n\\n
    \\n
    \\n API Error\\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n
    \\n \\n

    {{ 'emailConfirmed.success' | translate }}

    \\n
    \\n\\n \\n

    {{ 'emailConfirmed.error' | translate }}

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n\\n\\n \\n
    \\n\";","export default \"
    \\n
    \\n
    \\n \\n \\n
    \\n\\n \\n \\n\\n \\n \\n {{ elem?.title }}\\n \\n \\n
    \\n\\n \\n = 1\\\"\\n [items]=\\\"playlist.assets\\\"\\n [tileType]=\\\"TileType.EXTRA_SMALL_ASSET_TILE\\\"\\n [title]=\\\"''\\\"\\n >\\n \\n \\n\\n \\n {{ syndicationPlayer.link_label }}\\n \\n
    \\n
    \\n

    Dieser Player existiert nicht.

    \\n
    \\n\\n\";","export default \"\\n
    \\n
    \\n
    \\n

    {{ 'liveEvents.headline' | translate }}

    \\n
    \\n\\n
    2\\\" class=\\\"col-12 mt-3\\\">\\n
    \\n \\n {{ activeSportType }}\\n \\n \\n \\n \\n {{ sportType }}\\n \\n \\n \\n
    \\n
    \\n\\n
    2\\\" class=\\\"col-12 mt-3\\\">\\n
    \\n \\n {{ activeChannel }}\\n \\n \\n \\n \\n {{ channel }}\\n \\n \\n \\n
    \\n
    \\n
    \\n\\n

    {{ 'liveEvents.noLiveEvents' | translate }}

    \\n\\n \\n\\n
    \\n

    \\n {{ events[0].starts_at | date: 'EEEE' }} , {{ events[0].starts_at | date: 'mediumDate' }}\\n

    \\n\\n
    \\n\\n \\n
    \\n
    \\n\\n
    \\n
    \\n {{ 'liveEvents.btnLoadMore' | translate }}\\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n
    \\n

    {{ 'newsletter.headline' | translate }}

    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n
    \\n

    {{ 'forgotPass.headline' | translate }}

    \\n

    {{ 'forgotPass.description' | translate }}

    \\n\\n
    \\n \\n\\n \\n {{ 'forgotPass.submit' | translate }}\\n \\n\\n Zurück zum Login\\n \\n\\n
    {{ successMessage }}
    \\n
    {{ errorMessage }}
    \\n\\n
    \\n \\n
    \\n\\n

    {{ 'forgotPass.bottomHeadline' | translate }}

    \\n

    {{ 'forgotPass.bottomText1' | translate }}

    \\n

    {{ 'forgotPass.bottomText2' | translate }}

    \\n

    {{ 'forgotPass.bottomText3' | translate }}

    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n
    \\n
    \\n \\n

    {{ 'resetPass.headline' | translate }}

    \\n

    {{ 'resetPass.description' | translate }}

    \\n\\n
    \\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n
    \\n
    {{ tokenNotValidMessage }}
    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n \\n\\n\";","export default \"\\n
    \\n
    \\n

    {{ 'search.headline' | translate }}

    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n {{ suggestion }}\\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n\\n \\n\\n \\n
    \\n
    {{ 'search.noResults' | translate }}
    \\n
    \\n
    \\n
    \\n\";","export default \"\";","export default \"\\n
    \\n

    Kanäle

    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n
    \\n

    Sportarten

    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\";","import { OrdersComponent } from './components/pages/dashboard-page/orders/orders.component';\nimport { MenuSearchbarComponent } from './components/elements/menu-searchbar/menu-searchbar.component';\nimport { CUSTOM_ELEMENTS_SCHEMA, ErrorHandler, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LivestreamsComponent } from './components/pages/livestreams-page/livestreams.component';\nimport { PlayerComponent } from './components/elements/player/player.component';\nimport { RegisterComponent } from './components/pages/register-page/register.component';\nimport { CheckoutComponent } from './components/pages/checkout-page/checkout.component';\nimport { SearchComponent } from './components/pages/search-page/search.component';\nimport { PlayerLoginComponent } from './components/elements/player/login/player-login.component';\nimport { AlertComponent } from './components/atoms/alert/alert.component';\nimport { YouthProtectionComponent } from './components/elements/player/youth-protection/youth-protection.component';\nimport { NewsletterComponent } from './components/pages/newsletter-page/newsletter.component';\nimport { LoginComponent } from './components/pages/login-page/login.component';\nimport { VideoComponent } from './components/elements/player/video/video.component';\nimport { ProductPriceComponent } from './components/elements/product-price/product-price.component';\nimport { PlayerErrorComponent } from './components/elements/player/error/player-error.component';\nimport { PaywallComponent } from './components/elements/player/paywall/paywall.component';\nimport { PlayerCountdownComponent } from './components/elements/player/player-countdown/player-countdown.component';\nimport { AgeVerificationComponent } from './components/pages/age-verification-page/age-verification.component';\nimport { PageComponent } from './components/pages/dynamic-page/page/page.component';\nimport { ControlMessagesComponent } from './components/elements/form/control-messages/control-messages.component';\nimport { AssetPageComponent } from './components/pages/dynamic-page/asset-page/asset-page.component';\nimport { FooterComponent } from './components/elements/footer/footer.component';\nimport { DashboardComponent } from './components/pages/dashboard-page/dashboard.component';\nimport { SectionComponent } from './components/pages/dynamic-page/section/section.component';\nimport { ExtendedPageComponent } from './components/pages/dynamic-page/extended-page/extended-page.component';\nimport { AssetTileSliderComponent } from './components/elements/asset-tile-slider/asset-tile-slider.component';\nimport { UserDataComponent } from './components/pages/dashboard-page/user-data/user-data.component';\nimport { BsDropdownModule, CarouselModule, ModalModule } from 'ngx-bootstrap';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { environment } from './environments/environment';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { ServiceWorkerModule } from '@angular/service-worker';\nimport { Angulartics2Module } from 'angulartics2';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { RouterModule } from '@angular/router';\nimport { VideoPlaylistComponent } from './components/elements/player/video/video-playlist/video-playlist.component';\nimport { BigAssetTileComponent } from './components/atoms/tiles/big-asset-tile/big-asset-tile.component';\nimport { TileTeaserGridComponent } from './components/elements/tile-teaser-grid/tile-teaser-grid.component';\nimport { AdComponent } from './components/atoms/ad/ad.component';\nimport { AppComponent } from './components/app.component';\nimport { EmbeddedPlayerComponent } from './components/pages/embedded/embedded-player/embedded-player.component';\nimport { ClipboardModule } from 'ngx-clipboard';\nimport { ShareModalComponent } from './components/elements/player/video/share-modal/share-modal.component';\nimport { SyndicationPlayerComponent } from './components/pages/embedded/syndication-player/syndication-player.component';\nimport { NavItemComponent } from './components/atoms/nav-item/nav-item.component';\nimport { PasswordResetComponent } from './components/pages/password-reset-page/password-reset.component';\nimport { PasswordForgotComponent } from './components/pages/password-forgot-page/password-forgot.component';\nimport { OpenerComponent } from './components/elements/opener/opener.component';\nimport { NotFoundComponent } from './components/pages/dynamic-page/not-found/not-found.component';\nimport { ButtonComponent } from './components/atoms/button/button.component';\nimport { SubscribeButtonComponent } from './components/atoms/subscribe-button/subscribe-button.component';\nimport { DynamicPageComponent } from './components/pages/dynamic-page/dynamic-page.component';\nimport { ImagesliderComponent } from './components/elements/imageslider/imageslider.component';\nimport { VideoBottomPlaylistComponent } from './components/elements/player/video/video-bottom-playlist/video-bottom-playlist.component';\nimport { TestLiveComponent } from './components/pages/test-live/test-live.component';\nimport { EmptyComponent } from './components/pages/empty/empty.component';\nimport { ConfirmEmailComponent } from './components/pages/confirm-email-page/confirm-email.component';\nimport { CtaBannerComponent } from './components/atoms/cta-banner/cta-banner.component';\nimport { Angulartics2GoogleTagManager } from 'angulartics2/gtm';\nimport { ServerErrorComponent } from './components/pages/dynamic-page/server-error/server-error.component';\nimport { NavLinkComponent } from './components/atoms/nav-link/nav-link.component';\nimport { AdContainerComponent } from './components/elements/ad-container/ad-container.component';\nimport { ContainerComponent } from './components/elements/container/container.component';\nimport { EpgComponent } from './components/pages/dynamic-page/asset-page/epg/epg.component';\nimport { PipesModule } from './pipes/pipes.module';\nimport { ServicesModule } from './services/services.module';\nimport { LoggedInGuard } from './guards/logged-in.guard';\n// tslint:disable-next-line:max-line-length\nimport { ChangeYouthprotectionPinComponent } from './components/pages/dashboard-page/change-youthprotection-pin/change-youthprotection-pin.component';\nimport { SidebarComponent } from './components/elements/sidebar/sidebar.component';\nimport { RelatedAssetComponent } from './components/pages/dynamic-page/asset-page/related-asset/related-asset.component';\nimport { SomtagDisclaimerComponent } from './components/elements/somtag-disclaimer/somtag-disclaimer.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { SocialLinksComponent } from './components/atoms/social-links/social-links.component';\nimport { TagCloudComponent } from './components/pages/dynamic-page/asset-page/tag-cloud/tag-cloud.component';\nimport { SectionSlidersComponent } from './components/elements/section-sliders/section-sliders.component';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { LanguageSelectComponent } from './components/atoms/language-select/language-select.component';\nimport { DeviceDetectorModule } from 'ngx-device-detector';\nimport { RevolverPlayComponent } from './components/elements/player/revolver-play/revolver-play.component';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport {\n PERFECT_SCROLLBAR_CONFIG,\n PerfectScrollbarConfigInterface,\n PerfectScrollbarModule\n} from 'ngx-perfect-scrollbar';\nimport { AssetSubtitleComponent } from './components/atoms/asset-subtitle/asset-subtitle.component';\nimport { BigLiveEventTileComponent } from './components/atoms/tiles/big-live-event-tile/big-live-event-tile.component';\nimport { HeaderComponent } from './components/elements/header/header.component';\nimport { NgxJsonLdModule } from '@ngx-lite/json-ld';\nimport { AdaptiveRouterLinkDirective } from './directives/adaptive-router-link.directive';\nimport { EmailConfirmedPageComponent } from './components/pages/email-confirmed-page/email-confirmed-page.component';\nimport { InViewportModule } from 'ng-in-viewport';\nimport { SmallSectionTileComponent } from './components/atoms/tiles/small-section-tile/small-section-tile.component';\nimport { SectionTileComponent } from './components/atoms/tiles/section-tile/section-tile.component';\nimport { BigSponsorTileComponent } from './components/atoms/tiles/big-sponsor-tile/big-sponsor-tile.component';\nimport { ExtraSmallAssetTileComponent } from './components/atoms/tiles/extra-small-asset-tile/extra-small-asset-tile.component';\nimport { LiveEventTileComponent } from './components/atoms/tiles/live-event-tile/live-event-tile.component';\nimport { LoginFormComponent } from './components/elements/form/login-form/login-form.component';\nimport { SubscribedChannelsComponent } from './components/pages/dashboard-page/subscribed-channels/subscribed-channels.component';\nimport { SmallAssetTileComponent } from './components/atoms/tiles/small-asset-tile/small-asset-tile.component';\nimport { SportIconComponent } from './components/atoms/sport-icon/sport-icon.component';\nimport { ConfirmationDialogComponent } from './components/elements/confirmation-dialog/confirmation-dialog.component';\nimport { RegisterFormComponent } from './components/elements/form/register-form/register-form.component';\nimport { ExtendedPageContentModalComponent } from './components/elements/extended-page-content-modal/extended-page-content-modal.component';\nimport { ToastrModule } from 'ngx-toastr';\nimport { RoundImageTileComponent } from './components/atoms/tiles/round-image-tile/round-image-tile.component';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { OverlayModalComponent } from './components/elements/player/video/overlay-modal/overlay-modal.component';\nimport { LoadingIndicatorComponent } from './components/elements/loading-indicator/loading-indicator.component';\nimport { MaterialModule } from './material.module';\nimport { DonationTileComponent } from './components/atoms/tiles/donation-tile/donation-tile.component';\nimport { DonationBarComponent } from './components/atoms/donation-bar/donation-bar.component';\nimport { DonationButtonComponent } from './components/atoms/donation-button/donation-button.component';\nimport { DonationHeaderComponent } from './components/atoms/donation-header/donation-header.component';\nimport { DonationPageComponent } from './components/pages/donation-page/donation-page.component';\nimport { DonationCheckoutPageComponent } from './components/pages/donation-checkout-page/donation-checkout-page.component';\nimport { ConsentModule } from './modules/consent/consent.module';\n\nexport function createTranslateLoader(http: HttpClient) {\n return new TranslateHttpLoader(http, 'assets/i18n/', '.json');\n}\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true\n};\n\nconst components = [\n AppComponent,\n LivestreamsComponent,\n SearchComponent,\n FooterComponent,\n AssetPageComponent,\n PageComponent,\n PlayerComponent,\n LoginComponent,\n RegisterComponent,\n AlertComponent,\n DashboardComponent,\n SubscribedChannelsComponent,\n AgeVerificationComponent,\n SectionComponent,\n PlayerCountdownComponent,\n YouthProtectionComponent,\n VideoComponent,\n PaywallComponent,\n CheckoutComponent,\n DonationCheckoutPageComponent,\n AssetTileSliderComponent,\n ControlMessagesComponent,\n PlayerLoginComponent,\n PlayerErrorComponent,\n UserDataComponent,\n ProductPriceComponent,\n NewsletterComponent,\n VideoPlaylistComponent,\n TileTeaserGridComponent,\n AdComponent,\n EmbeddedPlayerComponent,\n SyndicationPlayerComponent,\n ShareModalComponent,\n OverlayModalComponent,\n PasswordResetComponent,\n PasswordForgotComponent,\n OpenerComponent,\n NotFoundComponent,\n ButtonComponent,\n SubscribeButtonComponent,\n DynamicPageComponent,\n ImagesliderComponent,\n VideoBottomPlaylistComponent,\n TestLiveComponent,\n EmptyComponent,\n ConfirmEmailComponent,\n CtaBannerComponent,\n ExtendedPageComponent,\n NavItemComponent,\n ServerErrorComponent,\n NavLinkComponent,\n AdContainerComponent,\n ContainerComponent,\n LoginFormComponent,\n RegisterFormComponent,\n EpgComponent,\n ChangeYouthprotectionPinComponent,\n SomtagDisclaimerComponent,\n SidebarComponent,\n MenuSearchbarComponent,\n RelatedAssetComponent,\n SocialLinksComponent,\n DonationBarComponent,\n DonationButtonComponent,\n DonationHeaderComponent,\n DonationTileComponent,\n DonationPageComponent,\n TagCloudComponent,\n SectionSlidersComponent,\n RevolverPlayComponent,\n LanguageSelectComponent,\n AssetSubtitleComponent,\n HeaderComponent,\n EmailConfirmedPageComponent,\n SmallAssetTileComponent,\n BigAssetTileComponent,\n SmallSectionTileComponent,\n SectionTileComponent,\n BigSponsorTileComponent,\n LiveEventTileComponent,\n AdaptiveRouterLinkDirective,\n ExtraSmallAssetTileComponent,\n BigLiveEventTileComponent,\n ConfirmationDialogComponent,\n OrdersComponent,\n SportIconComponent,\n ExtendedPageContentModalComponent,\n RoundImageTileComponent,\n LoadingIndicatorComponent\n];\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n CommonModule,\n BrowserModule,\n FormsModule,\n RouterModule,\n HttpClientModule,\n MaterialModule,\n CarouselModule.forRoot(),\n BsDropdownModule.forRoot(),\n ModalModule.forRoot(),\n ReactiveFormsModule,\n ClipboardModule,\n ServiceWorkerModule.register('/ngsw-worker.js', {\n enabled: environment.production\n }),\n // @ts-ignore\n Angulartics2Module.forRoot([Angulartics2GoogleTagManager]),\n PipesModule,\n ServicesModule,\n InfiniteScrollModule,\n DeviceDetectorModule.forRoot(),\n CollapseModule.forRoot(),\n PerfectScrollbarModule,\n NgxJsonLdModule,\n InViewportModule,\n ToastrModule.forRoot({\n timeOut: 5000,\n positionClass: 'toast-top-right',\n preventDuplicates: true,\n countDuplicates: true,\n resetTimeoutOnDuplicate: true,\n progressAnimation: 'increasing',\n easeTime: 100,\n // Fires changeDetectorRef.detectChanges() when activated.\n // Helps show toast from asynchronous events outside of Angular's change detection\n onActivateTick: true\n }),\n ScrollingModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n // AoT requires an exported function for factories\n useFactory: createTranslateLoader,\n deps: [HttpClient]\n }\n }),\n ConsentModule\n ],\n declarations: [...components],\n exports: [\n ...components,\n CommonModule,\n BrowserModule,\n FormsModule,\n TranslateModule,\n HttpClientModule,\n CarouselModule,\n BsDropdownModule,\n ModalModule,\n ReactiveFormsModule,\n ServiceWorkerModule,\n Angulartics2Module,\n PipesModule,\n ServicesModule,\n InViewportModule\n ],\n providers: [\n LoggedInGuard,\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ],\n schemas: [\n CUSTOM_ELEMENTS_SCHEMA // Tells Angular we will have custom tags in our templates (cmp-banner)\n ]\n})\nexport class AppCommonModule {}\n","import { SidebarService } from '../services/sidebar.service';\nimport { VersionCheckService } from '../services/version-check.service';\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { registerLocaleData } from '@angular/common';\nimport localeDe from '@angular/common/locales/de';\nimport { environment } from '../environments/environment';\nimport { InactivityService } from '../services/inactivity.service';\nimport { BrowserWarningService } from '../services/browser-warning.service';\nimport { EmbeddedModeService } from '../services/embedded-mode.service';\nimport { User } from '../entities/user.entity';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { AnalyticsService } from '../services/analytics.service';\nimport { MenuService } from '../services/api/methods/menu.service';\nimport { AuthenticationService } from '../services/api/methods/authentication.service';\nimport { AlertNotificationsService } from '../services/alert-notifications.service';\nimport { UserProfileService } from '../services/user-profile.service';\nimport { SubscriptionService } from '../services/api/methods/subscription.service';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { WebsocketService } from '../services/websocket.service';\nimport { ExternalScriptsLoaderService, ScriptModel } from '../services/external-scripts-loader.service';\nimport { ConsentService } from '../modules/consent/consent.service';\nimport { delay, filter, switchMap, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html'\n})\nexport class AppComponent implements OnInit {\n public environment = environment;\n public menuHeight: number;\n public sidebarVisible = false;\n\n public embeddedMode = false;\n public inAppMode = false;\n\n constructor(\n private translate: TranslateService,\n private inactivityService: InactivityService,\n private authenticationService: AuthenticationService,\n private alertNotificationsService: AlertNotificationsService,\n private analyticsService: AnalyticsService,\n private embeddedModeService: EmbeddedModeService,\n private storage: StorageMap,\n private router: Router,\n private cdr: ChangeDetectorRef,\n private versionChecker: VersionCheckService,\n private menuService: MenuService,\n private sidebarService: SidebarService,\n private userProfileService: UserProfileService,\n private subscriptionService: SubscriptionService,\n private socketService: WebsocketService,\n private consentService: ConsentService,\n private externalScriptsLoaderService: ExternalScriptsLoaderService\n ) {\n // this language will be used as a fallback when a translation isn't found in the current language\n registerLocaleData(localeDe, 'de');\n this.translate.setDefaultLang(this.environment.i18n.defaultLocale);\n // the lang to use, if the lang isn't available, it will use the current loader to get them\n this.translate.use(this.environment.i18n.defaultLocale);\n if (this.environment.i18n.languages.length > 1) {\n this.translate.addLangs(this.environment.i18n.languages);\n }\n\n // stops tracking PageViews\n // angulartics2.settings.pageTracking.developerMode = true;\n\n this.inactivityService.init();\n this.versionChecker.initVersionCheck();\n BrowserWarningService.checkBrowser();\n this.menuService.menuHeight.subscribe((height: number) => {\n this.menuHeight = height;\n });\n this.sidebarService.isOpen.subscribe(isOpen => {\n this.sidebarVisible = isOpen;\n });\n\n this.userProfileService.init();\n this.socketService.connect();\n\n this.router.events\n .pipe(\n filter(e => {\n return e instanceof NavigationEnd;\n }),\n switchMap(() => this.consentService.initialized$),\n filter(e => {\n return e === true;\n }),\n delay(100)\n )\n .subscribe(e => {\n console.log('[CMPcustom]', window.location.pathname);\n if (\n window.location.pathname.includes('impressum') ||\n window.location.pathname.includes('cookiehinweise') ||\n window.location.pathname.includes('datenschutz')\n ) {\n console.log('[CMPcustom] on impressum / datenschutz: hide banner');\n this.consentService.hideConsentBanner();\n }\n });\n }\n\n public toggleSidebar() {\n this.sidebarService.toggle();\n }\n\n public ngOnInit(): void {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n window.UC_UI = {\n showSecondLayer: () => {\n this.consentService.showConfigurationStep();\n }\n };\n this.embeddedModeService.embedded.subscribe((embedded: boolean) => {\n this.embeddedMode = embedded;\n this.cdr.detectChanges();\n });\n\n this.analyticsService.trackEvent('InitPageLoad', {\n event: 'InitPageLoad',\n gtmCustom: {\n appName: environment.appName,\n environment: environment.envName,\n production: environment.production,\n domain: environment.tracking.customDomain ? environment.tracking.customDomain : window.location.hostname\n }\n });\n\n this.storage.get('me').subscribe((me: User | null) => {\n if (me && me.uuid) {\n this.analyticsService.setUserName(me.uuid);\n }\n });\n\n this.router.events.subscribe(evt => {\n if (!(evt instanceof NavigationEnd)) {\n return;\n }\n window.scrollTo(0, 0);\n });\n\n if (['tischtennis', 'turn', 'handball'].includes(environment.appName)) {\n this.authenticationService.isLoggedIn().subscribe(loggedIn => {\n if (loggedIn === false) {\n this.alertNotificationsService.warnTranslated('home.plusNotification', true);\n }\n });\n }\n\n // fill subscription store\n this.subscriptionService.subscriptionData$().subscribe(\n () => {\n // console.log('subscription store filled'),\n },\n error => {\n // console.warn('subscriptions not filled', error)\n }\n );\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvYXRvbXMvYWQvYWQuY29tcG9uZW50LnNjc3MifQ== */\";","import { SomtagService } from '../../../services/somtag.service';\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'app-ad',\n templateUrl: './ad.component.html',\n styleUrls: ['./ad.component.scss']\n})\nexport class AdComponent implements OnInit, OnDestroy {\n @Input() public format:\n | 'fullbanner2'\n | 'skyscraper1'\n | 'rectangle1'\n | 'mbanner1'\n | 'mbanner2'\n | 'inread1'\n | 'minread1'\n | 'performanceRectangle1'\n | 'promo2'\n | 'promo3'\n | 'promo4'\n | 'promo5';\n @Output() public height: EventEmitter = new EventEmitter();\n @Output() public width: EventEmitter = new EventEmitter();\n @Output() public disabled: EventEmitter = new EventEmitter();\n\n public environment = environment;\n private loadAdSubscription: Subscription;\n private loadInitialized: boolean = false;\n\n constructor(private somtagService: SomtagService) {}\n\n public ngOnInit(): void {\n this.loadAdSubscription = this.somtagService.loadDisplayAdsSource\n .pipe(\n filter((value: boolean) => value)\n // take(1)\n )\n .subscribe(\n () => {\n this.load();\n },\n err => {\n console.error('ad-component error on load ad. Format: ', this.format);\n this.disabled.next(true);\n this.height.emit(0);\n this.width.emit(0);\n }\n );\n }\n\n public ngOnDestroy() {\n this.loadAdSubscription.unsubscribe();\n }\n\n public load() {\n if (this.loadInitialized) {\n console.error('prevented ad loading - ad already loaded');\n return;\n }\n this.loadInitialized = true;\n this.somtagService.loadDisplayAdForSlot(this.format, '#' + this.format).subscribe(\n (res: { ad: any; result: any; error: any }) => {\n if (res.error) {\n this.height.emit(0);\n this.width.emit(0);\n this.disabled.emit(true);\n console.error(res.error);\n return;\n }\n\n if (res.result.data.adConfig) {\n if (\n res.result.data.adConfig.width !== 0 &&\n res.result.data.adConfig.height !== 0 &&\n res.result.data.adConfig.modifier !== 'fallback'\n ) {\n this.width.emit(+res.result.data.adConfig.width);\n this.height.emit(+res.result.data.adConfig.height);\n } else {\n this.disabled.next(true);\n this.width.emit(0);\n this.height.emit(0);\n }\n }\n },\n err => {\n this.height.emit(0);\n this.width.emit(0);\n this.disabled.emit(true);\n }\n );\n }\n}\n","import { AfterViewChecked, Component, ElementRef, HostListener, OnInit, ViewChild } from '@angular/core';\nimport { AlertNotificationsService } from '../../../services/alert-notifications.service';\nimport { Alert, AlertType } from '../../../entities/alert.entity';\nimport { MenuService } from '../../../services/api/methods/menu.service';\n\n@Component({\n moduleId: module.id,\n selector: 'app-alert',\n templateUrl: 'alert.component.html'\n})\nexport class AlertComponent implements OnInit, AfterViewChecked {\n public alerts: Alert[] = [];\n\n @ViewChild('alertContainer', { static: true }) public alertContainer: ElementRef;\n\n constructor(private alertService: AlertNotificationsService, private menuService: MenuService) {}\n\n @HostListener('window:resize')\n public onResize() {\n this.emitHeight();\n }\n\n public ngAfterViewChecked() {\n this.emitHeight();\n }\n\n public ngOnInit(): void {\n this.alertService.getAlert().subscribe((alert: Alert) => {\n if (!alert) {\n // clear alerts when an empty alert is received\n this.alerts = [];\n this.emitHeight();\n return;\n }\n // add alert to array\n this.alerts.push(alert);\n this.emitHeight();\n });\n }\n\n public removeAlert(alert: Alert) {\n this.alerts = this.alerts.filter(x => x !== alert);\n }\n\n public cssClass(alert: Alert) {\n if (!alert) {\n return;\n }\n\n // return css class based on alert type\n switch (alert.type) {\n case AlertType.Success:\n return 'alert alert-success';\n case AlertType.Error:\n return 'alert alert-danger';\n case AlertType.Info:\n return 'alert alert-info';\n case AlertType.Warning:\n return 'alert alert-warning';\n }\n }\n\n private emitHeight() {\n this.menuService.setAlertHeight(this.alertContainer.nativeElement.offsetHeight);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { Asset } from '../../../entities/asset.entity';\n\n@Component({\n selector: 'app-asset-subtitle',\n templateUrl: './asset-subtitle.component.html'\n})\nexport class AssetSubtitleComponent implements OnInit {\n @Input() public asset: Asset;\n\n public environment = environment;\n\n constructor() {}\n\n public ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AnalyticsService } from '../../../services/analytics.service';\n\n@Component({\n selector: 'app-button',\n templateUrl: './button.component.html'\n})\nexport class ButtonComponent implements OnInit {\n @Input() public loading: boolean;\n @Input() public disabled: boolean;\n @Input() public classes: string[];\n @Input() public gtmEventName?: string;\n @Input() public gtmEventCategory?: string;\n @Input() public gtmEventLabel?: string;\n @Input() public gtmEventValue?: string;\n @Input() public gtmCustom?: any;\n\n constructor(private analyticsService: AnalyticsService) {}\n\n public ngOnInit(): void {}\n\n public clicked(e) {\n if (this.gtmEventName) {\n this.analyticsService.trackEvent(this.gtmEventName, {\n category: this.gtmEventCategory,\n label: this.gtmEventLabel,\n value: this.gtmEventValue,\n gtmCustom: this.gtmCustom\n });\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-cta-banner',\n templateUrl: './cta-banner.component.html'\n})\nexport class CtaBannerComponent implements OnInit {\n constructor() {}\n\n public ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { TileType } from '../../elements/asset-tile-slider/asset-tile-slider.component';\nimport { Asset } from '../../../entities/asset.entity';\n\n@Component({\n selector: 'app-donation-bar',\n templateUrl: './donation-bar.component.html'\n})\nexport class DonationBarComponent implements OnInit {\n @Input() public assets: Asset[];\n @Input() public showLink: boolean;\n\n public environment = environment;\n public TileType = TileType;\n public totalAmount: number;\n\n constructor() {}\n\n public ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { Asset } from '../../../entities/asset.entity';\nimport { DonationService } from '../../../services/donation.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DonationEntity } from '../../../entities/donation.entity';\nimport { NavigationExtras, Router } from '@angular/router';\n\n@Component({\n selector: 'app-donation-button',\n templateUrl: './donation-button.component.html'\n})\nexport class DonationButtonComponent implements OnInit {\n @Input() public asset: Asset;\n\n public environment = environment;\n\n public encodedTeamTitle: string;\n public currentAmount: string;\n public totalToPay = '30,00';\n\n public form: FormGroup;\n public showUntouchedFieldErrors = false;\n\n constructor(private donationService: DonationService, private router: Router, private formBuilder: FormBuilder) {}\n\n public ngOnInit(): void {\n const formData = {\n total_to_pay_in_cents: [3000, [Validators.required]],\n needs_receipt: [false, [Validators.required]],\n email: ['', [Validators.required, Validators.email]],\n first_name: [null, []],\n last_name: [null, []],\n company: [null, []],\n street: [null, []],\n housenumber: [null, []],\n zip: [null, []],\n city: [null, []],\n country: ['Deutschland', []],\n asset_uuid: [this.asset.uuid],\n data_transfer_confirmed: [false, [Validators.requiredTrue]]\n };\n\n this.form = this.formBuilder.group(formData);\n\n this.encodedTeamTitle = encodeURIComponent(this.asset.teams[0] || this.asset.label);\n this.donationService.getAssetAmount(this.asset).subscribe(res => {\n this.currentAmount = res.total_donated;\n });\n }\n\n public submit() {\n this.showUntouchedFieldErrors = true;\n if (!this.form.valid) {\n return;\n }\n this.donationService.createDonationObject(this.form.value).subscribe((donation: DonationEntity) => {\n console.log('donation created', donation);\n console.log('redirect to donation checkout');\n this.router.navigate(['/spenden'], {\n queryParams: {\n donation: donation.uuid,\n asset: this.asset.uuid,\n amount: this.form.get('total_to_pay_in_cents').value\n }\n });\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { DonationService } from '../../../services/donation.service';\n\n@Component({\n selector: 'app-donation-header',\n templateUrl: './donation-header.component.html'\n})\nexport class DonationHeaderComponent implements OnInit {\n public environment = environment;\n\n public totalAmount: number;\n\n constructor(private donationService: DonationService) {}\n\n public ngOnInit(): void {\n this.donationService.getTotalAmount().subscribe(res => {\n this.totalAmount = res;\n });\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvYXRvbXMvbGFuZ3VhZ2Utc2VsZWN0L2xhbmd1YWdlLXNlbGVjdC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-language-select',\n templateUrl: './language-select.component.html',\n styleUrls: ['./language-select.component.scss']\n})\nexport class LanguageSelectComponent implements OnInit {\n public languages: { name: string; value: string }[] = [];\n public currentLanguage: string;\n\n constructor(protected translate: TranslateService) {\n translate.getLangs().map((lang: string) => {\n this.languages.push({\n name: lang,\n value: lang\n });\n });\n this.currentLanguage = translate.currentLang;\n }\n\n public setLanguage(lang) {\n this.translate.setDefaultLang(lang);\n this.translate.use(lang);\n }\n\n public ngOnInit(): void {}\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { timer } from 'rxjs/internal/observable/timer';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { debounce, distinctUntilChanged } from 'rxjs/operators';\nimport { MenuItem } from '../../../entities/menu-item.entity';\nimport { AnalyticsService } from '../../../services/analytics.service';\n\n@Component({\n selector: 'app-nav-item',\n templateUrl: './nav-item.component.html'\n})\nexport class NavItemComponent implements OnInit {\n public id: number;\n\n @Input() public menuItem: MenuItem;\n @Input() public index: number;\n @Input() public isDropDown: boolean;\n @Output() public width: Subject = new Subject();\n @Output() public isOpen: EventEmitter = new EventEmitter();\n\n @ViewChild('elem', { static: true }) public elem: ElementRef;\n @ViewChild('dropdown') public dropdown: any;\n\n private openEventStream: Subject = new Subject();\n private openedChildren = 0;\n private openedViaClick: boolean;\n private debounceTime = 10;\n\n constructor(public analyticsService: AnalyticsService) {\n this.openEventStream\n .pipe(\n debounce(() => timer(this.debounceTime)),\n distinctUntilChanged()\n )\n .subscribe((open: boolean) => {\n if (open) {\n this.dropdown.show();\n this.debounceTime = 200; // close slow\n this.isOpen.emit(true);\n } else {\n if (this.openedChildren === 0 && !this.openedViaClick) {\n this.dropdown.hide();\n this.debounceTime = 10; // open fast\n }\n }\n });\n }\n\n public ngOnInit(): void {\n this.width.next(this.elem.nativeElement.offsetWidth);\n }\n\n public mouseoverOnContainer(event: MouseEvent) {\n this.mouseEvent(event, true);\n }\n\n public mouseoutOnContainer(event: MouseEvent) {\n this.mouseEvent(event, false);\n }\n\n public mouseoverOnMenu(event: MouseEvent) {\n this.mouseEvent(event, true);\n }\n\n public mouseoutOnMenu(event: MouseEvent) {\n this.mouseEvent(event, false);\n }\n\n public childIsOpened(isOpened, index) {\n if (isOpened) {\n this.openedChildren++;\n } else {\n this.openedChildren--;\n }\n this.mouseEvent(null, isOpened);\n }\n\n public onOpenChange(isOpen) {\n this.isOpen.emit(isOpen);\n }\n\n public clicked(event) {\n this.debounceTime = 500;\n event.preventDefault();\n event.stopImmediatePropagation();\n if (!this.dropdown.isOpen) {\n this.openedViaClick = true;\n this.dropdown.show();\n } else {\n this.dropdown.hide();\n }\n return false;\n }\n\n private mouseEvent(event: MouseEvent, show: boolean) {\n this.openEventStream.next(show);\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MenuItem } from '../../../entities/menu-item.entity';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-nav-link',\n templateUrl: './nav-link.component.html'\n})\nexport class NavLinkComponent {\n @Input() public menuItem: MenuItem;\n @Input() public isDropDown: boolean;\n @Input() public prefix = '';\n @Output() public click = new EventEmitter();\n\n constructor(public analyticsService: AnalyticsService, public router: Router) {}\n\n public linkClicked(event) {\n this.analyticsService.trackEvent('Navigation clicked', {\n category: 'Navigation Click',\n label: this.router.url,\n gtmCustom: {\n googleAnalyticsEventAction: this.menuItem.name\n }\n });\n this.click.emit(event);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { SocialLinkEntity } from '../../../entities/social-link.entity';\n\n@Component({\n selector: 'app-social-links',\n templateUrl: './social-links.component.html'\n})\nexport class SocialLinksComponent {\n @Input() public links: SocialLinkEntity[];\n\n constructor() {}\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-sport-icon',\n templateUrl: './sport-icon.component.html'\n})\nexport class SportIconComponent {\n @Input() public sporttype: string;\n\n constructor() {}\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { SubscriptionService } from '../../../services/api/methods/subscription.service';\nimport { Subscription } from '../../../entities/subscription';\nimport { Subscription as RxJsSubscription } from 'rxjs/internal/Subscription';\nimport { environment } from '../../../environments/environment';\nimport { ToastrService } from 'ngx-toastr';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RegisterFormService } from '../../elements/form/register-form/register-form.service';\n\n@Component({\n selector: 'app-subscribe-button',\n templateUrl: './subscribe-button.component.html'\n})\nexport class SubscribeButtonComponent implements OnInit, OnDestroy {\n public environment = environment;\n public subscriptionActive = false;\n @Input() public title: string;\n @Input() public routerLink: string;\n @Input() public queryParams: { [key: string]: string };\n @Input() public tagCallname: string;\n @Input() public tagValue: string;\n @Input() public reducedVersion = false;\n @Input() public color: 'primary' | 'secondary' | 'light' | 'dark' = 'primary';\n private subscription: Subscription;\n private loggedIn: boolean;\n\n private subscribeToLoginEvents: RxJsSubscription;\n\n constructor(\n public authService: AuthenticationService,\n private subscriptionService: SubscriptionService,\n private toastr: ToastrService,\n private registerFormService: RegisterFormService,\n private trans: TranslateService\n ) {\n authService.isLoggedIn().subscribe((loggedIn: boolean) => {\n this.loggedIn = loggedIn;\n });\n }\n\n public ngOnDestroy() {\n this.subscribeToLoginEvents.unsubscribe();\n }\n\n public ngOnInit(): void {\n this.subscribeToLoginEvents = this.authService.$isLoggedInEvent.subscribe(isLoggedIn => {\n this.loggedIn = isLoggedIn;\n if (isLoggedIn) {\n this.getSubscriptions();\n }\n });\n this.getSubscriptions();\n }\n\n public toggle(event: MouseEvent) {\n event.stopPropagation();\n\n if (!this.loggedIn) {\n this.registerFormService.showRegisterOverlay(this.authService.$isLoggedInEvent);\n return;\n }\n\n if (!this.subscription) {\n this.subscriptionService\n .create$({\n tag_filters: [\n {\n callname: this.tagCallname,\n values: [this.tagValue]\n }\n ]\n })\n .subscribe(() => {\n this.trans.get('toasts.successInfo').subscribe(title => {\n this.toastr.info(this.tagValue + ' abboniert.', title);\n });\n });\n\n return;\n }\n\n if (this.subscriptionActive) {\n // delete the value of the tag filter\n const tagFilter = this.subscription.tag_filters.find(filter => filter.callname === this.tagCallname);\n tagFilter.values = tagFilter.values.filter(value => value !== this.tagValue);\n } else {\n // check if there is already a tag_filter with this callname and add the tagvalue to it\n // or add a new tagfilter to the tag_filter array\n const tagFilter = this.subscription.tag_filters.find(filter => filter.callname === this.tagCallname);\n if (tagFilter) {\n tagFilter.values.push(this.tagValue);\n } else {\n this.subscription.tag_filters.push({\n callname: this.tagCallname,\n values: [this.tagValue]\n });\n }\n }\n this.subscriptionService.update$(this.subscription).subscribe(() => {\n if (this.subscriptionActive) {\n this.trans.get('toasts.successInfo').subscribe(title => {\n this.toastr.info(this.tagValue + ' abboniert.', title);\n });\n }\n });\n }\n\n private getSubscriptions() {\n this.subscriptionService.subscriptionStore$.subscribe(subs => {\n this.subscription = subs[0];\n this.subscriptionActive = !!subs.find(sub => {\n return !!sub.tag_filters.find(filter => {\n return filter.callname === this.tagCallname && filter.values.includes(this.tagValue);\n });\n });\n });\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { RoutingHelperService } from '../../../../services/routing-helper.service';\nimport { environment } from '../../../../environments/environment';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { of } from 'rxjs/internal/observable/of';\nimport { delay, takeUntil } from 'rxjs/operators';\nimport { Action, ObjectType } from '../../../../entities/user-event.entity';\nimport { UserProfileService } from '../../../../services/user-profile.service';\nimport { LiveEvent } from '../../../../entities/live-event.entity';\nimport { AssetsService } from '../../../../services/api/methods/assets.service';\nimport { Asset } from '../../../../entities/asset.entity';\n\n@Component({\n selector: 'app-big-asset-tile',\n templateUrl: './big-asset-tile.component.html'\n})\nexport class BigAssetTileComponent implements OnInit {\n @Input() public trackingInfo?: {\n listTitle: string;\n index: string | number;\n };\n @Input() public liveEvent: LiveEvent;\n public assetLink: string;\n public environment = environment;\n public mouseLeave: Subject = new Subject();\n public bgImage: string;\n\n constructor(\n private analyticsService: AnalyticsService,\n private userProfileService: UserProfileService,\n private routingHelper: RoutingHelperService,\n private assetService: AssetsService\n ) {}\n\n private _asset: Asset;\n\n @Input()\n public get asset() {\n return this._asset;\n }\n\n public set asset(val: Asset) {\n if (!val) {\n return;\n }\n this._asset = val;\n this.assetLink = this.routingHelper.getLinkFromAsset(this.asset);\n if (val.images && val.images[0] && val.images[0].url) {\n this.bgImage = val.images[0].url;\n }\n }\n\n public ngOnInit(): void {\n if (this.liveEvent) {\n this.assetService.getAsset(this.liveEvent.asset_uuid).subscribe(res => (this.asset = res));\n }\n }\n\n public onAssetClick() {\n this.routingHelper.activateAutoplay();\n this.trackgoToAsset();\n }\n\n public saveCalendar(item: LiveEvent, event: MouseEvent) {\n event.stopPropagation();\n event.preventDefault();\n window.location.assign(item.ics);\n return false;\n }\n\n public trackgoToAsset() {\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: {\n title: this._asset.label,\n targetURL: this.routingHelper.getLinkFromAsset(this._asset),\n listTitle: (this.trackingInfo || { listTitle: undefined }).listTitle,\n index: (this.trackingInfo || { index: undefined }).index\n }\n });\n this.userProfileService.trackEvent(ObjectType.asset, Action.click, this._asset);\n }\n\n public onMouseEnter() {\n this.mouseLeave = new Subject();\n of({})\n .pipe(delay(this.userProfileService.delayHoverEvents), takeUntil(this.mouseLeave))\n .subscribe(() => {\n this.userProfileService.trackEvent(ObjectType.asset, Action.hover, this.asset);\n });\n }\n\n public onMouseLeave() {\n this.mouseLeave.next();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { RoutingHelperService } from '../../../../services/routing-helper.service';\nimport { environment } from '../../../../environments/environment';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { of } from 'rxjs/internal/observable/of';\nimport { delay, takeUntil } from 'rxjs/operators';\nimport { Action, ObjectType } from '../../../../entities/user-event.entity';\nimport { UserProfileService } from '../../../../services/user-profile.service';\n\n@Component({\n selector: 'app-big-live-event-tile',\n templateUrl: './big-live-event-tile.component.html'\n})\nexport class BigLiveEventTileComponent implements OnInit {\n @Input() public link: string;\n @Input() public title: string;\n @Input() public subtitle: string;\n @Input() public date: string;\n @Input() public showLiveBadge: boolean;\n @Input() public backgroundIcon: string;\n @Input() public saveDateButtonLink: string;\n @Input() public useCustomDate = false;\n\n @Input() public trackingInfo?: {\n listTitle: string;\n index: number;\n };\n\n public environment = environment;\n public mouseLeave: Subject = new Subject();\n\n private gtmCustom;\n\n constructor(\n private analyticsService: AnalyticsService,\n private userProfileService: UserProfileService,\n private routingHelper: RoutingHelperService\n ) {}\n\n public trackGoToAsset() {\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: this.gtmCustom\n });\n this.userProfileService.trackEvent(ObjectType.live_event, Action.click, this.gtmCustom);\n }\n\n public saveCalendar(link: string, event: MouseEvent) {\n event.stopPropagation();\n event.preventDefault();\n\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: { ...this.gtmCustom, targetURL: link }\n });\n this.userProfileService.trackEvent(ObjectType.live_event, Action.click, { ...this.gtmCustom, targetURL: link });\n\n window.location.assign(link);\n return false;\n }\n\n public onAssetClick() {\n this.routingHelper.activateAutoplay();\n this.trackGoToAsset();\n }\n\n public onMouseEnter() {\n this.mouseLeave = new Subject();\n of({})\n .pipe(delay(this.userProfileService.delayHoverEvents), takeUntil(this.mouseLeave))\n .subscribe(() => {\n this.userProfileService.trackEvent(ObjectType.live_event, Action.hover, this.gtmCustom);\n });\n }\n\n public onMouseLeave() {\n this.mouseLeave.next();\n }\n\n public ngOnInit(): void {\n this.gtmCustom = {\n title: this.title,\n targetURL: this.link,\n listTitle: (this.trackingInfo || { listTitle: undefined }).listTitle,\n index: (this.trackingInfo || { index: undefined }).index\n };\n }\n}\n","import { AfterContentChecked, Component, ElementRef, ViewChild } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { AnalyticsService } from '../../../../services/analytics.service';\n\n@Component({\n selector: 'app-big-sponsor-tile',\n templateUrl: './big-sponsor-tile.component.html'\n})\nexport class BigSponsorTileComponent implements AfterContentChecked {\n public now: Date = new Date();\n public environment = environment;\n public isVisible = false;\n public link: string;\n public impressionSent = false;\n @ViewChild('containerElement', { read: ElementRef }) public containerElement: ElementRef;\n\n constructor(private analyticsService: AnalyticsService) {\n this.link =\n 'https://bs.serving-sys.com/Serving/adServer.bs?cn=trd&pli=1076109348&gdpr=${GDPR}&gdpr_consent=${GDPR_CONSENT_68}&adid=1082195334&ord=' +\n new Date().getTime();\n }\n\n public ngAfterContentChecked(): void {\n if (\n this.isVisible === false &&\n this.containerElement &&\n this.containerElement.nativeElement.offsetParent != null\n ) {\n this.sendImpression();\n this.isVisible = true;\n }\n }\n\n public sendImpression() {\n if (this.impressionSent === false) {\n this.impressionSent = true;\n\n this.analyticsService.trackEvent('SponsoredTileImpression', {\n category: 'SponsoredTileImpression',\n event: 'SponsoredTileImpression',\n noninteraction: true,\n gtmCustom: {}\n });\n }\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { RoutingHelperService } from '../../../../services/routing-helper.service';\nimport { environment } from '../../../../environments/environment';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { of } from 'rxjs/internal/observable/of';\nimport { delay, takeUntil } from 'rxjs/operators';\nimport { Action, ObjectType } from '../../../../entities/user-event.entity';\nimport { UserProfileService } from '../../../../services/user-profile.service';\nimport { LiveEvent } from '../../../../entities/live-event.entity';\nimport { AssetsService } from '../../../../services/api/methods/assets.service';\nimport { Asset } from '../../../../entities/asset.entity';\n\n@Component({\n selector: 'app-donation-tile',\n templateUrl: './donation-tile.component.html'\n})\nexport class DonationTileComponent implements OnInit {\n @Input() public trackingInfo?: {\n listTitle: string;\n index: string | number;\n };\n @Input() public liveEvent: LiveEvent;\n public assetLink: string;\n public environment = environment;\n public mouseLeave: Subject = new Subject();\n public bgImage: string;\n\n constructor(\n private analyticsService: AnalyticsService,\n private userProfileService: UserProfileService,\n private routingHelper: RoutingHelperService,\n private assetService: AssetsService\n ) {}\n\n private _asset: Asset;\n\n @Input()\n public get asset(): Asset {\n return this._asset;\n }\n\n public set asset(val: Asset) {\n if (!val) {\n return;\n }\n this._asset = val;\n this.assetLink = this.routingHelper.getLinkFromAsset(this.asset);\n if (val.images && val.images[0] && val.images[0].url) {\n this.bgImage = val.images[0].url;\n }\n }\n\n public ngOnInit(): void {\n if (this.liveEvent) {\n this.assetService.getAsset(this.liveEvent.asset_uuid).subscribe(res => (this.asset = res));\n }\n }\n\n public onAssetClick() {\n this.routingHelper.activateAutoplay();\n this.trackgoToAsset();\n }\n\n public saveCalendar(item: LiveEvent, event: MouseEvent) {\n event.stopPropagation();\n event.preventDefault();\n window.location.assign(item.ics);\n return false;\n }\n\n public trackgoToAsset() {\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: {\n title: this._asset.label,\n targetURL: this.routingHelper.getLinkFromAsset(this._asset),\n listTitle: (this.trackingInfo || { listTitle: undefined }).listTitle,\n index: (this.trackingInfo || { index: undefined }).index\n }\n });\n this.userProfileService.trackEvent(ObjectType.asset, Action.click, this._asset);\n }\n\n public onMouseEnter() {\n this.mouseLeave = new Subject();\n of({})\n .pipe(delay(this.userProfileService.delayHoverEvents), takeUntil(this.mouseLeave))\n .subscribe(() => {\n this.userProfileService.trackEvent(ObjectType.asset, Action.hover, this.asset);\n });\n }\n\n public onMouseLeave() {\n this.mouseLeave.next();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RawAssetFromApi } from '../../../../entities/raw-asset-from-api.entity';\n\n@Component({\n selector: 'app-extra-small-asset-tile',\n templateUrl: './extra-small-asset-tile.component.html'\n})\nexport class ExtraSmallAssetTileComponent implements OnInit {\n public bgImage: string;\n\n constructor() {}\n\n private _asset: RawAssetFromApi;\n\n @Input()\n public get asset() {\n return this._asset;\n }\n\n public set asset(val: RawAssetFromApi) {\n this._asset = val;\n\n this.bgImage = this.asset.images[0].url;\n }\n\n public ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { RoutingHelperService } from '../../../../services/routing-helper.service';\nimport { environment } from '../../../../environments/environment';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { of } from 'rxjs/internal/observable/of';\nimport { delay, takeUntil } from 'rxjs/operators';\nimport { Action, ObjectType } from '../../../../entities/user-event.entity';\nimport { UserProfileService } from '../../../../services/user-profile.service';\n\n@Component({\n selector: 'app-live-event-tile',\n templateUrl: './live-event-tile.component.html'\n})\nexport class LiveEventTileComponent implements OnInit {\n @Input() public link: string;\n @Input() public title: string;\n @Input() public subtitle: string;\n @Input() public date: string;\n @Input() public showLiveBadge: boolean;\n @Input() public backgroundIcon: string;\n @Input() public saveDateButtonLink: string;\n\n @Input() public trackingInfo?: {\n listTitle: string;\n index: string;\n };\n public environment = environment;\n public assetLink: string;\n public mouseLeave: Subject = new Subject();\n private gtmCustom = {\n title: this.title,\n targetURL: this.link,\n listTitle: (this.trackingInfo || { listTitle: undefined }).listTitle,\n index: (this.trackingInfo || { index: undefined }).index\n };\n\n constructor(\n private analyticsService: AnalyticsService,\n private userProfileService: UserProfileService,\n private routingHelper: RoutingHelperService\n ) {}\n\n public trackGoToAsset() {\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: this.gtmCustom\n });\n this.userProfileService.trackEvent(ObjectType.live_event, Action.click, this.gtmCustom);\n }\n\n public saveCalendar(link: string, event: MouseEvent) {\n event.stopPropagation();\n event.preventDefault();\n window.location.assign(link);\n return false;\n }\n\n public onAssetClick() {\n this.routingHelper.activateAutoplay();\n this.trackGoToAsset();\n }\n\n public onMouseEnter() {\n this.mouseLeave = new Subject();\n of({})\n .pipe(delay(this.userProfileService.delayHoverEvents), takeUntil(this.mouseLeave))\n .subscribe(() => {\n this.userProfileService.trackEvent(ObjectType.live_event, Action.hover, this.gtmCustom);\n });\n }\n\n public onMouseLeave() {\n this.mouseLeave.next();\n }\n\n public ngOnInit(): void {}\n}\n","export default \".card {\\n width: 100%;\\n max-width: 190px;\\n}\\n.card .card-image {\\n width: 75%;\\n padding-top: 75%;\\n margin: auto;\\n border-radius: 50%;\\n background-position: center;\\n background-size: cover;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9vcHQvYnVpbGRob21lL3JlcG8vc3JjL2NvbW1vbi9jb21wb25lbnRzL2F0b21zL3RpbGVzL3JvdW5kLWltYWdlLXRpbGUvcm91bmQtaW1hZ2UtdGlsZS5jb21wb25lbnQuc2NzcyIsInNyYy9jb21tb24vY29tcG9uZW50cy9hdG9tcy90aWxlcy9yb3VuZC1pbWFnZS10aWxlL3JvdW5kLWltYWdlLXRpbGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7QUNDRjtBRENFO0VBQ0UsVUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsMkJBQUE7RUFDQSxzQkFBQTtBQ0NKIiwiZmlsZSI6InNyYy9jb21tb24vY29tcG9uZW50cy9hdG9tcy90aWxlcy9yb3VuZC1pbWFnZS10aWxlL3JvdW5kLWltYWdlLXRpbGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2FyZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE5MHB4O1xuXG4gIC5jYXJkLWltYWdlIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufVxuIiwiLmNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxOTBweDtcbn1cbi5jYXJkIC5jYXJkLWltYWdlIHtcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZy10b3A6IDc1JTtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn0iXX0= */\";","import { Component, Input, OnInit } from '@angular/core';\nimport { Section } from '../../../../entities/section.entity';\n\n@Component({\n selector: 'app-round-image-tile',\n templateUrl: './round-image-tile.component.html',\n styleUrls: ['./round-image-tile.component.scss']\n})\nexport class RoundImageTileComponent implements OnInit {\n @Input() public image: string;\n @Input() public permalink: string;\n @Input() public title: string;\n @Input() public text: string;\n\n constructor() {}\n\n @Input('section') set section(section: Section) {\n this.image = section.image;\n this.permalink = section.permalink;\n this.title = section.title;\n }\n\n public ngOnInit(): void {}\n}\n","import { Component, Input } from '@angular/core';\nimport { Section } from '../../../../entities/section.entity';\n\n@Component({\n selector: 'app-section-tile',\n templateUrl: './section-tile.component.html'\n})\nexport class SectionTileComponent {\n @Input() public image: string;\n @Input() public permalink: string;\n @Input() public title: string;\n\n @Input('section') set section(section: Section) {\n this.image = section.image;\n this.permalink = section.permalink;\n this.title = section.title;\n }\n}\n","import { AssetsService } from './../../../../services/api/methods/assets.service';\nimport { LiveEvent } from '../../../../entities/live-event.entity';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { RoutingHelperService } from '../../../../services/routing-helper.service';\nimport { Action, ObjectType } from '../../../../entities/user-event.entity';\nimport { UserProfileService } from '../../../../services/user-profile.service';\nimport { delay, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { of } from 'rxjs/internal/observable/of';\nimport { Asset } from '../../../../entities/asset.entity';\n\n@Component({\n selector: 'app-small-asset-tile',\n templateUrl: './small-asset-tile.component.html'\n})\nexport class SmallAssetTileComponent implements OnInit {\n @Input() public liveEvent: LiveEvent;\n @Input() public trackingInfo?: {\n listTitle: string;\n index: string;\n };\n @Input() public dateFormat: 'custom' | 'short' | 'long' = 'short';\n public date: string;\n public bgImage: string;\n public assetLink: string;\n public environment = environment;\n public mouseLeave: Subject = new Subject();\n\n constructor(\n private analyticsService: AnalyticsService,\n private userProfileService: UserProfileService,\n private routingHelper: RoutingHelperService,\n private assetService: AssetsService\n ) {}\n\n private _asset: Asset;\n\n @Input()\n public get asset() {\n return this._asset;\n }\n\n public set asset(val: Asset) {\n if (!val) {\n return;\n }\n this._asset = val;\n this.assetLink = this.routingHelper.getLinkFromAsset(val);\n if (val.images && val.images[0] && val.images[0].url) {\n this.bgImage = val.images[0].url;\n }\n this.date = val.live_at || val.published_at;\n }\n\n public ngOnInit(): void {\n if (this.liveEvent) {\n this.assetService.getAsset(this.liveEvent.asset_uuid).subscribe(res => (this.asset = res));\n }\n }\n\n public onAssetClick() {\n this.routingHelper.activateAutoplay();\n this.trackGoToAsset();\n }\n\n public trackGoToAsset() {\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: {\n title: this.asset.label,\n targetURL: this.assetLink,\n listTitle: (this.trackingInfo || { listTitle: undefined }).listTitle,\n index: (this.trackingInfo || { index: undefined }).index\n }\n });\n this.userProfileService.trackEvent(ObjectType.asset, Action.click, this.asset);\n }\n\n public onMouseEnter() {\n this.mouseLeave = new Subject();\n of({})\n .pipe(delay(this.userProfileService.delayHoverEvents), takeUntil(this.mouseLeave))\n .subscribe(() => {\n this.userProfileService.trackEvent(ObjectType.asset, Action.hover, this.asset);\n });\n }\n\n public onMouseLeave() {\n this.mouseLeave.next();\n }\n}\n","import { AnalyticsService } from './../../../../services/analytics.service';\nimport { Component, Input } from '@angular/core';\nimport { Section } from '../../../../entities/section.entity';\n\n@Component({\n selector: 'app-small-section-tile',\n templateUrl: './small-section-tile.component.html'\n})\nexport class SmallSectionTileComponent {\n @Input() public image: string;\n @Input() public permalink: string;\n @Input() public title: string;\n @Input() public assets_count: number;\n @Input() public trackingInfo: {\n listTitle: string;\n index: number;\n };\n\n constructor(private analyticsService: AnalyticsService) {}\n\n private _section: Section;\n\n public get section(): Section {\n return this._section;\n }\n\n @Input('section')\n public set section(section: Section) {\n this._section = section;\n this.image = section.image;\n this.permalink = section.permalink;\n this.title = section.title;\n this.assets_count = section.assets_count;\n }\n\n public track() {\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: {\n title: this.title,\n targetURL: this.permalink,\n listTitle: (this.trackingInfo || { listTitle: undefined }).listTitle,\n index: (this.trackingInfo || { index: undefined }).index\n }\n });\n }\n}\n","export default \"app-ad-container .skyscraper-container {\\n position: fixed;\\n}\\napp-ad-container .content-container {\\n min-height: 55vh;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9vcHQvYnVpbGRob21lL3JlcG8vc3JjL2NvbW1vbi9jb21wb25lbnRzL2VsZW1lbnRzL2FkLWNvbnRhaW5lci9hZC1jb250YWluZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvY29tbW9uL2NvbXBvbmVudHMvZWxlbWVudHMvYWQtY29udGFpbmVyL2FkLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDRTtFQUNFLGVBQUE7QUNBSjtBREdFO0VBQ0UsZ0JBQUE7QUNESiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvZWxlbWVudHMvYWQtY29udGFpbmVyL2FkLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImFwcC1hZC1jb250YWluZXIge1xuICAuc2t5c2NyYXBlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuXG4gIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogNTV2aDtcbiAgfVxufVxuIiwiYXBwLWFkLWNvbnRhaW5lciAuc2t5c2NyYXBlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5hcHAtYWQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDU1dmg7XG59Il19 */\";","import { ChangeDetectorRef, Component, ElementRef, HostListener, Input, OnInit, ViewChild } from '@angular/core';\nimport { MenuService } from '../../../services/api/methods/menu.service';\nimport { SomtagService } from '../../../services/somtag.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { SidebarService } from '../../../services/sidebar.service';\nimport { AdContainerService } from './ad-container.service';\n\n@Component({\n selector: 'app-ad-container',\n templateUrl: './ad-container.component.html',\n styleUrls: ['./ad-container.component.scss']\n})\nexport class AdContainerComponent implements OnInit {\n @Input() public fullWidth = false;\n @Input() public fullbannerDisabled = false;\n\n @ViewChild('adContainerWrapper') public adContainerWrapper: ElementRef;\n\n public menuHeight: number;\n public skyWidth: number;\n public fullbannerWidth: number;\n public sidebarIsOpen: boolean;\n public marginContainerRight: number;\n public adContainerRight: number;\n public topBannerHeight = 0;\n public isMobile: boolean;\n public enoughPlaceForSkyscraper = true;\n\n public adsEnabled = true;\n public activeAds = {\n fullbanner: true,\n mbanner: true,\n skyscraper: true\n };\n public environment = environment;\n\n constructor(\n private somtagService: SomtagService,\n private menuService: MenuService,\n private cdr: ChangeDetectorRef,\n private activedRoute: ActivatedRoute,\n private sidebarService: SidebarService,\n private adContainerService: AdContainerService\n ) {\n this.isMobile = window.innerWidth <= this.somtagService.deviceBreakpoint;\n this.sidebarService.isOpen.subscribe((open: boolean) => (this.sidebarIsOpen = open));\n }\n\n public setHeight(height: number) {\n this.topBannerHeight = height;\n this.cdr.detectChanges();\n }\n\n public setFullbannerWidth(width: number) {\n this.fullbannerWidth = width;\n this.cdr.detectChanges();\n }\n\n public ngOnInit(): void {\n this.menuService.totalHeight.subscribe((height: number) => {\n this.menuHeight = height;\n });\n this.handleResize();\n }\n\n public handleSkyWidth(width: number) {\n this.skyWidth = width + 20;\n this.handleResize();\n }\n\n public handleDisabledAd(disabled: boolean, ad: string) {\n this.activeAds[ad] = !disabled;\n }\n\n @HostListener('window:resize')\n public handleResize() {\n if (!this.adContainerWrapper) {\n return;\n }\n const containerWidth = this.adContainerWrapper.nativeElement.clientWidth;\n\n let visibleWindowWidth = window.innerWidth;\n\n if (this.sidebarIsOpen) {\n visibleWindowWidth -= 235;\n }\n if (this.fullbannerWidth > 500) {\n this.enoughPlaceForSkyscraper = this.fullbannerWidth <= containerWidth;\n } else {\n this.enoughPlaceForSkyscraper = true;\n }\n\n const spaceOnRightSide = (visibleWindowWidth - containerWidth) / 2;\n\n /// magic number must match sass var $grid-breakpoints[xl]\n const sassGridBreakpointXL = 1300;\n if (window.innerWidth < sassGridBreakpointXL) {\n this.marginContainerRight = 0;\n this.adContainerRight = 0;\n this.cdr.detectChanges();\n this.adContainerService.sizeChange.emit();\n return;\n }\n if (spaceOnRightSide < this.skyWidth) {\n // container width must be reduced\n this.marginContainerRight = this.skyWidth - spaceOnRightSide;\n this.adContainerRight = 0;\n this.cdr.detectChanges();\n this.adContainerService.sizeChange.emit();\n } else {\n this.marginContainerRight = 0;\n\n // ad container should not be affixed to window right but nice next to the content\n this.adContainerRight = spaceOnRightSide - this.skyWidth;\n this.cdr.detectChanges();\n this.adContainerService.sizeChange.emit();\n }\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\n\n@Injectable()\nexport class AdContainerService {\n public sizeChange: EventEmitter = new EventEmitter();\n\n constructor() {}\n}\n","import { AnalyticsService } from '../../../services/analytics.service';\nimport { Action, ObjectType } from '../../../entities/user-event.entity';\nimport { UserProfileService } from '../../../services/user-profile.service';\nimport { Asset } from '../../../entities/asset.entity';\nimport { environment } from '../../../environments/environment';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport { TagFilter } from '../../../entities/tag-filter.entity';\nimport smoothscroll from 'smoothscroll-polyfill';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nexport enum TileType {\n BIG_ASSET_TILE,\n BIG_LIVE_EVENT_TILE,\n BIG_SPONSOR_TILE,\n LIVE_EVENT_TILE,\n SMALL_ASSET_TILE,\n EXTRA_SMALL_ASSET_TILE,\n ROUND_IMAGE_TILE,\n DONATION_TILE = 7\n}\n\n@Component({\n selector: 'app-asset-tile-slider',\n templateUrl: './asset-tile-slider.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AssetTileSliderComponent {\n @Input() public tileType: TileType = TileType.SMALL_ASSET_TILE;\n @Input() public items: Asset[] | { image: string; text: string; url: string }[];\n @Input() public title?: string;\n @Input() public moreLink: string;\n @Input() public tagFilter: TagFilter;\n @Input() public tileOptions: { dateFormat: string } = { dateFormat: 'short' };\n @Output() public assetClicked: EventEmitter = new EventEmitter();\n public environment = environment;\n public TileType = TileType;\n public page = 1;\n public numberOfPages: number;\n private nativeTileElement;\n private nativeSliderElement;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private analyticsService: AnalyticsService,\n private userProfileService: UserProfileService\n ) {\n smoothscroll.polyfill();\n }\n\n @ViewChild('tile')\n public set tile(value: ElementRef) {\n if (!value) {\n return;\n }\n this.nativeTileElement = value.nativeElement;\n }\n\n @ViewChild('slider')\n public set slider(value: ElementRef) {\n if (!value) {\n return;\n }\n this.nativeSliderElement = value.nativeElement;\n fromEvent(value.nativeElement, 'scroll')\n .pipe(debounceTime(100))\n .subscribe((e: Event) => {\n const sliderElement = e.target as HTMLElement;\n this.page = (sliderElement.scrollLeft + sliderElement.clientWidth) / sliderElement.clientWidth;\n this.cdr.detectChanges();\n });\n }\n\n public prev() {\n if (this.page <= 1) {\n return;\n }\n this.nativeSliderElement.scrollBy({\n left: -this.nativeSliderElement.clientWidth,\n behavior: 'smooth'\n });\n }\n\n public next() {\n this.numberOfPages =\n this.items.length / (this.nativeSliderElement.clientWidth / this.nativeTileElement.clientWidth);\n if (this.page >= this.numberOfPages) {\n return;\n }\n this.nativeSliderElement.scrollBy({\n left: this.nativeSliderElement.clientWidth,\n behavior: 'smooth'\n });\n }\n\n public trackByFn(index, item) {\n return item.uuid;\n }\n\n public trackShowMoreClick(title: string = 'more') {\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: {\n title: title,\n targetURL: this.moreLink,\n listTitle: this.title,\n index: this.items.length\n }\n });\n this.userProfileService.trackEvent(ObjectType.teaser, Action.click, { title: title, targetURL: this.moreLink });\n }\n}\n","import { Component, EventEmitter, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html'\n})\nexport class ConfirmationDialogComponent implements OnInit {\n @Input() public title: string;\n @Input() public message: string;\n @Input() public btnOkText: string;\n @Input() public btnCancelText: string;\n public result: EventEmitter = new EventEmitter();\n public close: EventEmitter = new EventEmitter();\n\n constructor() {}\n\n public ngOnInit(): void {}\n\n public decline() {\n this.result.emit(false);\n this.close.emit();\n }\n\n public accept() {\n this.result.emit(true);\n this.close.emit();\n }\n\n public dismiss() {\n this.close.emit();\n }\n}\n","export default \"app-container .content-container {\\n min-height: 55vh;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9vcHQvYnVpbGRob21lL3JlcG8vc3JjL2NvbW1vbi9jb21wb25lbnRzL2VsZW1lbnRzL2NvbnRhaW5lci9jb250YWluZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvY29tbW9uL2NvbXBvbmVudHMvZWxlbWVudHMvY29udGFpbmVyL2NvbnRhaW5lci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDRTtFQUNFLGdCQUFBO0FDQUoiLCJmaWxlIjoic3JjL2NvbW1vbi9jb21wb25lbnRzL2VsZW1lbnRzL2NvbnRhaW5lci9jb250YWluZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJhcHAtY29udGFpbmVyIHtcbiAgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiA1NXZoO1xuICB9XG59XG4iLCJhcHAtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDU1dmg7XG59Il19 */\";","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-container',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss']\n})\nexport class ContainerComponent {\n constructor() {}\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvZWxlbWVudHMvZXh0ZW5kZWQtcGFnZS1jb250ZW50LW1vZGFsL2V4dGVuZGVkLXBhZ2UtY29udGVudC1tb2RhbC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap';\n\n@Component({\n selector: 'app-extended-page-content-modal',\n templateUrl: './extended-page-content-modal.component.html',\n styleUrls: ['./extended-page-content-modal.component.scss']\n})\nexport class ExtendedPageContentModalComponent implements OnInit {\n @Input() public content: any;\n @Input() public id: string;\n\n @ViewChild('modalTemplate', { static: true }) public modalTemplate: BsModalRef;\n\n public modal: BsModalRef;\n\n constructor(private localStorage: StorageMap, private modalService: BsModalService) {}\n\n public hide() {\n if (this.modal) {\n this.modal.hide();\n }\n }\n\n public ngOnInit(): void {\n this.localStorage.get(`extended-page-content-modal-id-${this.id}`).subscribe((showCount: number) => {\n if (showCount === undefined) {\n this.localStorage\n .set(`extended-page-content-modal-id-${this.id}`, 0, { type: 'integer' })\n .subscribe(() => {\n this.modal = this.modalService.show(this.modalTemplate, {\n class: 'modal-dialog-centered',\n animated: false\n });\n });\n } else {\n this.localStorage\n .set(`extended-page-content-modal-id-${this.id}`, showCount + 1, { type: 'integer' })\n .subscribe(() => {});\n }\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { MenuService } from '../../../services/api/methods/menu.service';\nimport { MenuItem } from '../../../entities/menu-item.entity';\nimport { SidebarService } from '../../../services/sidebar.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html'\n})\nexport class FooterComponent implements OnInit {\n public environment = environment;\n public menuItems: MenuItem[];\n\n public sidebarOpen: boolean;\n\n constructor(private sidebarService: SidebarService, private menuService: MenuService) {}\n\n public ngOnInit(): void {\n this.menuService.getFooterLinks().subscribe(links => {\n this.menuItems = links;\n });\n this.sidebarService.isOpen.subscribe(isOpen => {\n this.sidebarOpen = isOpen;\n });\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ValidationService } from '../../../../services/form/validation.service';\n\n@Component({\n selector: 'app-control-messages',\n template: `
    {{ errorMessage }}
    `\n})\nexport class ControlMessagesComponent {\n @Input() public control: FormControl;\n @Input() public showErrorWhenUntouched: boolean;\n\n constructor() {}\n\n get errorMessage() {\n if (this.control !== undefined) {\n for (const propertyName in this.control.errors) {\n if (\n this.control.errors.hasOwnProperty(propertyName) &&\n (this.control.touched || this.showErrorWhenUntouched === true)\n ) {\n return ValidationService.getValidatorErrorMessage(propertyName, this.control.errors[propertyName]);\n }\n }\n }\n\n return null;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { forkJoin } from 'rxjs';\nimport { fromPromise } from 'rxjs/internal-compatibility';\nimport { of } from 'rxjs/internal/observable/of';\nimport { switchMap, tap } from 'rxjs/operators';\nimport { environment } from '../../../../environments/environment';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\n\n@Component({\n selector: 'app-login-form',\n templateUrl: './login-form.component.html'\n})\nexport class LoginFormComponent {\n public environment = environment;\n\n @Input() public email = '';\n public password = '';\n public errorMessage = null;\n public isLoading = false;\n public submitting = false;\n\n @Input() public inModal = true;\n\n constructor(\n private authenticationService: AuthenticationService,\n private trans: TranslateService,\n private router: Router,\n private toastr: ToastrService\n ) {}\n\n public login() {\n if (this.submitting) {\n return;\n }\n this.submitting = true;\n this.errorMessage = null;\n this.authenticationService\n .login(this.email, this.password)\n .pipe(\n tap(() => {\n this.submitting = false;\n }),\n switchMap((loggedIn: boolean) => {\n if (loggedIn) {\n if (\n this.authenticationService.pathToRedirectAfterLogin !== null &&\n this.authenticationService.pathToRedirectAfterLogin !== window.location.pathname\n ) {\n if (\n this.authenticationService.pathToRedirectAfterLogin.startsWith('https://') ||\n this.authenticationService.pathToRedirectAfterLogin.startsWith('http://')\n ) {\n window.location.href = this.authenticationService.pathToRedirectAfterLogin;\n } else {\n return fromPromise(\n this.router.navigateByUrl(this.authenticationService.pathToRedirectAfterLogin)\n );\n }\n }\n return of(true);\n }\n })\n )\n .subscribe(\n response => {\n forkJoin([\n this.trans.get('login.successMessage'),\n this.trans.get('toasts.successTitle')\n ]).subscribe(([message, title]) => this.toastr.success(message, title));\n },\n error => {\n this.errorMessage = null;\n this.submitting = false;\n\n let mes = error.error.message;\n if (!mes) {\n mes = 'Ein Login ist derzeit nicht möglich. Bitte versuchen Sie es später erneut.';\n }\n this.errorMessage = mes;\n }\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { LoginFormComponent } from './login-form.component';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class LoginFormService {\n private overlayRef: OverlayRef;\n\n private loginFormComponentPortal: ComponentPortal;\n\n constructor(private overlay: Overlay, private router: Router) {}\n\n public showLoginOverlay($loginEvent) {\n const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();\n this.overlayRef = this.overlay.create({\n width: 320,\n disposeOnNavigation: true,\n panelClass: 'modal-content',\n positionStrategy: positionStrategy,\n backdropClass: 'cdk-overlay-dark-backdrop',\n hasBackdrop: true\n });\n this.loginFormComponentPortal = new ComponentPortal(LoginFormComponent);\n\n this.overlayRef.backdropClick().subscribe(() => {\n this.overlayRef.dispose();\n });\n this.overlayRef.attach(this.loginFormComponentPortal);\n const subsToRouterEvent = this.router.events.subscribe(() => {\n this.overlayRef.dispose();\n });\n const subsToLoginEvent = $loginEvent.subscribe(isLoggedIn => {\n if (isLoggedIn) {\n this.overlayRef.dispose();\n }\n });\n this.overlayRef.detachments().subscribe(() => {\n subsToLoginEvent.unsubscribe();\n subsToRouterEvent.unsubscribe();\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { RegisterValidators } from '../../../pages/register-page/form/RegisterValidators';\nimport { delay, switchMap, tap } from 'rxjs/operators';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { environment } from '../../../../environments/environment';\nimport { ToastrService } from 'ngx-toastr';\nimport { fromPromise } from 'rxjs/internal-compatibility';\nimport { of } from 'rxjs/internal/observable/of';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-register-form',\n templateUrl: './register-form.component.html'\n})\nexport class RegisterFormComponent implements OnInit {\n public environment = environment;\n public errorMessage: string;\n public success = false;\n public showUntouchedFieldErrors = false;\n\n public user = {\n first_name: '',\n last_name: '',\n sex: 'M',\n age_verification_policy_confirmation: '',\n privacy_policy_confirmation: '',\n terms_of_service_confirmation: ''\n };\n\n public config = {\n newsletter: false\n };\n\n public form: FormGroup;\n public redirect: null;\n\n public submitted = false;\n\n constructor(\n private authenticationService: AuthenticationService,\n private fb: FormBuilder,\n private analyticsService: AnalyticsService,\n private router: Router,\n private title: Title,\n private trans: TranslateService,\n private route: ActivatedRoute,\n private toastr: ToastrService\n ) {\n this.trans.get('register.pageTitle').subscribe(res => this.title.setTitle(res + environment.pageTitleAppendix));\n\n if (environment.appName === 'auto') {\n this.config.newsletter = true;\n }\n this.buildForm();\n\n const query = this.route.snapshot.queryParams;\n if (query.redirect) {\n this.authenticationService.pathToRedirectAfterLogin = query.redirect;\n }\n }\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n this.buildForm();\n }\n\n public buildForm(): void {\n let formData: any = {\n first_name: [this.user.first_name, [Validators.required]],\n last_name: [this.user.first_name, [Validators.required]],\n sex: [this.user.sex, [Validators.required]],\n toc_and_dp_confirmation: [\n this.user.privacy_policy_confirmation && this.user.terms_of_service_confirmation,\n [Validators.required, RegisterValidators.equal(true)]\n ],\n email: ['', [Validators.required, Validators.email]],\n password: ['', [Validators.required, Validators.minLength(8)]],\n newsletter: ['', []]\n };\n if (environment.youthProtection.active) {\n formData = {\n ...formData,\n age_verification_policy_confirmation: [\n this.user.age_verification_policy_confirmation,\n [Validators.required]\n ]\n };\n }\n\n this.form = this.fb.group(formData);\n }\n\n public register() {\n this.showUntouchedFieldErrors = true;\n if (!this.form.valid) {\n return;\n }\n\n const data = this.form.value;\n if (data.toc_and_dp_confirmation === true) {\n data.terms_of_service_confirmation = 'confirmed';\n data.privacy_policy_confirmation = 'confirmed';\n }\n if (data.age_verification_policy_confirmation === true) {\n data.age_verification_policy_confirmation = 'confirmed';\n }\n if (data.newsletter !== true) {\n data.newsletter = false;\n }\n\n data.return_to_after_registration =\n 'https://' +\n window.location.host +\n '/' +\n environment.urlSlugs.login +\n '?email=' +\n encodeURIComponent(data.email);\n\n if (this.authenticationService.pathToRedirectAfterLogin) {\n data.return_to_after_registration +=\n '&redirect=' + encodeURIComponent(this.authenticationService.pathToRedirectAfterLogin);\n }\n\n this.errorMessage = null;\n this.authenticationService\n .register(data)\n .pipe(\n tap(() => {\n this.analyticsService.trackEvent('Register Single Opt-In', {\n category: 'Register Single Opt-In',\n label: this.router.url\n });\n this.toastr.info(\n 'Dein Account wird angelegt. Bitte habe noch einen Moment Geduld.',\n 'Bitte warten',\n {\n timeOut: 3000\n }\n );\n }),\n delay(1000),\n tap(() => {\n this.toastr.info('Dein Account wurde angelegt.', 'Bitte warten', {\n timeOut: 1000\n });\n }),\n switchMap((resp: { email: string; password: string }) => {\n if (resp.email && resp.password) {\n return this.authenticationService.login(resp.email, resp.password).pipe(\n switchMap((loggedIn: boolean) => {\n if (loggedIn) {\n this.toastr.success('Du bist nun angemeldet');\n if (\n this.authenticationService.pathToRedirectAfterLogin !== null &&\n this.authenticationService.pathToRedirectAfterLogin !== window.location.pathname\n ) {\n if (\n this.authenticationService.pathToRedirectAfterLogin.startsWith(\n 'https://'\n ) ||\n this.authenticationService.pathToRedirectAfterLogin.startsWith('http://')\n ) {\n window.location.href = this.authenticationService.pathToRedirectAfterLogin;\n } else {\n return fromPromise(\n this.router.navigateByUrl(\n this.authenticationService.pathToRedirectAfterLogin\n )\n );\n }\n }\n return of(true);\n }\n })\n );\n }\n return of(false);\n })\n )\n .subscribe(\n () => {\n this.success = true;\n },\n error => {\n this.errorMessage = error.error.message;\n this.trans.get('toasts.errorTitle').subscribe(res => {\n this.toastr.error(error.error.message, res);\n });\n }\n );\n }\n}\n","import { ComponentPortal } from '@angular/cdk/portal';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Router } from '@angular/router';\nimport { RegisterFormComponent } from './register-form.component';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class RegisterFormService {\n private registerComponentPortal: ComponentPortal;\n private overlayRef: OverlayRef;\n\n constructor(private router: Router, private overlay: Overlay) {}\n\n public showRegisterOverlay($isLoggedInEvent: Observable) {\n const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();\n\n let width = 320;\n if (window.innerWidth >= 420) {\n width = 420;\n }\n if (window.innerWidth >= 720) {\n width = 720;\n }\n this.overlayRef = this.overlay.create({\n width: width,\n panelClass: 'modal-content',\n disposeOnNavigation: true,\n positionStrategy: positionStrategy,\n backdropClass: 'cdk-overlay-dark-backdrop',\n hasBackdrop: true\n });\n this.registerComponentPortal = new ComponentPortal(RegisterFormComponent);\n\n this.overlayRef.backdropClick().subscribe(() => {\n this.overlayRef.dispose();\n });\n this.overlayRef.attach(this.registerComponentPortal);\n\n const subsToRouterEvent = this.router.events.subscribe(() => {\n this.overlayRef.dispose();\n });\n const subsToLoginEvent = $isLoggedInEvent.subscribe(isLoggedIn => {\n if (isLoggedIn) {\n this.overlayRef.dispose();\n }\n });\n this.overlayRef.detachments().subscribe(() => {\n subsToLoginEvent.unsubscribe();\n subsToRouterEvent.unsubscribe();\n });\n }\n}\n","import {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n ViewChild\n} from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { SidebarService } from '../../../services/sidebar.service';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { timer } from 'rxjs';\nimport { LiveEventsService } from '../../../services/api/methods/live-events.service';\nimport { MenuService } from '../../../services/api/methods/menu.service';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { ProductsService } from '../../../services/api/methods/products.service';\nimport { AssetsService } from '../../../services/api/methods/assets.service';\nimport { takeWhile } from 'rxjs/operators';\nimport { User } from '../../../entities/user.entity';\nimport { ToastrService } from 'ngx-toastr';\nimport { TranslateService } from '@ngx-translate/core';\nimport { StorageMap } from '@ngx-pwa/local-storage';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html'\n})\nexport class HeaderComponent implements AfterViewInit, AfterViewChecked {\n @ViewChild('nav', { static: true }) public nav: ElementRef;\n\n public showLogin = environment.header.showLogin;\n public showLive = environment.header.showLive;\n public showSearch = environment.header.showSearch && !environment.header.useSearchbar;\n\n public height = 0;\n public environment = environment;\n public inApp = false;\n public loggedIn = false;\n public sideBarOpen: boolean;\n public liveEventsCount: number;\n public dataRefreshActive = true;\n public me: User;\n public hasTestVoucher = false;\n public isMultisite = ['handball', 'turn', 'tischtennis'].includes(environment.appName);\n\n public previousUrl;\n public currentUrl;\n\n constructor(\n public analyticsService: AnalyticsService,\n private menuService: MenuService,\n private productService: ProductsService,\n private assetsService: AssetsService,\n private authService: AuthenticationService,\n private router: Router,\n private toastr: ToastrService,\n private storage: StorageMap,\n private sidebarService: SidebarService,\n private liveEventsService: LiveEventsService,\n private translate: TranslateService,\n private cdr: ChangeDetectorRef\n ) {\n this.sidebarService.isOpen.subscribe(open => {\n if (this.sideBarOpen !== open) {\n this.sideBarOpen = open;\n this.cdr.markForCheck();\n }\n });\n\n this.authService.$isLoggedInEvent.subscribe(loggedIn => {\n this.loggedIn = loggedIn;\n this.cdr.markForCheck();\n });\n this.authService.isLoggedIn().subscribe(loggedIn => {\n this.loggedIn = loggedIn;\n this.cdr.markForCheck();\n });\n\n this.storage.get('me').subscribe((res: User) => {\n this.me = res;\n this.cdr.markForCheck();\n });\n\n // data which will be refreshed periodically\n timer(0, environment.liveEvents.refreshInterval * 2)\n .pipe(\n // subscription is closed as soon as dataRefreshActive is false\n takeWhile(() => this.dataRefreshActive)\n )\n .subscribe(() => {\n this.liveEventsService.getAmountOfCurrentLiveEvents().subscribe((numberOfCurrentLiveEvents: number) => {\n if (this.liveEventsCount !== numberOfCurrentLiveEvents) {\n this.liveEventsCount = numberOfCurrentLiveEvents;\n this.cdr.markForCheck();\n }\n });\n });\n\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.url;\n }\n });\n }\n\n @HostListener('window:resize')\n public ngAfterViewInit() {\n this.height = this.nav.nativeElement.offsetHeight;\n this.menuService.setMenuHeight(this.nav.nativeElement.offsetHeight);\n }\n\n public ngAfterViewChecked() {\n if (this.height && this.height !== this.nav.nativeElement.offsetHeight) {\n // use set timeout to prevent expression changed after changed\n setTimeout(() => this.ngAfterViewInit(), 2);\n }\n }\n\n public toggleSidebar() {\n this.trackLinkClick('Toggle Sidebar');\n this.sidebarService.toggle();\n }\n\n public trackLinkClick(linkName: string) {\n this.analyticsService.trackEvent('Navigation clicked', {\n category: 'Navigation Click',\n label: this.router.url,\n gtmCustom: {\n googleAnalyticsEventAction: linkName\n }\n });\n }\n\n public logout() {\n this.trackLinkClick('Logout');\n this.authService.logout().subscribe(\n () => {\n this.analyticsService.trackEvent('Logout', {\n category: 'Logout',\n label: this.router.url\n });\n this.router.navigateByUrl('/').then(() => {\n this.translate.get('toasts.successTitle').subscribe(trans => {\n this.toastr.success('Du wurdest abgemeldet.', trans);\n });\n });\n },\n result => console.error('error logging out', result)\n );\n }\n}\n","import { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { Component, Input } from '@angular/core';\nimport { CarouselConfig } from 'ngx-bootstrap';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { environment } from '../../../environments/environment';\n\n@Component({\n selector: 'app-imageslider',\n templateUrl: './imageslider.component.html',\n providers: [\n {\n provide: CarouselConfig,\n useValue: {\n interval: environment.home.sliderDuration,\n noPause: false,\n showIndicators: false\n }\n }\n ]\n})\nexport class ImagesliderComponent {\n @Input() public assets: RawAssetFromApi[];\n public activeSlideIndex: number;\n public environment;\n\n constructor(public analyticsService: AnalyticsService) {\n this.environment = environment;\n }\n\n public carouselClicked(e) {\n this.analyticsService.trackEvent('Multiteaser Slide Click', {\n category: 'Multiteaser Slide Click',\n gtmCustom: {\n googleAnalyticsEventAction: this.assets[this.activeSlideIndex].label\n }\n });\n }\n\n public getAssetLink(asset: RawAssetFromApi): string {\n let link = '/';\n\n if (asset.section && asset.section.permalink) {\n link += asset.section.permalink + '/';\n }\n if (asset.permalink) {\n link += asset.permalink;\n }\n return link;\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvZWxlbWVudHMvbG9hZGluZy1pbmRpY2F0b3IvbG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-loading-indicator',\n templateUrl: './loading-indicator.component.html',\n styleUrls: ['./loading-indicator.component.scss']\n})\nexport class LoadingIndicatorComponent {}\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, switchMap } from 'rxjs/operators';\nimport { SearchService } from '../../../services/api/methods/search.service';\nimport { environment } from '../../../environments/environment';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { of } from 'rxjs/internal/observable/of';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-menu-searchbar',\n templateUrl: './menu-searchbar.component.html'\n})\nexport class MenuSearchbarComponent implements OnInit {\n public suggestions$: Observable;\n public searchInput = new FormControl(null, { updateOn: 'change' }, null);\n public hide = false;\n public environment = environment;\n\n constructor(private searchService: SearchService, private router: Router, private cdr: ChangeDetectorRef) {}\n\n public search() {\n this.router.navigate([this.environment.urlSlugs.search], {\n queryParams: { q: this.searchInput.value, trigger: 'header-input' }\n });\n this.searchInput.reset();\n }\n\n public ngOnInit(): void {\n this.suggestions$ = this.searchInput.valueChanges.pipe(\n debounceTime(30),\n distinctUntilChanged(),\n switchMap(value => (value ? this.searchService.suggest(value) : of({ items: [] }))),\n map(res => res.items)\n );\n\n this.router.events.subscribe(evt => {\n if (evt instanceof NavigationEnd) {\n this.hide = evt.url.includes(this.environment.urlSlugs.search);\n this.cdr.detectChanges();\n }\n });\n }\n}\n","import { Section } from '../../../entities/section.entity';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { PlayerComponent } from '../player/player.component';\nimport { LiveEvent } from '../../../entities/live-event.entity';\nimport { LiveEventsService } from '../../../services/api/methods/live-events.service';\nimport { map, switchMap } from 'rxjs/operators';\nimport { AssetsService } from '../../../services/api/methods/assets.service';\nimport { forkJoin } from 'rxjs/internal/observable/forkJoin';\nimport { SidebarService } from '../../../services/sidebar.service';\nimport * as ResizeSensor from 'css-element-queries/src/ResizeSensor';\nimport { Asset } from '../../../entities/asset.entity';\nimport { VideoState } from '../player/states';\n\n@Component({\n selector: 'app-opener',\n templateUrl: './opener.component.html'\n})\nexport class OpenerComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() public ads = true;\n @Input() public section: Section = null;\n public selectedAsset: Asset;\n public assetsInPlayer: Asset[];\n public playerHeight = 400;\n public autoplay = false;\n public muted = false;\n public stopAutoRotation = false;\n public playerEnabled = false;\n public updateInterval: any;\n public environment;\n public multiTeaserMainClicked = false;\n public isCollapsed = true;\n public videoInfoShown = true;\n @ViewChild('player') public player: PlayerComponent;\n @ViewChild('playerContainer', { static: true }) public playerContainer: ElementRef;\n\n constructor(\n private analyticsService: AnalyticsService,\n private assetService: AssetsService,\n private liveEventsService: LiveEventsService,\n private cdr: ChangeDetectorRef,\n private sidebarService: SidebarService\n ) {\n this.environment = environment;\n }\n\n get selectedAssetIndex(): number {\n return this._assets.findIndex(asset => asset === this.selectedAsset);\n }\n\n public _assets: Asset[] = [];\n\n @Input('assets') set assets(assets: Asset[]) {\n this._assets = assets;\n if (!assets) {\n return;\n }\n this.changeAsset(this._assets[0]);\n }\n\n public ngOnInit(): void {\n this.updateInterval = setInterval(() => {\n if (!this.stopAutoRotation) {\n this.playNext();\n }\n }, 10000);\n }\n\n public ngOnDestroy() {\n clearInterval(this.updateInterval);\n }\n\n public ngAfterViewInit() {\n // ElementQueries.listen();\n // @ts-ignore\n const sensor = new ResizeSensor(this.playerContainer.nativeElement, () => {\n this.playerHeight = this.playerContainer.nativeElement.clientHeight;\n });\n }\n\n public changeAsset(\n asset: Asset,\n autoplayFromClick: boolean = false,\n index = null,\n disableInterval = false,\n fromHover = false\n ) {\n if (fromHover && this.playerEnabled) {\n return;\n }\n\n if (disableInterval) {\n this.stopAutoRotation = true;\n }\n this.cdr.detach();\n if (autoplayFromClick === true) {\n this.muted = false;\n this.playerEnabled = true;\n }\n this.autoplay = autoplayFromClick;\n this.selectedAsset = asset;\n this.assetsInPlayer = [asset];\n this.ads = true;\n\n if (asset.flags.includes('autoplay') && asset.flags.includes('noad')) {\n if (!this.autoplay) {\n this.muted = true;\n }\n this.playerEnabled = true;\n this.autoplay = true;\n this.ads = false;\n\n this.stopAutoRotation = true;\n this.cdr.detectChanges();\n this.player.play();\n }\n\n if (asset.live === true && asset.channel) {\n this.liveEventsService\n .getLiveEventsForTagFilter(\n [\n {\n callname: asset.channel.callname,\n values: asset.channel.values\n }\n ],\n 10\n )\n .pipe(\n map((liveEvents: LiveEvent[]) => {\n return liveEvents.filter((liveEvent: LiveEvent) => {\n return liveEvent.now === true && liveEvent.asset_uuid !== asset.uuid;\n });\n }),\n switchMap((liveEvents: LiveEvent[]) => {\n return forkJoin(\n liveEvents.map(liveEvent => {\n return this.assetService.getAsset(liveEvent.asset_uuid);\n })\n );\n })\n )\n .subscribe((allLiveAssets: Asset[]) => {\n this.assetsInPlayer = [asset, ...allLiveAssets];\n });\n }\n this.cdr.reattach();\n if (index !== null && !fromHover) {\n this.analyticsService.trackEvent('Multiteaser Click', {\n category: 'Multiteaser Click',\n label: 'pos: ' + (index + 1) + ', label: ' + asset.label,\n gtmCustom: {\n googleAnalyticsEventAction: window.location.hostname + window.location.pathname\n }\n });\n }\n }\n\n public onVideoStateChanged(state: VideoState) {\n switch (state) {\n case 'started':\n clearInterval(this.updateInterval);\n break;\n case 'ended':\n this.playNext();\n break;\n }\n }\n\n public playNext(autoplay: boolean = false) {\n this.playerEnabled = false;\n if (this.selectedAsset === this._assets[this._assets.length - 1]) {\n this.changeAsset(this._assets[0], autoplay);\n } else {\n this.changeAsset(this._assets[this.selectedAssetIndex + 1], autoplay);\n }\n }\n\n public onPlayerClick(event) {\n this.cdr.markForCheck();\n this.cdr.detach();\n clearInterval(this.updateInterval);\n this.muted = false;\n this.stopAutoRotation = true;\n this.playerEnabled = true;\n this.cdr.detectChanges();\n this.player.play();\n this.cdr.reattach();\n if (!this.multiTeaserMainClicked) {\n this.multiTeaserMainClicked = true;\n this.analyticsService.trackEvent('Multiteaser Click', {\n category: 'Multiteaser Click',\n label: 'pos: null, label: ' + this.selectedAsset.label,\n gtmCustom: {\n googleAnalyticsEventAction: window.location.hostname + window.location.pathname\n }\n });\n }\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { PlayerStateEnum } from '../../../../enum/player-state.enum';\nimport { PlayerErrorEnum } from '../../../../enum/player-error.enum';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\n\n@Component({\n selector: 'app-player-error',\n templateUrl: './player-error.component.html'\n})\nexport class PlayerErrorComponent implements OnInit, OnDestroy {\n public PlayerStateEnum = PlayerStateEnum;\n public PlayerErrorEnum = PlayerErrorEnum;\n @Input() public playerState: PlayerStateEnum;\n @Input() public backgroundImage: string;\n @Input() public playerError: PlayerErrorEnum;\n @Input() public errorMessage: string;\n\n @Output() public updateState: EventEmitter = new EventEmitter();\n\n public animateButton = false;\n private timeout;\n private updateTimeout;\n private boundUnload = false;\n\n constructor(protected auth: AuthenticationService) {}\n\n public ngOnInit(): void {\n this.animateButton = false;\n\n if (this.playerState === PlayerStateEnum.API_ERROR) {\n if (!this.boundUnload) {\n this.boundUnload = true;\n window.addEventListener('beforeunload', this.beforeunload);\n }\n }\n }\n\n public animatePlayerStateUpdate(delay: number = 0) {\n this.animateButton = true;\n\n this.updateTimeout = setTimeout(() => {\n this.updateState.next();\n }, delay);\n\n this.timeout = setTimeout(() => {\n this.animateButton = false;\n }, 2000 + delay);\n }\n\n public ngOnDestroy() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.updateTimeout) {\n clearTimeout(this.updateTimeout);\n }\n }\n\n private beforeunload(event) {\n // Cancel the event as stated by the standard.\n setTimeout(() => {\n alert('Bitte lade die Seite nicht neu. Dies überlastet die Server zusätzlich.');\n }, 10);\n event.preventDefault();\n // Chrome requires returnValue to be set.\n event.returnValue = '';\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { PlayerStateEnum } from '../../../../enum/player-state.enum';\nimport { Router } from '@angular/router';\nimport { EmbeddedModeService } from '../../../../services/embedded-mode.service';\n\n@Component({\n selector: 'app-player-login',\n templateUrl: './player-login.component.html'\n})\nexport class PlayerLoginComponent {\n public environment = environment;\n public currentUrl: string;\n public playerStateEnum = PlayerStateEnum;\n @Input() public playerState: PlayerStateEnum;\n\n @Input() public backgroundImage: string;\n\n constructor(protected router: Router, public embeddedModeService: EmbeddedModeService) {\n if (embeddedModeService.embedded.getValue()) {\n console.log(window.top.location);\n this.currentUrl = window.location != window.parent.location ? document.referrer : document.location.href;\n } else {\n this.currentUrl = this.router.url;\n }\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { ProductsService } from '../../../../services/api/methods/products.service';\nimport { environment } from '../../../../environments/environment';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { Product } from '../../../../entities/product.entity';\nimport { PlayerStateEnum } from '../../../../enum/player-state.enum';\nimport { Asset } from '../../../../entities/asset.entity';\nimport { EmbeddedModeService } from '../../../../services/embedded-mode.service';\n\n@Component({\n selector: 'app-paywall',\n templateUrl: './paywall.component.html'\n})\nexport class PaywallComponent implements OnInit {\n @ViewChild('playerStage', { static: true }) public playerStage: ElementRef;\n\n @Input() public playerState: PlayerStateEnum;\n @Input() public asset: Asset;\n\n public environment: any;\n public allProducts: Product[];\n public availableProducts: Product[] = [];\n public error = '';\n\n constructor(\n protected productsService: ProductsService,\n protected router: Router,\n protected cdr: ChangeDetectorRef,\n private embeddedModeService: EmbeddedModeService\n ) {\n this.environment = environment;\n }\n\n public buyProduct(product: Product) {\n if (this.embeddedModeService.embedded.getValue()) {\n window.open(\n window.location.origin +\n '/' +\n environment.urlSlugs.checkout +\n '?p=' +\n product.uuid +\n '&a=' +\n this.asset.uuid\n );\n } else {\n this.router.navigate(['/' + environment.urlSlugs.checkout], {\n queryParams: {\n p: product.uuid,\n a: this.asset.uuid\n }\n });\n }\n }\n\n public trackByFn(index, item: Product) {\n return item.uuid;\n }\n\n public ngOnInit(): void {\n this.renderPayWallIfNeeded();\n\n this.productsService.getProducts().subscribe((products: Product[]) => {\n this.allProducts = products;\n this.createAvailableProducts();\n });\n }\n\n private createAvailableProducts() {\n this.allProducts.forEach((product: Product) => {\n if (this.getAssetProducts().includes(product.tag)) {\n this.availableProducts.push(product);\n }\n });\n this.cdr.markForCheck();\n }\n\n private getAssetProducts(): string[] {\n if (!this.asset) {\n console.warn('Asset not yet defined', this.asset);\n return [];\n }\n if (!this.asset.products) {\n console.warn('No Products defined in asset. Asset is free to view', this.asset);\n return [];\n }\n return this.asset.products.values;\n }\n\n private renderPayWallIfNeeded(): void {\n const productsAllowed = this.getAssetProducts();\n\n if (productsAllowed.length === 0) {\n console.error(\n 'No products exist which can be used to view this asset, but content is not freely accessible',\n this.asset\n );\n this.error = 'Dieses Video ist nicht öffentlich verfügbar.';\n this.cdr.markForCheck();\n return;\n }\n this.error = '';\n this.cdr.markForCheck();\n }\n}\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport * as moment from 'moment';\nimport { PlayerStateEnum } from '../../../../enum/player-state.enum';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { environment } from '../../../../environments/environment';\nimport { Product } from '../../../../entities/product.entity';\nimport { ProductsService } from '../../../../services/api/methods/products.service';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\nimport { User } from '../../../../entities/user.entity';\nimport { filter, takeWhile, tap } from 'rxjs/operators';\nimport { interval } from 'rxjs/internal/observable/interval';\nimport { Asset } from '../../../../entities/asset.entity';\nimport { Subscription } from 'rxjs';\nimport { EmbeddedModeService } from '../../../../services/embedded-mode.service';\n\n@Component({\n selector: 'app-player-countdown',\n templateUrl: './player-countdown.component.html'\n})\nexport class PlayerCountdownComponent implements OnInit, OnDestroy, OnChanges, AfterViewChecked {\n public showShareModal = false;\n public playerStateEnum = PlayerStateEnum;\n @Input() public playerState: PlayerStateEnum;\n public hideCountdown = false;\n public hideShare = false;\n public duration: moment.Duration;\n public liveAt = moment();\n public asset: Asset;\n public heightForView: any;\n public intervalSubscription: Subscription;\n public desiredHeight: any;\n public alreadyPurchased = false;\n public allProducts: Product[];\n public availableProducts: Product[] = [];\n @Output() public width: EventEmitter = new EventEmitter();\n @Output() public height: EventEmitter = new EventEmitter();\n @Output() public requestPlayerStateUpdate: EventEmitter = new EventEmitter();\n @ViewChild('playerStage', { static: true }) public playerStage: ElementRef;\n\n constructor(\n protected router: Router,\n protected productsService: ProductsService,\n protected authenticationService: AuthenticationService,\n private cdr: ChangeDetectorRef,\n private embeddedModeService: EmbeddedModeService\n ) {}\n\n @Input('asset') set assetSetter(asset) {\n this.asset = asset;\n }\n\n public ngOnInit(): void {\n if (this.asset) {\n this.liveAt = moment(this.asset.live_at);\n this.hideCountdown = this.asset.flags.includes('nocountdown');\n this.hideShare = this.asset.flags.includes('noshare');\n this.duration = moment.duration(this.liveAt.diff(moment()));\n\n this.intervalSubscription = interval(1000)\n .pipe(\n // subscription is closed as soon as timer is at 0\n takeWhile(() => this.duration.asSeconds() >= 0),\n tap(() => {\n this.duration = moment.duration(this.liveAt.diff(moment()));\n this.cdr.detectChanges();\n }),\n filter(() => {\n const seconds = this.duration.asSeconds();\n return this.duration.asMinutes() < 10 && Math.floor(seconds) % 60 === 0;\n })\n )\n .subscribe(val => {\n this.requestPlayerStateUpdate.next();\n });\n\n this.authenticationService.me().subscribe(\n (me: User) => {\n this.productsService.getProducts().subscribe((products: Product[]) => {\n this.allProducts = products;\n this.availableProducts = [];\n\n this.getAssetProducts().forEach((assetProduct: string) => {\n if (\n (me.current_pay_per_views[assetProduct] &&\n me.current_pay_per_views[assetProduct]?.includes(this.asset.uuid)) ||\n me.current_subscriptions.includes(assetProduct)\n ) {\n // has already bought this product\n this.alreadyPurchased = true;\n }\n });\n if (this.alreadyPurchased === false) {\n products.forEach((product: Product) => {\n // product suitable and product not bought\n if (this.getAssetProducts().includes(product.tag)) {\n if (!me.current_subscriptions.includes(product.tag)) {\n // no current ppv bought\n if (\n !me.current_pay_per_views.hasOwnProperty(product.tag) ||\n !me.current_pay_per_views[product.tag].includes(this.asset.uuid)\n ) {\n this.availableProducts.push(product);\n return;\n } else {\n // show already bought ?\n }\n } else {\n // show included in subscription ?\n }\n }\n });\n }\n });\n },\n err => {\n // user not logged in for example\n this.productsService.getProducts().subscribe((products: Product[]) => {\n this.allProducts = products;\n this.availableProducts = [];\n products.forEach((product: Product) => {\n // product suitable and product not bought\n if (this.getAssetProducts().includes(product.tag)) {\n this.availableProducts.push(product);\n }\n });\n });\n }\n );\n }\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(event) {\n this.desiredHeight = (this.playerStage.nativeElement.clientWidth * 9) / 16;\n if (this.heightForView !== this.desiredHeight) {\n this.heightForView = this.desiredHeight;\n this.cdr.detectChanges();\n }\n }\n\n public ngOnChanges() {\n this.onResize(null);\n }\n\n public ngAfterViewChecked() {\n this.onResize(null);\n }\n\n public buyProduct(product: Product): void {\n if (this.embeddedModeService.embedded.getValue()) {\n window.open(\n window.location.origin +\n '/' +\n environment.urlSlugs.checkout +\n '?p=' +\n product.uuid +\n '&a=' +\n this.asset.uuid\n );\n } else {\n this.router.navigate(['/' + environment.urlSlugs.checkout], {\n queryParams: {\n p: product.uuid,\n a: this.asset.uuid\n }\n });\n }\n }\n\n public getAssetProducts(): string[] {\n if (!this.asset) {\n return [];\n }\n if (!this.asset.products) {\n return [];\n }\n return this.asset.products.values || [];\n }\n\n public ngOnDestroy() {\n if (this.intervalSubscription) {\n this.intervalSubscription.unsubscribe();\n }\n }\n\n public saveCalendar(event: MouseEvent) {\n event.stopPropagation();\n event.preventDefault();\n window.open(this.asset.ics);\n return false;\n }\n\n public toggleShareModal(event: MouseEvent) {\n this.showShareModal = !this.showShareModal;\n }\n}\n","import { Observable } from 'rxjs/internal/Observable';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport { BotInfo, BrowserInfo, detect as detectBrowser, NodeInfo, SearchBotDeviceInfo } from 'detect-browser';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { PlayerErrorEnum } from '../../../enum/player-error.enum';\nimport { PlayerStateEnum } from '../../../enum/player-state.enum';\nimport { environment } from '../../../environments/environment';\nimport { AdblockDetectionService } from '../../../services/adblock-detection.service';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { AdState, VideoState } from './states';\nimport { VideoComponent } from './video/video.component';\nimport { Asset } from '../../../entities/asset.entity';\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { AssetAuthorizationEntity } from '../../../entities/asset-authorization.entity';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { WebsocketService } from '../../../services/websocket.service';\nimport * as moment from 'moment';\nimport { AssetsService } from '../../../services/api/methods/assets.service';\n\n@Component({\n selector: 'app-player',\n templateUrl: './player.component.html'\n})\nexport class PlayerComponent implements OnDestroy {\n @Input() public autoplay = false;\n @Input() public muted = false;\n @Input() public preload: 'none' | 'auto' | 'metadata' = 'auto';\n @Input() public ads: boolean = environment.ads.useAds;\n @Input() public showTitle = false;\n @Input() public showBody = false;\n @Input() public showLogo = false;\n @Input() public nextAsset: Asset;\n @Input() public useRevolverPlay = false;\n @Input() public shareButton = environment.player.showShareButton;\n @Input() public playlistButton = environment.player.showPlaylistButton;\n @Input() public chapterButton = environment.player.showChapterButton;\n @Input() public playlistArrows = environment.player.showPlaylistArrows;\n @Input() public conferenceMode = environment.player.conferenceMode;\n @Output() public width: EventEmitter = new EventEmitter();\n @Output() public reload: EventEmitter = new EventEmitter();\n @Output() public mainAsset: EventEmitter = new EventEmitter();\n @Output() public videoStateChanged: EventEmitter = new EventEmitter();\n @Output() public adStateChanged: EventEmitter = new EventEmitter();\n @Output() public emitFullScreenChangeToPlayer: EventEmitter = new EventEmitter();\n /**\n * @TODO requestControlsUpdate was used to update the player control bar,\n * - currently not subscribers\n * - must be tested with Conference mode\n */\n @Output() public requestControlsUpdate: EventEmitter = new EventEmitter();\n @ViewChildren(VideoComponent) public videoComponents: QueryList;\n @ViewChild('container') public container: ElementRef;\n public fallbackVideoFullScreenEventEmitter: EventEmitter;\n public richSnippet;\n public inConferenceMode = false;\n public environment = environment;\n public playerError: PlayerErrorEnum;\n public errorMessage: string;\n public playerState: PlayerStateEnum;\n public playerStateEnum = PlayerStateEnum;\n public inFullscreen = false;\n public browser: BrowserInfo | SearchBotDeviceInfo | BotInfo | NodeInfo | null;\n public playEvent: Subject = new Subject();\n public assetAuthorizationToken: AssetAuthorizationEntity;\n public adMode = false;\n public bigVideoIndex = 0;\n public isOpenerBodyCollapsed = true;\n public videoInfoShown = true;\n\n constructor(\n private assetsService: AssetsService,\n private authService: AuthenticationService,\n private adBlockDetectionService: AdblockDetectionService,\n private socketService: WebsocketService,\n private cdr: ChangeDetectorRef\n ) {\n this.fallbackVideoFullScreenEventEmitter = new EventEmitter();\n this.browser = detectBrowser();\n\n window.document.addEventListener('fullscreenchange', () => {\n this.inFullscreen = !!document.fullscreenElement;\n this.emitFullScreenChangeToPlayer.next(this.inFullscreen);\n this.requestControlsUpdate.emit();\n this.cdr.detectChanges();\n });\n }\n\n public _assets: Asset[] = [];\n\n @Input('assets') set assets(assets: Asset[]) {\n this.setAssets(assets);\n }\n\n public refreshAssetAfterCountdown() {\n this.reload.next();\n }\n\n public updatePlayerState(from): void {\n this.getPlayerStateForAsset(this._assets[0]).subscribe((playerState: PlayerStateEnum) => {\n this.playerState = playerState;\n this.cdr.detectChanges();\n });\n }\n\n public play() {\n this.autoplay = true;\n this.playEvent.next();\n }\n\n public markVideoAsPlaying(index: number) {\n this.videoComponents.map((vidComp, i) => {\n if (i !== index) {\n vidComp.play();\n }\n });\n }\n\n public onVideoStateChange(state: VideoState) {\n this.videoStateChanged.emit(state);\n if (state === VideoState.ended && environment.player.useRevolverPlay) {\n if (this.nextAsset && this.nextAsset.uuid !== this._assets[this.bigVideoIndex].uuid) {\n this.playerState = PlayerStateEnum.REVOLVERPLAY;\n this.cdr.detectChanges();\n }\n }\n }\n\n public abortRevolverPlay() {\n this.playerState = this.playerStateEnum.SUCCESS;\n }\n\n public contextMenu(event: MouseEvent) {\n if (environment.production) {\n event.preventDefault();\n event.stopImmediatePropagation();\n return false;\n }\n }\n\n public onMediaError(error: PlayerErrorEnum, index: number) {\n if (index === this.bigVideoIndex) {\n this.playerState = PlayerStateEnum.PLAYER_ERROR;\n this.playerError = error;\n }\n }\n public onPlayerStateChange(playerState: PlayerStateEnum, index: number) {\n if (index === this.bigVideoIndex) {\n this.playerState = playerState;\n }\n }\n\n public onAdStateChange(state: AdState): void {\n this.adStateChanged.emit(state);\n this.adMode = state === AdState.started;\n this.cdr.detectChanges();\n }\n\n public makeVideoBig(index: number): void {\n if (index === this.bigVideoIndex) {\n return;\n }\n this.mainAsset.emit(this._assets[index]);\n this.bigVideoIndex = index;\n }\n\n public ngOnDestroy(): void {\n this._assets.map((asset: Asset) => {\n this.socketService.leave('asset-' + asset.uuid);\n });\n }\n\n public toggleFullscreen() {\n if (\n (window.document.fullscreenEnabled ||\n // @ts-ignore\n window.document.webkitFullscreenEnabled ||\n // @ts-ignore\n window.document.mozFullScreenEnabled ||\n // @ts-ignore\n window.document.msFullscreenEnabled) &&\n // even though fullscreen api is enabled: im Chrome 69 it is not possible to use it in iframes (syndication player)\n this.container.nativeElement.requestFullscreen !== undefined\n ) {\n if (this.inFullscreen) {\n window.document.exitFullscreen().then(() => {\n this.inFullscreen = false;\n this.emitFullScreenChangeToPlayer.next(false);\n this.cdr.detectChanges();\n });\n } else {\n // end any other full screen element\n // window.document.exitFullscreen();\n this.container.nativeElement.requestFullscreen().then(() => {\n this.inFullscreen = true;\n this.emitFullScreenChangeToPlayer.next(true);\n this.cdr.detectChanges();\n });\n }\n } else {\n // no playerInFullscreen api\n // just send a playerInFullscreen event to the main video\n this.fallbackVideoFullScreenEventEmitter.next();\n }\n }\n\n public toggleConferenceMode() {\n this.inConferenceMode ? this.leaveConferenceMode() : this.enterConferenceMode();\n }\n\n private enterConferenceMode() {\n const limit = this.conferenceMode === true ? 7 : 1;\n if (this._assets.length > limit) {\n this._assets = this._assets.slice(0, limit);\n }\n\n this.inConferenceMode = true;\n\n setTimeout(() => {\n this.playEvent.next();\n }, 200);\n }\n\n private leaveConferenceMode() {\n this.inConferenceMode = false;\n this.makeVideoBig(0);\n }\n\n private setSeoRichSnippet(asset: Asset) {\n let contentUrl = '';\n let thumbnailUrl = '';\n if (asset.videos && asset.videos.length > 0) {\n contentUrl = this._assets[0].videos[0].url;\n }\n if (asset.images && asset.images.length > 0) {\n thumbnailUrl = asset.images[0].url;\n }\n\n this.richSnippet = {\n '@context': 'https://schema.org',\n '@type': 'VideoObject',\n contentURL: contentUrl,\n description: asset.teaser,\n // 'duration': 'PT37M14S', TODO: find formater\n embedUrl: asset.player, // todo only include embed url if flag noembed is not set\n // 'interactionCount': '4756',\n name: asset.label,\n thumbnailUrl: thumbnailUrl,\n uploadDate: asset.published_at\n };\n if (asset.live) {\n this.richSnippet = {\n ...this.richSnippet,\n publication: [\n {\n '@type': 'BroadcastEvent',\n isLiveBroadcast: true,\n startDate: asset.live_at\n // 'endDate': '2016-10-27T14:37:14+00:00' // todo add a default of 2 hours?\n }\n ]\n };\n }\n }\n\n private getPlayerStateForAsset(asset: Asset): Observable {\n return of(asset).pipe(\n switchMap(() => this.assetCountdownAllows(asset)),\n switchMap(() => this.geoBlockerAllows(asset)),\n switchMap(() => this.authorizationServiceAllows(asset)),\n switchMap(() => this.adBlockBlockerAllows(asset)),\n\n catchError((err: Error) => {\n if (Object.keys(this.playerStateEnum).includes(err.message)) {\n return of(err.message as PlayerStateEnum);\n } else {\n console.error(err);\n this.errorMessage = err.message;\n return of(PlayerStateEnum.API_ERROR);\n }\n }),\n map((response: Asset | PlayerStateEnum) => {\n if (response instanceof Asset) {\n return PlayerStateEnum.SUCCESS;\n }\n return response;\n })\n );\n }\n\n private geoBlockerAllows(asset: Asset): Observable {\n return this.assetsService.shouldBeGeoBlocked(asset).pipe(\n map((shouldBeBlocked: boolean) => {\n if (shouldBeBlocked) {\n throw new Error(PlayerStateEnum.CONTENT_NOT_ALLOWED_FOR_REGION);\n }\n return asset;\n })\n );\n }\n\n private assetCountdownAllows(asset: Asset): Observable {\n return of(asset).pipe(\n map(() => {\n if (!!asset && !!asset.live_at && !asset.live && moment().isBefore(moment(asset.live_at))) {\n // display the countdown\n throw new Error(PlayerStateEnum.COUNTDOWN);\n }\n return asset;\n })\n );\n }\n\n private authorizationServiceAllows(asset: Asset): Observable {\n if (asset.contents_freely_accessible) {\n return of(asset);\n }\n return this.assetsService.getAssetAuthorizationToken(asset).pipe(\n catchError((err: HttpErrorResponse) => {\n if (err.error.error && Object.keys(this.playerStateEnum).includes(err.error.error)) {\n throw new Error(err.error.error);\n }\n throw err;\n }),\n tap((authToken: AssetAuthorizationEntity) => (asset.authorization_token = authToken)),\n map(() => asset)\n );\n }\n\n private adBlockBlockerAllows(asset: Asset): Observable {\n if (this.environment.ads.blockVideosForAdBlocker === false || this.environment.ads.useAds === false) {\n return of(asset);\n }\n return this.authService.adsDisabledForUser().pipe(\n switchMap((adsDisabled: boolean) => {\n if (adsDisabled) {\n return of(false);\n } else {\n return this.adBlockDetectionService.adBlockerActive();\n }\n }),\n map((adBlockerActive: boolean) => {\n if (adBlockerActive) {\n throw new Error(PlayerStateEnum.AD_BLOCKER_ENABLED);\n }\n return asset;\n })\n );\n }\n\n private setAssets(assets: Asset[]) {\n this.playerState = PlayerStateEnum.LOADING;\n if (!assets || assets[0] === null || assets[0] === undefined) {\n return;\n }\n // limit the conference mode to 6 videos + 1 main video\n const limit = this.conferenceMode === true ? 7 : 1;\n if (assets.length > limit) {\n assets = assets.slice(0, limit);\n }\n\n if (this._assets.length > 0) {\n this._assets.map((asset: Asset) => {\n this.socketService.leave('asset-' + asset.uuid);\n });\n }\n this._assets = assets;\n\n assets.map((asset: Asset) => {\n this.socketService.join('asset-' + asset.uuid);\n });\n\n this.assetAuthorizationToken = null;\n this.cdr.detectChanges();\n this.getPlayerStateForAsset(this._assets[0]).subscribe(\n (playerState: PlayerStateEnum) => {\n this.playerState = playerState;\n this.requestControlsUpdate.emit();\n if (this._assets[0]) {\n this.setSeoRichSnippet(this._assets[0]);\n }\n this.cdr.detectChanges();\n },\n err => {\n this.cdr.detectChanges();\n console.error('playerError', err);\n }\n );\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { interval } from 'rxjs/internal/observable/interval';\nimport { RawAssetFromApi } from '../../../../entities/raw-asset-from-api.entity';\nimport { RoutingHelperService } from '../../../../services/routing-helper.service';\n\n@Component({\n selector: 'app-revolver-play',\n templateUrl: './revolver-play.component.html'\n})\nexport class RevolverPlayComponent implements OnInit, OnDestroy {\n @Input() public backgroundImage: string;\n @Input() public nextAsset: RawAssetFromApi;\n @Output() public abort: EventEmitter = new EventEmitter();\n public remainingSeconds = 10;\n public circle: any;\n private sub: Subscription;\n\n constructor(private routingHelperService: RoutingHelperService) {}\n\n public playNextMatch(routedWithoutUserInteraction = false) {\n this.routingHelperService.goToAssetPage(this.nextAsset, true, routedWithoutUserInteraction);\n }\n\n public stopCountDown() {\n this.sub.unsubscribe();\n this.abort.next();\n }\n\n public ngOnInit(): void {\n this.circle = document.querySelector('circle');\n const radius = this.circle.r.baseVal.value;\n const circumference = radius * 2 * Math.PI;\n this.circle.style.strokeDasharray = `${circumference} ${circumference}`;\n this.circle.style.strokeDashoffset = `${circumference}`;\n this.setProgress(100);\n this.sub = interval(1000).subscribe(val => {\n this.remainingSeconds -= 1;\n this.setProgress((this.remainingSeconds / 10) * 100);\n if (this.remainingSeconds < 1) {\n this.playNextMatch(true);\n }\n });\n }\n\n public ngOnDestroy() {\n this.sub.unsubscribe();\n }\n\n private setProgress(percent) {\n const radius = this.circle.r.baseVal.value;\n const circumference = radius * 2 * Math.PI;\n this.circle.style.strokeDashoffset = circumference - (percent / 100) * circumference;\n }\n}\n","export enum VideoState {\n notready = 'not-ready',\n started = 'started',\n paused = 'paused',\n ended = 'ended',\n next = 'next'\n}\n\nexport enum AdState {\n started = 'started',\n ended = 'ended'\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'app-overlay-modal',\n templateUrl: './overlay-modal.component.html'\n})\nexport class OverlayModalComponent {\n @Output() public close: EventEmitter = new EventEmitter();\n}\n","import videojs from 'video.js';\n\nconst VideoJsButtonClass = videojs.getComponent('MenuButton');\nconst VideoJsMenuClass = videojs.getComponent('Menu');\nconst VideoJsComponent = videojs.getComponent('Component');\nconst Dom = videojs.dom;\n\n/**\n * Convert string to title case.\n *\n * @param {string} string - the string to convert\n * @return {string} the returned titlecase string\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nfunction toTitleCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n/**\n * Extend vjs button class for quality button.\n */\nexport default class ConcreteButton extends VideoJsButtonClass {\n private hideThreshold_: number;\n items: unknown[];\n /**\n * Button constructor.\n *\n * @param {Player} player - videojs player instance\n */\n constructor(player) {\n super(player, { title: player.localize('Qualität') });\n }\n\n /**\n * Creates button items.\n *\n * @return {Array} - Button items\n */\n createItems(): [] {\n return [];\n }\n\n /**\n * Create the menu and add all items to it.\n *\n * @return {Menu}\n * The constructed menu\n */\n createMenu() {\n const menu = new VideoJsMenuClass(this.player_, { menuButton: this });\n\n this.hideThreshold_ = 0;\n\n // Add a title list item to the top\n if (this.options_.title) {\n const titleEl = Dom.createEl('li', {\n className: 'vjs-menu-title',\n innerHTML: toTitleCase(this.options_.title),\n tabIndex: -1\n });\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const titleComponent = new VideoJsComponent(this.player_, { el: titleEl });\n\n this.hideThreshold_ += 1;\n\n menu.addItem(titleComponent);\n }\n\n this.items = this.createItems();\n\n if (this.items) {\n // Add menu items to the menu\n for (let i = 0; i < this.items.length; i++) {\n menu.addItem(this.items[i]);\n }\n }\n\n return menu;\n }\n}\n","import videojs from 'video.js';\nimport Player = videojs.Player;\nimport ConcreteButton from './ConcreteButton';\n\n// Concrete classes\nconst VideoJsMenuItemClass = videojs.getComponent('MenuItem');\n\n/**\n * Extend vjs menu item class.\n */\nexport default class ConcreteMenuItem extends VideoJsMenuItemClass {\n private item: any;\n private plugin: any;\n private qualityButton: ConcreteButton;\n\n /**\n * Menu item constructor.\n *\n * @param {Player} player - vjs player\n * @param {Object} item - Item object\n * @param {ConcreteButton} qualityButton - The containing button.\n * @param {HlsQualitySelectorPlugin} plugin - This plugin instance.\n */\n constructor(\n player: Player,\n item: { label: string; selected: boolean },\n qualityButton: ConcreteButton,\n plugin: any\n ) {\n super(player, {\n label: item.label,\n selectable: true,\n selected: item.selected || false\n });\n this.item = item;\n this.qualityButton = qualityButton;\n this.plugin = plugin;\n }\n\n /**\n * Click event for menu item.\n */\n handleClick() {\n // Reset other menu items selected status.\n for (let i = 0; i < this.qualityButton.items.length; ++i) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.qualityButton.items[i].selected(false);\n }\n\n // Set this menu item to selected, and set quality.\n this.plugin.setQuality(this.item.value);\n this.selected(true);\n }\n}\n","import videojs from 'video.js';\nimport ConcreteButton from './ConcreteButton';\nimport ConcreteMenuItem from './ConcreteMenuItem';\n\n// Default options for the plugin.\nconst defaults = {};\n\n// Cross-compatibility for Video.js 5 and 6.\nconst registerPlugin = videojs.registerPlugin || videojs.plugin;\n// const dom = videojs.dom || videojs;\n\n/**\n * VideoJS HLS Quality Selector Plugin class.\n */\nclass HlsQualitySelectorPlugin {\n private player: videojs.Player;\n private config: { placementIndex: number; vjsIconClass: string; displayCurrentQuality: boolean };\n private _qualityButton: ConcreteButton;\n /**+\n * Plugin Constructor.\n *\n * @param {Player} player - The videojs player instance.\n * @param {Object} options - The plugin options.\n */\n constructor(\n player: videojs.Player,\n options: { placementIndex: number; vjsIconClass: string; displayCurrentQuality: boolean }\n ) {\n this.player = player;\n this.config = options;\n\n // If there is quality levels plugin and the HLS tech exists\n // then continue.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (player.qualityLevels() && !videojs.browser.IS_ANY_SAFARI) {\n this.createQualityButton();\n this.bindPlayerEvents();\n }\n }\n\n /**\n * Returns HLS Plugin\n *\n * @return {*} - videojs-hls-contrib plugin.\n */\n getHls() {\n true;\n }\n\n /**\n * Binds listener for quality level changes.\n */\n bindPlayerEvents() {\n // @ts-ignore\n this.player.qualityLevels().on('addqualitylevel', this.onAddQualityLevel.bind(this));\n }\n\n /**\n * Adds the quality menu button to the player control bar.\n */\n createQualityButton() {\n const player = this.player;\n\n this._qualityButton = new ConcreteButton(player);\n\n const placementIndex = player.controlBar.children().length - 2;\n const concreteButtonInstance = player.controlBar.addChild(\n this._qualityButton,\n { componentClass: 'qualitySelector' },\n this.config.placementIndex || placementIndex\n );\n\n concreteButtonInstance.addClass('vjs-quality-selector');\n if (!this.config.displayCurrentQuality) {\n const icon = ` ${this.config.vjsIconClass || 'vjs-icon-hd'}`;\n\n concreteButtonInstance.menuButton_.$('.vjs-icon-placeholder').className += icon;\n } else {\n this.setButtonInnerText('auto');\n }\n concreteButtonInstance.removeClass('vjs-hidden');\n }\n\n /**\n *Set inner button text.\n *\n * @param {string} text - the text to display in the button.\n */\n setButtonInnerText(text) {\n this._qualityButton.menuButton_.$('.vjs-icon-placeholder').innerHTML = text;\n }\n\n /**\n * Builds individual quality menu items.\n *\n * @param {Object} item - Individual quality menu item.\n * @return {ConcreteMenuItem} - Menu item\n */\n getQualityMenuItem(item) {\n const player = this.player;\n\n return new ConcreteMenuItem(player, item, this._qualityButton, this);\n }\n\n /**\n * Executed when a quality level is added from HLS playlist.\n */\n onAddQualityLevel() {\n const player = this.player;\n // @ts-ignore\n const qualityList = player.qualityLevels();\n const levels = qualityList.levels_ || [];\n const levelItems = [];\n\n for (let i = 0; i < levels.length; ++i) {\n if (\n !levelItems.filter(_existingItem => {\n return _existingItem.item && _existingItem.item.value === levels[i].height;\n }).length\n ) {\n const levelItem = this.getQualityMenuItem.call(this, {\n label: levels[i].height + 'p',\n value: levels[i].height\n });\n\n levelItems.push(levelItem);\n }\n }\n\n levelItems.sort((current, next) => {\n if (typeof current !== 'object' || typeof next !== 'object') {\n return -1;\n }\n if (current.item.value < next.item.value) {\n return -1;\n }\n if (current.item.value > next.item.value) {\n return 1;\n }\n return 0;\n });\n\n levelItems.push(\n this.getQualityMenuItem.call(this, {\n label: player.localize('Auto'),\n value: 'auto',\n selected: true\n })\n );\n if (this._qualityButton) {\n if (levels.length > 1) {\n // @ts-ignore\n this._qualityButton.createItems = function () {\n return levelItems;\n };\n this._qualityButton.update();\n this._qualityButton.show();\n } else {\n this._qualityButton.hide();\n }\n }\n }\n\n /**\n * Sets quality (based on media height)\n *\n * @param {number} height - A number representing HLS playlist.\n */\n setQuality(height) {\n // @ts-ignore\n const qualityList = this.player.qualityLevels();\n\n if (this.config.displayCurrentQuality) {\n this.setButtonInnerText(height === 'auto' ? height : `${height}p`);\n }\n\n for (let i = 0; i < qualityList.length; ++i) {\n const quality = qualityList[i];\n\n quality.enabled = quality.height === height || height === 'auto';\n }\n this._qualityButton.unpressButton();\n }\n}\n\n/**\n * Function to invoke when the player is ready.\n *\n * This is a great place for your plugin to initialize itself. When this\n * function is called, the player will have its DOM and child components\n * in place.\n *\n * @function onPlayerReady\n * @param {Player} player\n * A Video.js player object.\n *\n * @param {Object} [options={}]\n * A plain object containing options for the plugin.\n */\nconst onPlayerReady = (player, options) => {\n player.addClass('vjs-hls-quality-selector');\n player.hlsQualitySelector = new HlsQualitySelectorPlugin(player, options);\n};\n\n/**\n * A video.js plugin.\n *\n * In the plugin function, the value of `this` is a video.js `Player`\n * instance. You cannot rely on the player being in a \"ready\" state here,\n * depending on how the plugin is invoked. This may or may not be important\n * to you; if not, remove the wait for \"ready\"!\n *\n * @function hlsQualitySelector\n * @param {Object} [options={}]\n * An object of options left to the plugin author to define.\n */\nconst hlsQualitySelector = function (options) {\n this.ready(() => {\n onPlayerReady(this, videojs.mergeOptions(defaults, options));\n });\n};\n\n// Register the plugin with video.js.\nregisterPlugin('hlsQualitySelector', hlsQualitySelector);\n\n// Include the version number.\nhlsQualitySelector.VERSION = 1;\n\nexport default hlsQualitySelector;\n","import ads from 'videojs-contrib-ads';\nimport { SomtagService } from '../../../../../services/somtag.service';\n\nimport * as moment from 'moment';\nimport VPAIDHTML5CLIENT from 'vpaid-html5-client';\nimport { environment } from '../../../../../environments/environment';\nimport { VAST, VastClient, VastCreative, VastResponse, VastTracker } from '../../../../../../../@types/vast-client';\nimport { VjsAdsPluginOptions } from '../../../../../../../@types/VjsAdsPluginOptions';\nimport { CustomPlayer } from '../../../../../../../@types/CustomPlayer';\nimport { AnalyticsService } from '../../../../../services/analytics.service';\nimport { distinctUntilChanged, switchMap, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { interval } from 'rxjs/internal/observable/interval';\nimport { of } from 'rxjs/internal/observable/of';\nimport { Asset } from '../../../../../entities/asset.entity';\nimport videojs from 'video.js';\nimport SourceObject = videojs.Tech.SourceObject;\n\nconst mywindow: any = window;\nconst Plugin = mywindow.videojs.getPlugin('plugin');\n\ndeclare interface MyWindow extends Window {\n somtag?: any;\n VAST?: VAST;\n}\n\nexport default class AdsPlugin extends Plugin {\n public playPreroll: boolean;\n public playMidroll: boolean;\n public playPostroll: boolean;\n public player: CustomPlayer;\n public myWindow: MyWindow = window;\n public somtag: any = null;\n public VAST: VAST = null;\n public controlBarTextAdvertisement;\n public controlBarTextRemaining;\n private state: {\n vpaidAdUnit?: any;\n inventory?: Array<{\n media: SourceObject;\n adParameters?: string;\n tracker: VastTracker;\n }>;\n startTime?: any;\n lastMidrollTime?: any;\n prerollPlayed?: boolean;\n midrollPlayed?: boolean;\n postrollPlayed?: boolean;\n numberOfVideosPlayer?: number;\n currentAdBlock?: string;\n indexOfCurrentAdInCurrentBlock?: number;\n numberOfMidRollsPlayed?: number;\n };\n private somtagService: SomtagService;\n private analyticsService: AnalyticsService;\n private secondsBetweenMidrollBlocks: number;\n private secondsBeforeFirstMidrollBlock: number;\n private longplay: boolean;\n private adVideoDidStart: boolean;\n private playerPausedBySystem;\n private asset: Asset;\n private somtagResponseTimedOut = false;\n private adControlsShown = false;\n private blocksToRequestAfterAdBlockFinished;\n private options: VjsAdsPluginOptions;\n\n constructor(player, options: VjsAdsPluginOptions) {\n super(player, options);\n this.player = player;\n this.state = {};\n this.state.numberOfMidRollsPlayed = 0;\n window.addEventListener('scroll', this.onWindowScroll.bind(this));\n // accept initialization options\n this.playPreroll = options && options.playPreroll !== undefined ? options.playPreroll : true;\n this.playMidroll = options && options.playMidroll !== undefined ? options.playMidroll : true;\n this.playPostroll = options && options.playPostroll !== undefined ? options.playPostroll : true;\n this.somtagService = options.somtagService;\n this.analyticsService = options.analyticsService;\n\n this.secondsBetweenMidrollBlocks =\n options && options.secondsBetweenMidrollBlocks !== undefined ? options.secondsBetweenMidrollBlocks : 60 * 6;\n this.secondsBeforeFirstMidrollBlock =\n options && options.secondsBeforeFirstMidrollBlock !== undefined\n ? options.secondsBeforeFirstMidrollBlock\n : 60 * 12;\n this.longplay = options && options.longplay !== undefined ? options.longplay : false;\n this.asset = options.asset;\n this.options = options;\n\n if (this.asset.flags && this.asset.flags.includes('nomidroll')) {\n this.playMidroll = false;\n }\n\n if (mywindow.videojs.getPlugin('ads') === undefined) {\n mywindow.videojs.registerPlugin('ads', ads);\n }\n\n // initialize the ads plugin, passing in any relevant options\n player.ads(options);\n\n this.somtag = this.myWindow.somtag;\n this.VAST = this.myWindow.VAST;\n this.state.numberOfVideosPlayer = 0;\n // request ad inventory whenever the player gets content to play\n player.on('contentchanged', () => {\n this.state.numberOfVideosPlayer += 1;\n this.player.trigger('adsready');\n const number = environment.ads.somtag.numberOfVideosBeforePreRollAgainInPlaylist;\n if (number !== 0 && this.state.numberOfVideosPlayer % number === 0) {\n this.state.prerollPlayed = false;\n }\n });\n\n player.on('readyforpostroll', () => {\n if (!this.player.options().adsActive) {\n player.trigger('nopostroll');\n return;\n }\n if (!this.state.postrollPlayed && this.playPostroll) {\n if (\n this.player.hasPlugin('playlistPlugin') &&\n this.asset.videos.length - 1 === this.player.playlist.currentIndex()\n ) {\n this.state.postrollPlayed = true;\n this.playAd('post');\n } else if (!this.player.hasPlugin('playlistPlugin')) {\n this.state.postrollPlayed = true;\n this.playAd('post');\n } else {\n player.trigger('nopostroll');\n }\n } else {\n player.trigger('nopostroll');\n }\n });\n\n // play an ad the first time there's a preroll opportunity\n player.on('readyforpreroll', () => {\n if (!this.player.options().adsActive) {\n player.trigger('nopreroll');\n return;\n }\n if (!this.state.prerollPlayed && this.playPreroll) {\n this.playAd('pre');\n this.state.prerollPlayed = true;\n } else {\n player.trigger('nopreroll');\n }\n });\n\n player.on('play', () => {\n if (!this.state.startTime) {\n this.state.startTime = moment();\n }\n });\n\n player.on('readyforscheduledmidroll', (test, data?: { amountOfClips: number | null }) => {\n if (!this.player.options().adsActive) {\n player.trigger('nomidroll');\n return;\n }\n let amount = null;\n if (data && data.amountOfClips) {\n amount = data.amountOfClips;\n }\n if (amount > 4) {\n amount = 4;\n }\n this.playAd('mid', amount);\n });\n // watch for time to pass 15 seconds, then play an ad\n // if we haven't played a midroll already\n if (this.playMidroll) {\n /// the video must be loaded to the timeupdate event to fire!!!\n // see https://stackoverflow.com/questions/29618851/how-can-i-listen-for-the-timeupdate-event-from-my-video-js-player\n player.on('timeupdate', () => {\n if (!this.player.options().adsActive) {\n return;\n }\n // todo: do not use the real time. this way the time of the preroll ads also counts!\n const currentTime = moment();\n let opportunity: boolean;\n // did already play an midroll?\n if ('lastMidrollTime' in this.state) {\n opportunity =\n currentTime >\n this.state.lastMidrollTime.clone().add(this.secondsBetweenMidrollBlocks, 'seconds');\n } else if (\n currentTime > this.state.startTime.clone().add(this.secondsBeforeFirstMidrollBlock, 'seconds')\n ) {\n opportunity = true;\n }\n\n if (opportunity) {\n this.state.numberOfMidRollsPlayed += 1;\n this.state.lastMidrollTime = currentTime;\n this.playAd('mid');\n }\n });\n }\n\n // video-contrib-ads redispatches ({eventName} -> ad{eventName}) all player events, so some ad-events have to be handled manually\n this.player.on('adtimeupdate', () => {\n if (this.player.controlBar.getChild('CustomRemainingTimeDisplay')) {\n (this.player.controlBar.getChild('CustomRemainingTimeDisplay') as any).throttledUpdateContent();\n }\n\n this.player.controlBar.remainingTimeDisplay.throttledUpdateContent();\n });\n this.player.on('advolumechange', () => {\n this.player.controlBar.volumePanel.volumeControl.volumeBar.update();\n this.player.controlBar.volumePanel.muteToggle.update();\n });\n\n this.player.on('adtimeout', event => {\n this.somtagResponseTimedOut = true;\n console.error('SOM Request timed out. VJS PluginAds.state');\n });\n\n document.addEventListener('custom-vjs-ads-skip-ad', () => {\n this.playNextAdOrStopPlayingAds();\n });\n\n document.addEventListener('custom-vjs-ads-play-midroll', () => {\n this.triggerScheduledMidroll(1);\n });\n this.player.trigger('adsready');\n }\n\n public playAd(block: 'mid' | 'pre' | 'post', amountOfClips: number = 1) {\n if (!this.player.options().adsActive) {\n return;\n }\n this.state.currentAdBlock = block;\n\n this.state.indexOfCurrentAdInCurrentBlock = 0;\n\n if (block === 'pre') {\n // do not pause in midrolls!\n this.player.pause();\n }\n\n this.player.trigger('ads-ad-willfetch');\n\n this.somtagService.initVideoAds(this.asset, this.longplay).subscribe(\n initialized => {\n this.somtagResponseTimedOut = false;\n this.blocksToRequestAfterAdBlockFinished = amountOfClips - 1;\n this.somtagService.loadVideoAds(block, 1, this.loadVideoAdsCallback.bind(this));\n },\n err => {\n console.error('init videoAds Error');\n console.error(err);\n }\n );\n }\n\n public queueLiveMidroll(scheduledMidrollMediaSequence: string, amountOfClips: number) {\n /// the video must be loaded to the this.player.on(timeupdate) event to fire!!!\n // see https://stackoverflow.com/questions/29618851/how-can-i-listen-for-the-timeupdate-event-from-my-video-js-player\n\n const triggerSequence = parseInt(scheduledMidrollMediaSequence, 10);\n\n const unsub: Subject = new Subject();\n\n // emit the current sequence every seconds\n const interv = interval(1000);\n interv\n .pipe(\n takeUntil(unsub),\n // @FIXME why are we using DASH instead of HLS???? The Stream is HLS not Dash!\n // On Safari there is no player.dash since it is using native HLS Support => so we directly trigger the ad\n // @see https://github.com/videojs/http-streaming/issues/214#issuecomment-417342641\n switchMap(second =>\n of(this.player.dash ? this.player.dash.playlists.media_.mediaSequence : triggerSequence)\n ),\n distinctUntilChanged()\n )\n .subscribe((currentSequence: number) => {\n if (this.player.options().adsActive === false) {\n console.warn('ads disabled, but requested midroll');\n return;\n }\n if (currentSequence >= triggerSequence) {\n unsub.next(true);\n this.triggerScheduledMidroll(amountOfClips);\n }\n });\n }\n\n private triggerScheduledMidroll(amountOfClips = null) {\n if (this.player && this.playerIsPlaying() && this.player.options().adsActive) {\n this.player.trigger('readyforscheduledmidroll', {\n amountOfClips: amountOfClips\n });\n } else {\n console.warn('did not play live midroll, player not playing or ad playing');\n }\n }\n\n private showAdModeControls() {\n if (this.adControlsShown) {\n return;\n }\n this.adControlsShown = true;\n this.addCustomRemainingTime();\n this.addControlBarText('AdText', this.controlBarTextAdvertisement, 'vjs-ad-text');\n this.addControlBarText('RemainingTimeText', this.controlBarTextRemaining, 'vjs-remaining-time-text');\n }\n\n private playerIsPlaying(): boolean {\n if (!this.player) {\n return false;\n }\n try {\n return !this.player.paused();\n } catch (e) {\n return false;\n }\n }\n\n private hideAdModeControls() {\n this.player.getChild('controlBar').removeChild(this.player.getChild('controlBar').getChild('AdText'));\n this.player\n .getChild('controlBar')\n .removeChild(this.player.getChild('controlBar').getChild('RemainingTimeText'));\n this.player\n .getChild('controlBar')\n .removeChild(this.player.getChild('controlBar').getChild('CustomRemainingTimeDisplay'));\n this.adControlsShown = false;\n }\n\n private playNextAdOrStopPlayingAds() {\n if (this.state && this.state.inventory && this.state.inventory.length > 0) {\n const inventoryToPlay = { ...this.state.inventory[0] };\n\n this.adVideoDidStart = false;\n\n /// register play next for LINEAR ADS\n // PLAY NEXT FOR VAST Ads is done in the Listener for AdVideoComplete\n\n // on source load the player is seeking to the end of the video and sending\n // adended too early\n // this is a bug in videojs or chrome\n this.player.on('adtimeupdate', adtimeupdateEvent => {\n // only when timeupdate is not 0 or length of the player we\n // can securely listen to the adended event event to trigger the next src\n if (\n this.adVideoDidStart === false &&\n this.player.currentTime() !== 0 &&\n // @ts-ignore\n this.player.currentTime() < inventoryToPlay.tracker.assetDuration\n ) {\n // video did start now\n this.adVideoDidStart = true;\n this.player.one('adended', ev => {\n this.state.indexOfCurrentAdInCurrentBlock += 1;\n // adended triggering playNextAdOrStopPlayingAds\n this.player.trigger('custom-ad-ended');\n this.playNextAdOrStopPlayingAds();\n });\n }\n });\n\n // for VAST we need to listen to the AdVideoComplete event\n this.playInventory(inventoryToPlay);\n\n return;\n }\n\n if (this.blocksToRequestAfterAdBlockFinished > 0) {\n this.blocksToRequestAfterAdBlockFinished--;\n this.somtagService.loadVideoAds('mid', 1, this.loadVideoAdsCallback);\n return;\n }\n\n this.hideAdModeControls();\n\n if (!this.state.vpaidAdUnit) {\n // vpaid ad units end linear ad mode by themself\n // console.log('endLinearAdMode');\n this.player.ads.endLinearAdMode();\n }\n this.player.trigger('ads-ad-ended');\n\n this.somtagService.loadDisplayAds();\n }\n\n private loadVideoAdsCallback = (error: Error, vastResponses: (VastResponse | {})[], vastClient: VastClient) => {\n if (!vastResponses || this.somtagResponseTimedOut) {\n console.warn('No inventory to play (no vast response)');\n let reason = 'unknown';\n if (!vastResponses) {\n reason = 'no vast response';\n }\n if (this.somtagResponseTimedOut) {\n reason = 'somtag-response-timed-out' + this.options.timeout;\n }\n this.player.trigger('ads-no-inventory-to-play', {\n block: this.state.currentAdBlock,\n reason: reason\n });\n this.player.ads.skipLinearAdMode();\n this.player.trigger('ads-ad-ended');\n return;\n }\n const validVastResponses = vastResponses.filter(vast => vast.hasOwnProperty('ads'));\n if (validVastResponses.length === 0) {\n console.warn('No inventory to play. emtpy vast response');\n this.player.trigger('ads-no-inventory-to-play', {\n block: this.state.currentAdBlock,\n reason: 'vast response is empty'\n });\n this.player.ads.skipLinearAdMode();\n this.player.trigger('ads-ad-ended');\n return;\n }\n if (error) {\n console.error('Somtag Error', error.message);\n }\n this.analyticsService.trackEvent('DebugAdsPlayAdBlock', {\n category: 'DebugAdsPlayAdBlock',\n event: 'DebugAdsPlayAdBlock',\n noninteraction: true,\n gtmCustom: {\n label: this.state.currentAdBlock || 'unknown'\n }\n });\n\n this.showAdModeControls();\n\n this.state.inventory = [];\n\n validVastResponses.forEach((vast: VastResponse) => {\n vast.ads.forEach(ad => {\n ad.creatives.forEach((creative: VastCreative) => {\n if (creative.type !== 'linear') {\n console.warn('can not load companion creative');\n return;\n }\n // a creative can have more than one mediafile, but we do not care\n const mediaFile = creative.mediaFiles.find(\n file => file.mimeType === 'video/mp4' || file.mimeType === 'application/javascript'\n );\n\n if (mediaFile && mediaFile.fileURL.startsWith('https://ad.71i.de/images/fallback/')) {\n mediaFile.mimeType = 'fallback';\n }\n const tracker: VastTracker = new mywindow.VAST.VASTTracker(vastClient, ad, creative);\n if (mediaFile) {\n this.state.inventory.push({\n media: {\n src: mediaFile.fileURL,\n type: mediaFile.mimeType\n },\n adParameters: creative.adParameters,\n tracker: tracker\n });\n } else {\n console.warn('media file not playable', creative);\n }\n });\n });\n });\n if (this.state.inventory.length === 0) {\n console.warn('No inventory to play (no inventory)');\n this.player.trigger('ads-no-inventory-to-play', {\n block: this.state.currentAdBlock,\n reason: 'vast response empty after parsing'\n });\n this.player.ads.skipLinearAdMode();\n this.player.trigger('ads-ad-ended');\n\n return;\n }\n\n // tell videojs to load the ad\n // tell ads plugin we're ready to play our ad\n this.player.ads.startLinearAdMode();\n\n this.player.trigger('ads-ad-started');\n this.playNextAdOrStopPlayingAds();\n };\n\n private onVPAIDLoad(err, adUnit, adParameters, vjsTechEl) {\n this.state.vpaidAdUnit = adUnit;\n if (err) {\n console.error(err);\n return;\n }\n\n const adLoaded = () => {\n this.player.pause();\n adUnit.startAd(function (error) {\n if (error) {\n console.error(error);\n }\n });\n };\n adUnit.subscribe('AdLoaded', adLoaded);\n\n [\n 'AdStopped',\n 'AdSkipped',\n 'AdLinearChange',\n 'AdDurationChange',\n 'AdExpandedChange',\n 'AdRemainingTimeChange', // [Deprecated in 2.0] but will be still fired for backwards compatibility\n 'AdVolumeChange',\n 'AdImpression',\n 'AdVideoStart',\n 'AdVideoFirstQuartile',\n 'AdVideoMidpoint',\n 'AdVideoThirdQuartile',\n 'AdVideoComplete',\n 'AdInteraction',\n 'AdUserAcceptInvitation',\n 'AdUserMinimize',\n 'AdUserClose',\n 'AdPaused',\n 'AdPlaying',\n 'AdLog',\n 'AdError',\n 'AdSkippableStateChange',\n 'AdClickThru',\n 'AdStarted',\n 'AdLoaded'\n ].forEach(event => {\n const play = this.player;\n adUnit.subscribe(event, function () {\n play.trigger('vpaid-' + event, arguments);\n });\n });\n\n adUnit.subscribe('AdSizeChange', () => {\n this.player.trigger('vpaid-AdSizeChange', window.innerHeight === screen.height);\n });\n\n adUnit.subscribe('AdLoaded', () => {\n adUnit.startAd();\n });\n\n adUnit.subscribe('AdVideoComplete', () => {\n this.state.vpaidAdUnit = null;\n const vpaidContainer = document.getElementById('VPAID-container');\n vpaidContainer.parentElement.removeChild(vpaidContainer);\n // do not end linearAdMode here.. there could be another ad\n this.playNextAdOrStopPlayingAds();\n });\n\n adUnit.subscribe('AdStopped', () => {\n // gets called when ad is skipped?\n this.state.vpaidAdUnit = null;\n const vpaidContainer = document.getElementById('VPAID-container');\n vpaidContainer.parentElement.removeChild(vpaidContainer);\n // do not end linearAdMode here.. there could be another ad!\n this.player.trigger('adended');\n });\n\n adUnit.handshakeVersion('2.0', (error, result) => {\n if (error) {\n console.error('handshake error', error);\n }\n const callback = function (err2) {\n if (err2) {\n console.error(err2);\n }\n };\n // width, height, viewMode, desiredBitrate, creativeData, environmentVars, errorCallback\n adUnit.initAd(\n this.player.currentWidth(),\n this.player.currentHeight(),\n 'normal',\n -1,\n { AdParameters: adParameters },\n {},\n callback\n );\n });\n\n this.player.on('playerresize', () => {\n adUnit.resizeAd(this.player.currentWidth(), this.player.currentHeight(), 'normal');\n });\n }\n\n private addControlBarText(name: string, text: string, cssClass: string) {\n const DefaultComponent = mywindow.videojs.getComponent('Component');\n const AdText = mywindow.videojs.extend(DefaultComponent, {\n options: {},\n constructor: function (_, options) {\n this.options = options;\n DefaultComponent.apply(this, arguments);\n if (options.text) {\n this.options = options;\n this.updateTextContent(options.text);\n }\n },\n createEl: function () {\n return mywindow.videojs.dom.createEl('div', {\n className: this.options.cssClass\n });\n },\n updateTextContent: function (controlBarText) {\n if (typeof controlBarText !== 'string') {\n controlBarText = 'Text Unknown';\n }\n mywindow.videojs.dom.emptyEl(this.el());\n mywindow.videojs.dom.appendContent(this.el(), controlBarText);\n }\n });\n mywindow.videojs.registerComponent(name, AdText);\n this.player.getChild('controlBar').addChild(name, { text, cssClass }, 0);\n }\n\n private addCustomRemainingTime() {\n const RemainingTimeDisplay = mywindow.videojs.getComponent('RemainingTimeDisplay');\n const CustomRemainingTimeDisplay = mywindow.videojs.extend(RemainingTimeDisplay, {\n constructor: function () {\n RemainingTimeDisplay.apply(this, arguments);\n },\n formatTime_: function (time) {\n return mywindow.videojs.formatTime(Math.abs(time));\n },\n buildCSSClass() {\n return 'vjs-custom-remaining-time';\n }\n });\n mywindow.videojs.registerComponent('CustomRemainingTimeDisplay', CustomRemainingTimeDisplay);\n this.player.getChild('controlBar').addChild('CustomRemainingTimeDisplay', {}, 0);\n }\n\n private onWindowScroll() {\n if (this.state === null || !this.player.ads.isInAdMode()) {\n return;\n }\n\n if (this.state.vpaidAdUnit) {\n this.state.vpaidAdUnit.resumeAd();\n }\n if (!this.isElementInViewport(this.player.el().querySelector('.vjs-tech'))) {\n if (!this.player.paused()) {\n this.playerPausedBySystem = true;\n }\n this.player.pause();\n if (this.state.vpaidAdUnit) {\n this.state.vpaidAdUnit.pauseAd();\n }\n } else if (this.playerPausedBySystem) {\n this.player.play();\n this.playerPausedBySystem = false;\n }\n }\n\n private isElementInViewport(el) {\n const rect = el.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) /*or $(window).height() */ &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */\n );\n }\n\n private playInventory(inventory: { tracker: VastTracker; media: SourceObject; adParameters?: string }) {\n this.player.trigger('set-tracker', inventory.tracker);\n\n if (inventory.media.type === 'fallback') {\n inventory.tracker.trackImpression();\n inventory.tracker.complete();\n\n this.analyticsService.trackEvent('DebugAdsFallbackAdSkipped', {\n category: 'DebugAdsFallbackAdSkipped',\n event: 'DebugAdsFallbackAdSkipped',\n noninteraction: true,\n gtmCustom: {\n label: this.state.currentAdBlock || 'unknown'\n }\n });\n this.state.inventory.shift();\n this.state.indexOfCurrentAdInCurrentBlock += 1;\n this.playNextAdOrStopPlayingAds();\n\n return;\n } else if (inventory.media.type === 'video/mp4') {\n this.player.src(inventory.media);\n\n setTimeout(() => {\n this.player.play();\n }, 10);\n\n this.player.trigger('adstarted', {\n inventory: inventory,\n block: this.state.currentAdBlock,\n indexOfCurrentAdInCurrentBlock: this.state.indexOfCurrentAdInCurrentBlock,\n numberOfMidRollsPlayed: this.state.numberOfMidRollsPlayed\n });\n } else if (inventory.media.type === 'application/javascript') {\n let params;\n try {\n params = JSON.parse(inventory.adParameters);\n } catch {\n console.warn('no JSON adParameters, trying XML');\n const domParser = new DOMParser();\n params = domParser.parseFromString(inventory.adParameters, 'text/xml');\n }\n\n const vjsTechEl = this.player.el().querySelector('.vjs-tech');\n const containerEl = document.createElement('div');\n containerEl.setAttribute('id', 'VPAID-container');\n\n this.player.el().appendChild(containerEl);\n const vpaid = new VPAIDHTML5CLIENT(containerEl, vjsTechEl, {}, { timeout: 10000, ...params });\n vpaid.loadAdUnit(inventory.media.src, (err, adUnit) =>\n this.onVPAIDLoad(err, adUnit, inventory.adParameters, vjsTechEl)\n );\n this.player.trigger('adstarted', {\n inventory: inventory,\n block: this.state.currentAdBlock,\n indexOfCurrentAdInCurrentBlock: this.state.indexOfCurrentAdInCurrentBlock,\n numberOfMidRollsPlayed: this.state.numberOfMidRollsPlayed\n });\n } else {\n console.warn('invalid ad inventory mime type skipping ad', inventory.media.type);\n }\n\n // finally remove the inventory from state\n this.state.inventory.shift();\n }\n}\n","import { VjsAgofPluginOptions } from '../../../../../../../@types/VjsAgofPluginOptions';\nimport * as videojs from 'video.js';\nimport { AGOF_CONTENT_TYPE, AgofEnum } from '../../../../../enum/agof.enum';\nimport { environment } from '../../../../../environments/environment';\n\n// @ts-ignore\nconst Plugin = window.videojs.getPlugin('plugin');\n\nexport default class AGOFPlugin extends Plugin {\n private agofRequestSentForContentType: AGOF_CONTENT_TYPE[] = [];\n private options: VjsAgofPluginOptions;\n\n constructor(player: videojs.default.Player, options: VjsAgofPluginOptions) {\n super(player, options);\n this.options = options;\n }\n\n public reset() {\n this.agofRequestSentForContentType = [];\n }\n\n public sendAgofRequest(contentType: AGOF_CONTENT_TYPE = AgofEnum.CONTENT_TYPE_VIDEO) {\n // only send the agof request once per video and only if ads are enabled\n if (this.agofRequestSentForContentType.includes(contentType) || (this.options && this.options.ads === false)) {\n return;\n }\n this.agofRequestSentForContentType.push(contentType);\n let agofEnumPage;\n if (window.location.pathname === '/') {\n if (environment.appName === 'sportdeutschland') {\n agofEnumPage = AgofEnum.HOMEPAGE_YES;\n } else {\n agofEnumPage = AgofEnum.HOMEPAGE_OF_THIRD_PARTY_DOMAIN;\n }\n } else {\n agofEnumPage = AgofEnum.HOMEPAGE_NO;\n }\n\n let coSecondPath;\n\n if (window.location.pathname === '/') {\n coSecondPath = '/';\n } else {\n coSecondPath = this.options.liveAsset\n ? '/livestream' + window.location.pathname + '/'\n : window.location.pathname + '/';\n }\n\n this.options.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.options.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n contentType,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n agofEnumPage,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n this.options.freeAsset ? AgofEnum.PAID_NO : AgofEnum.PAID_YES,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: this.options.liveAsset ? AgofEnum.CHANNEL_LIVE : AgofEnum.CHANNEL_DEFAULT,\n\n coSecondPart: coSecondPath,\n survey: false\n }\n }\n });\n }\n}\n","import * as videojs from 'video.js';\nimport { EmbeddedViewRef } from '@angular/core';\nimport { CustomPlayer } from '../../../../../../../@types/CustomPlayer';\nimport { VjsOverlayPluginOptions } from '../../../../../../../@types/VjsOverlayPluginOptions';\nimport { environment } from '../../../../../environments/environment';\nimport { fromEvent, timer } from 'rxjs';\nimport { OverlayModalComponent } from '../overlay-modal/overlay-modal.component';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n// @ts-ignore\nconst Plugin = window.videojs.getPlugin('plugin');\n\nexport default class VjsPluginOverlay extends Plugin {\n private options: VjsOverlayPluginOptions;\n private videojs;\n private player: CustomPlayer;\n private overlay: videojs.default.ModalDialog;\n\n private delayShow = 5000;\n private showDuration = 15000;\n\n constructor(player: CustomPlayer, options: VjsOverlayPluginOptions) {\n super(player, options);\n this.options = options;\n // @ts-ignore\n this.videojs = window.videojs;\n this.player = player;\n\n if (!['handball', 'sportdeutschland'].includes(environment.appName)) {\n return;\n }\n\n /**\n * Hide the teaser on this event\n */\n this.player.on('custom-overlay-plugin-hide', () => {\n if (this.overlay) {\n this.overlay.hide();\n }\n });\n\n const timeUpdate = new Subject();\n\n this.player.on('timeupdate', (e, data) => {\n timeUpdate.next(Math.round(this.player.currentTime()));\n });\n timeUpdate\n .asObservable()\n .pipe(distinctUntilChanged())\n .subscribe((time: number) => {\n const isZeroEvery15Minutes = time % 900;\n if (time > 0 && isZeroEvery15Minutes === 0) {\n this.player.trigger('custom-overlay-plugin-show');\n }\n });\n\n /**\n * Show the teaser on this event\n */\n\n this.player.on('custom-overlay-plugin-show', () => {\n if (new Date() > new Date(1619733600000)) {\n const timr = timer(this.delayShow).subscribe(() => {\n this.player.trigger('custom-overlay-plugin-shown');\n this.showTeaser();\n timr.unsubscribe();\n });\n }\n });\n\n this.player.on('custom-overlay-plugin-shown', () => {\n const timr = timer(this.showDuration).subscribe(() => {\n this.player.trigger('custom-overlay-plugin-hide');\n timr.unsubscribe();\n });\n });\n\n /**\n * show after ad block\n */\n this.player.one('ads-ad-ended', () => {\n this.player.trigger('custom-overlay-plugin-show');\n });\n\n /**\n * show after failed ad request\n */\n this.player.on('adtimeout', () => {\n this.player.trigger('custom-overlay-plugin-show');\n });\n\n /**\n * show after failed ad request\n */\n this.player.on('contentresumed', () => {\n this.player.trigger('custom-overlay-plugin-show');\n });\n\n this.player.on('nopreroll', () => {\n this.player.trigger('custom-overlay-plugin-show');\n });\n }\n\n public showTeaser() {\n const tpl: EmbeddedViewRef = this.options.viewContainer.createEmbeddedView(this.options.modalTemplate, {\n asset: this.options.asset\n });\n\n if (this.overlay) {\n this.overlay.dispose();\n }\n\n this.overlay = this.player.createModal(tpl.rootNodes[0], {\n pauseOnOpen: false,\n uncloseable: true,\n fillAlways: true\n });\n this.overlay.addClass('vjs-custom-overlay-modal');\n this.player.el().classList.remove('vjs-controls-disabled');\n\n this.player.on('show', () => {\n this.player.el().classList.remove('vjs-controls-disabled');\n });\n this.overlay.show();\n }\n}\n","import { VideoPlaylist } from '../../../../../entities/video-playlist.entity';\nimport * as videojs from 'video.js';\nimport { ChangeDetectorRef, EmbeddedViewRef } from '@angular/core';\nimport { PlaylistHandlerService } from '../../../../../services/playlist-handler.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { VjsPlaylistPluginOptions } from '../../../../../../../@types/VjsPlaylistPluginOptions';\n\nconst mywindow: any = window;\nconst Plugin = mywindow.videojs.getPlugin('plugin');\n\nexport default class PlaylistPlugin extends Plugin {\n public playlistOpened = false;\n public playlist: VideoPlaylist;\n private sidePlaylistOpened = false;\n\n private player: videojs.default.Player | any;\n private videojs;\n private currentIndex = 0;\n private playlistHandlerService: PlaylistHandlerService;\n private options: VjsPlaylistPluginOptions;\n private router: Router;\n private activatedRoute: ActivatedRoute;\n private cdr: ChangeDetectorRef;\n\n constructor(player: videojs.default.Player, options: VjsPlaylistPluginOptions) {\n // @ts-ignore\n super(player, options);\n this.player = player;\n this.options = options;\n this.playlist = options.playlist;\n this.playlistHandlerService = options.playlistHandlerService;\n this.videojs = mywindow.videojs;\n this.router = options.router;\n this.activatedRoute = options.activatedRoute;\n this.cdr = options.cdr;\n // @ts-ignore\n player.playlist(options.playlist);\n\n this.player.on('playlistitem', () => {\n // triggered when video reaches end -> play next video\n // @ts-ignore\n this.playlistHandlerService.goToPlaylistIndex(player.playlist.currentIndex());\n });\n // @ts-ignore\n player.playlist.autoadvance(0);\n this.addChapterButton();\n if (options.showPlaylistArrows) {\n this.addNextPreviousButtons();\n }\n this.addPlaylistButton();\n this.addPlaylistComponent(options.template);\n // this.addMarkers(options.playlist);\n\n this.playlistHandlerService.activePlaylistIndex.subscribe((val: { index: number; play: boolean }) => {\n let newUrl = window.location.href;\n\n if (window.location.search.includes('playlistId')) {\n newUrl = window.location.href.replace(`playlistId=${this.currentIndex}`, `playlistId=${val.index}`);\n } else if (!window.location.search) {\n newUrl += `?playlistId=${val.index}`;\n } else {\n newUrl += `&playlistId=${val.index}`;\n }\n window.history.replaceState({}, '', `${newUrl}`);\n\n this.currentIndex = val.index;\n if (!this.player) {\n return;\n }\n this.player.playlist.currentItem(val.index);\n this.player.trigger('playlist-item-changed');\n if (val.play === true) {\n this.player.play();\n }\n if (this.currentIndex === 0) {\n if (this.player.getChild('PreviousButton')) {\n this.player.getChild('PreviousButton').addClass('vjs-addOn-button-hide');\n }\n } else {\n if (this.player.getChild('PreviousButton')) {\n this.player.getChild('PreviousButton').removeClass('vjs-addOn-button-hide');\n }\n }\n if (this.currentIndex === this.playlist.length - 1) {\n if (this.player.getChild('NextButton')) {\n this.player.getChild('NextButton').addClass('vjs-addOn-button-hide');\n }\n } else {\n if (this.player.getChild('NextButton')) {\n this.player.getChild('NextButton').removeClass('vjs-addOn-button-hide');\n }\n }\n });\n this.playlistHandlerService.setPlaylist(options.playlist);\n if (this.activatedRoute.snapshot.queryParams.playlistId) {\n // @ts-ignore\n this.playlistHandlerService.goToPlaylistIndex(Number(this.activatedRoute.snapshot.queryParams.playlistId));\n } else {\n // @ts-ignore\n this.playlistHandlerService.goToPlaylistIndex(player.playlist.currentIndex());\n }\n\n this.playlistHandlerService.sidePlaylistOpen.subscribe(opened => {\n this.sidePlaylistOpened = opened;\n if (opened) {\n if (this.player.getChild('PlaylistButton')) {\n this.player.getChild('PlaylistButton').addClass('vjs-addOn-button-hide');\n }\n if (this.player.getChild('PreviousButton')) {\n this.player.getChild('PreviousButton').addClass('vjs-addOn-button-hide');\n }\n if (this.player.getChild('NextButton')) {\n this.player.getChild('NextButton').addClass('vjs-addOn-button-hide');\n }\n } else {\n if (this.player.getChild('PlaylistButton')) {\n this.player.getChild('PlaylistButton').removeClass('vjs-addOn-button-hide');\n }\n if (this.player.getChild('PreviousButton')) {\n this.player.getChild('PreviousButton').removeClass('vjs-addOn-button-hide');\n }\n if (this.player.getChild('NextButton')) {\n this.player.getChild('NextButton').removeClass('vjs-addOn-button-hide');\n }\n }\n });\n\n this.tooglePlaylistButtons();\n this.player.on('fullscreenchange', () => {\n this.tooglePlaylistButtons();\n });\n }\n\n private tooglePlaylistButtons() {\n if (!this.options.showPlaylistButton) {\n if (this.player.isFullscreen()) {\n if (this.player.getChild('PlaylistButton')) {\n this.player.getChild('PlaylistButton').removeClass('vjs-addOn-button-hide');\n }\n } else {\n if (this.player.getChild('PlaylistButton')) {\n this.player.getChild('PlaylistButton').addClass('vjs-addOn-button-hide');\n }\n }\n }\n if (!this.options.showChapterButton) {\n if (this.player.isFullscreen()) {\n this.player.getChild('controlBar').getChild('ChapterButton').removeClass('vjs-addOn-button-hide');\n } else {\n this.player.getChild('controlBar').getChild('ChapterButton').addClass('vjs-addOn-button-hide');\n }\n }\n }\n\n private addNextPreviousButtons() {\n const Button = this.videojs.getComponent('Button');\n\n const NextButton = this.videojs.extend(Button, {\n constructor: function () {\n Button.apply(this, arguments);\n this.addClass('vjs-playlist-next-button');\n this.addClass('vjs-addOn-button');\n this.controlText('Playlist');\n },\n handleClick: () => {\n if (this.currentIndex === this.playlist.length - 1) {\n return;\n }\n this.playlistHandlerService.goToPlaylistIndex(this.currentIndex + 1);\n }\n });\n this.videojs.registerComponent('NextButton', NextButton);\n this.player.addChild('NextButton', {});\n\n const PreviousButton = this.videojs.extend(Button, {\n constructor: function () {\n Button.apply(this, arguments);\n this.addClass('vjs-playlist-previous-button');\n this.addClass('vjs-addOn-button');\n this.controlText('Playlist');\n },\n handleClick: () => {\n if (this.currentIndex === 0) {\n return;\n }\n this.playlistHandlerService.goToPlaylistIndex(this.currentIndex - 1);\n }\n });\n this.videojs.registerComponent('PreviousButton', PreviousButton);\n this.player.addChild('PreviousButton', {});\n }\n\n private addPlaylistButton() {\n const Button = this.videojs.getComponent('Button');\n const PlaylistButton = this.videojs.extend(Button, {\n constructor: function () {\n Button.apply(this, arguments);\n this.addClass('vjs-playlist-button');\n this.addClass('fa');\n this.addClass('fa-bars');\n this.addClass('vjs-addOn-button');\n this.controlText('Playlist');\n },\n handleClick: () => {\n this.playlistHandlerService.toggleSidePlaylist(!this.sidePlaylistOpened);\n }\n });\n this.videojs.registerComponent('PlaylistButton', PlaylistButton);\n this.player.addChild('PlaylistButton', {});\n }\n\n private addChapterButton() {\n const Button = this.videojs.getComponent('Button');\n const ChapterButton = this.videojs.extend(Button, {\n constructor: function () {\n Button.apply(this, arguments);\n this.addClass('vjs-chapters-button');\n this.controlText('Szenen');\n },\n\n handleClick: () => {\n this.playlistHandlerService.toggleSidePlaylist(!this.sidePlaylistOpened);\n }\n });\n\n this.videojs.registerComponent('ChapterButton', ChapterButton);\n this.player.getChild('controlBar').addChild('ChapterButton', {}, 0);\n }\n\n private addPlaylistComponent(template: EmbeddedViewRef) {\n const VjsComponent = this.videojs.getComponent('Component');\n const PlaylistComponent = this.videojs.extend(VjsComponent, {\n constructor: function () {\n VjsComponent.apply(this, arguments);\n this.addClass('vjs-playlist-container');\n },\n el: function () {\n return template.rootNodes[0];\n }\n });\n this.videojs.registerComponent('PlaylistComponent', PlaylistComponent);\n this.player.addChild('PlaylistComponent');\n }\n\n private addMarkers(playlist: VideoPlaylist) {\n return;\n // let totalDuration = 0;\n // const markers = [];\n // playlist.forEach((elem: VideoPlaylistElement) => {\n // totalDuration += elem.duration;\n // markers.push({ time: totalDuration, text: elem.name });\n // });\n // this.player.markers({\n // markers: markers\n // });\n }\n}\n","import * as videojs from 'video.js';\n\nimport { VjsSharePluginOptions } from '../../../../../../../@types/VjsSharePluginOptions';\nimport { EmbeddedViewRef } from '@angular/core';\nimport { environment } from '../../../../../environments/environment';\n\n// @ts-ignore\nconst Plugin = window.videojs.getPlugin('plugin');\n\nexport default class SharePlugin extends Plugin {\n private options: VjsSharePluginOptions;\n private videojs;\n private player: videojs.default.Player | any;\n private shareModalDialog: any;\n private shareButtonShown: boolean;\n\n constructor(player: videojs.default.Player, options: VjsSharePluginOptions) {\n // @ts-ignore\n super(player, options);\n this.options = options;\n // @ts-ignore\n this.videojs = window.videojs;\n this.shouldShowShareButton(environment.player.showShareButton);\n }\n\n public shouldShowShareButton(show: boolean) {\n if (this.options.asset.flags && this.options.asset.flags.includes('noshare')) {\n show = false;\n }\n show ? this.addShareButton() : this.removeShareButton();\n }\n\n public showShareModal() {\n const tpl: EmbeddedViewRef = this.options.viewContainer.createEmbeddedView(\n this.options.shareModalTemplate,\n {\n asset: this.options.asset\n }\n );\n this.shareModalDialog = this.player.createModal(tpl.rootNodes[0]);\n document.getElementsByClassName('vjs-share-button')[0].classList.add('vjs-addOn-button-hide');\n this.shareModalDialog.on('modalclose', () => {\n document.getElementsByClassName('vjs-share-button')[0].classList.remove('vjs-addOn-button-hide');\n });\n }\n\n public hideShareModal() {\n if (this.shareModalDialog) {\n this.shareModalDialog.close();\n }\n }\n\n private removeShareButton() {\n if (this.shareButtonShown === false) {\n return;\n }\n this.shareButtonShown = false;\n this.hideShareModal();\n this.player.removeChild('ShareButton');\n }\n\n private addShareButton() {\n if (this.shareButtonShown === true) {\n return;\n }\n this.shareButtonShown = true;\n const Button = this.videojs.getComponent('Button');\n const ShareButton = this.videojs.extend(Button, {\n constructor: function () {\n Button.apply(this, arguments);\n this.addClass('vjs-share-button');\n this.addClass('fa');\n this.addClass('fa-share-alt');\n this.addClass('vjs-addOn-button');\n this.controlText('Share');\n },\n handleClick: event => {\n event.stopPropagation();\n this.options.cdr.detectChanges();\n this.showShareModal();\n }\n });\n this.videojs.registerComponent('ShareButton', ShareButton);\n this.addComponent('ShareButton');\n }\n\n private addComponent(component: string, toParent: any = this.player) {\n toParent.addChild(component, {});\n }\n}\n","import { VastCreative, VastTracker } from '../../../../../../../@types/vast-client';\nimport { GtmOptions, VjsTrackingPluginOptions } from '../../../../../../../@types/VjsTrackingPluginOptions';\nimport { v4 as uuidv4 } from 'uuid';\nimport { interval, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Action, ObjectType, Teaser } from '../../../../../entities/user-event.entity';\nimport { environment } from '../../../../../environments/environment';\n\nimport { CustomPlayer } from '../../../../../../../@types/CustomPlayer';\nimport { RawAssetFromApi } from '../../../../../entities/raw-asset-from-api.entity';\nimport { Playlist } from '../../../../../entities/playlist.entity';\nimport { Section } from '../../../../../entities/section.entity';\nimport { Page } from '../../../../../entities/page.entity';\n\n// @ts-ignore\nconst Plugin = window.videojs.getPlugin('plugin');\n\nexport default class TrackingPlugin extends Plugin {\n private videoStarted = false;\n private centiles: { [key: string]: number } = {};\n private alreadyTriggeredCentiles: { [key: string]: boolean } = {};\n private minuteTimer: any;\n private fiveMinuteTimer: any;\n private player: CustomPlayer;\n private currentVastTracker: VastTracker;\n private playingVPAID = false;\n private gtmOptions: GtmOptions;\n private viewTimeUntilAdBlock = 0;\n private stopViewTimeInterval: Subject;\n\n constructor(player: CustomPlayer, options: VjsTrackingPluginOptions) {\n super(player, options);\n this.player = player;\n\n const asset = options.asset;\n const trackingVideotype = asset.live ? 'live' : 'full';\n\n this.gtmOptions = {\n videotype: trackingVideotype,\n showFormat: options.showFormat,\n domain: environment.tracking.customDomain ? environment.tracking.customDomain : window.location.hostname,\n channel: options.channel,\n format: options.format,\n kanal: options.kanal,\n title: asset.label,\n id: asset.uuid,\n adfree: !this.player.options().adsActive,\n inSyndicationPlayer: options.inSyndicationPlayer,\n wholesaler: options.syndicationOrigin,\n videoLifecycleID: uuidv4(),\n clipLength: asset.seconds,\n videoViews: 0,\n viewTime: 0,\n teams: asset.teams.toString(),\n season: asset.saison.toString(),\n leaguesCups: asset.wettbewerb_event.toString(),\n genre: asset.genre.toString(),\n playingVenue: asset.ort.toString(),\n clipSubType: asset.video_kategorie.toString(),\n subscriptionModel: options.userHasSubscriptionWhichRemovesAds ? 'Abo' : 'noSub',\n payContent: !asset.contents_freely_accessible,\n positionTime: 0,\n sourceCompany: options.sourceCompany,\n productionPartner: asset.production_partner.toString()\n };\n\n this.emitToAnalyticsService('Init', {\n category: 'Init',\n noninteraction: true,\n gtmCustom: this.gtmOptions\n });\n\n // PLAYER EVENTS (should not be triggered during ad break)\n\n this.player.on('playing', () => {\n // first isPlaying event is used to track video start (triggered after preroll if adsPlugin is registered).\n if (!this.player.seeking() && !this.isInAdMode && !this.videoStarted) {\n this.videoStarted = true;\n this.gtmOptions.viewTime = 0;\n (this.gtmOptions.videoLifecycleID = uuidv4()),\n (this.gtmOptions.clipLength = isFinite(this.player.duration())\n ? Math.round(this.player.duration())\n : 0);\n this.emitToAnalyticsService('Video Start', {\n category: 'Video Start',\n gtmCustom: this.gtmOptions\n });\n\n this.emitToUserProfileService(ObjectType.asset, Action.play, options.asset, {\n position: this.gtmOptions.positionTime,\n total_view_time: this.gtmOptions.viewTime,\n ads: this.player.options().adsActive,\n full_screen: this.player.isFullscreen()\n });\n\n if (this.gtmOptions.videotype === 'live') {\n this.minuteTimer = setInterval(() => {\n this.emitToAnalyticsService('Position Update', {\n category: 'Position Update',\n gtmCustom: this.gtmOptions\n });\n if (this.player.currentTime() > 60 * 5) {\n clearInterval(this.minuteTimer);\n this.fiveMinuteTimer = setInterval(() => {\n this.emitToAnalyticsService('Position Update', {\n category: 'Position Update',\n gtmCustom: this.gtmOptions\n });\n }, 1000 * 60 * 5);\n }\n }, 1000 * 60);\n } else if (this.gtmOptions.videotype === 'full') {\n this.alreadyTriggeredCentiles = {};\n for (let i = 1; i <= 10; i++) {\n this.centiles = {\n ...this.centiles,\n [i * 10]: Math.round(i * 10 * this.player.duration()) / 100\n };\n }\n }\n }\n });\n\n this.stopViewTimeInterval = new Subject();\n const interv = interval(1000);\n interv.pipe(takeUntil(this.stopViewTimeInterval)).subscribe(() => {\n if (!this.player) {\n return;\n }\n let viewTime = this.viewTimeUntilAdBlock;\n for (let i = 0; i < this.player.played().length; i++) {\n viewTime += this.player.played().end(i) - this.player.played().start(i);\n }\n this.gtmOptions.viewTime = Math.round(viewTime);\n const progress = this.player.currentTime();\n this.gtmOptions.positionTime = Math.round(progress);\n if (this.gtmOptions.videotype === 'full') {\n for (const centile in this.centiles) {\n if (this.justPassedCentil(this.centiles[centile], progress, centile)) {\n this.emitToAnalyticsService(`Video XX%`, {\n category: `Video XX%`,\n gtmCustom: this.gtmOptions,\n value: centile\n });\n this.alreadyTriggeredCentiles[centile] = true;\n }\n }\n }\n });\n\n // selected another clip from the playlist\n this.player.on('playlistitem', () => {\n this.gtmOptions.videoLifecycleID = uuidv4();\n this.videoStarted = false;\n });\n this.player.on('contentchanged', () => {\n this.videoStarted = false;\n });\n\n this.player.one('click', () => {\n this.emitToAnalyticsService('Videostart Click', {\n category: 'Videostart Click',\n gtmCustom: this.gtmOptions\n });\n });\n\n this.player.on('click', event => {\n if (this.isInAdMode && event.target.classList.contains('vjs-tech') && this.currentVastTracker) {\n this.currentVastTracker.click();\n }\n });\n this.player.on('touchend', event => {\n if (this.isInAdMode && event.target.classList.contains('vjs-tech') && this.currentVastTracker) {\n this.currentVastTracker.click();\n }\n });\n\n this.player.on('ended', event => {\n // If ads are active we will use the readyforpostroll event.\n if (!this.player.options().adsActive) {\n this.videoStarted = false;\n clearInterval(this.minuteTimer);\n clearInterval(this.fiveMinuteTimer);\n this.emitToAnalyticsService('Video Completed', {\n category: 'Video Completed',\n gtmCustom: this.gtmOptions\n });\n }\n });\n\n this.player.on('fullscreenchange', (event: Event) => {\n if (this.currentVastTracker) {\n this.currentVastTracker.setFullscreen(this.player.isFullscreen());\n }\n\n this.emitToUserProfileService(ObjectType.asset, Action.fullscreen_change, options.asset, {\n position: this.gtmOptions.positionTime,\n total_view_time: this.gtmOptions.viewTime,\n ads: this.player.options().adsActive,\n full_screen: this.player.isFullscreen()\n });\n });\n\n this.player.on('lifecycleabort', () => {\n clearInterval(this.minuteTimer);\n clearInterval(this.fiveMinuteTimer);\n this.stopViewTimeInterval.next(true);\n this.gtmOptions.error = 'user induced';\n this.emitToAnalyticsService('Lifecycle Abort', {\n category: 'Lifecycle Abort',\n gtmCustom: this.gtmOptions\n });\n });\n\n // // AD BREAK EVENTS (fired once per ad break, not per ad)\n\n this.player.on('ads-ad-started', () => {\n this.viewTimeUntilAdBlock = this.gtmOptions.viewTime;\n });\n\n // AD EVENTS (fired once per ad)\n\n // While ads are beeing played, all player events are catched by the videojs-contrib-ads plugin and forwarded as 'ad${event}'\n\n this.player.on('adcanplay', () => {\n if (this.currentVastTracker) {\n try {\n this.currentVastTracker.setDuration(this.player.duration());\n this.currentVastTracker.trackImpression();\n } catch (e) {\n console.error('vast tracker catched playerError in adcanplay', e);\n }\n }\n });\n\n // triggered for each ad in ad-block\n this.player.on(\n 'adstarted',\n (\n event,\n data: {\n inventory: any;\n block: string;\n indexOfCurrentAdInCurrentBlock: number;\n numberOfMidRollsPlayed: number;\n }\n ) => {\n this.currentVastTracker = data.inventory.tracker;\n\n try {\n const registeredEvents = [];\n data.inventory.tracker.ad.creatives.forEach((creative: VastCreative) => {\n Object.keys(creative.trackingEvents).forEach(trEvent => {\n creative.trackingEvents[trEvent].forEach(eventUrl => {\n registeredEvents.push({\n action: trEvent,\n url: eventUrl\n });\n });\n });\n });\n } catch (e) {\n console.error(e);\n }\n\n this.currentVastTracker.on('clickthrough', url => {\n if (this.isInAdMode && !this.playingVPAID) {\n const win = window.open();\n // win.opener = null;\n win.location = url;\n }\n });\n\n let adBlock = data.block;\n if (adBlock === 'mid') {\n adBlock += 'roll' + data.numberOfMidRollsPlayed;\n } else {\n adBlock += 'roll1';\n }\n if (data.indexOfCurrentAdInCurrentBlock !== 0) {\n adBlock += String.fromCharCode(97 + data.indexOfCurrentAdInCurrentBlock);\n }\n this.gtmOptions.adBlock = adBlock;\n this.currentVastTracker.setPaused(false);\n this.emitToAnalyticsService('Ad Start', {\n category: 'Ad Start',\n gtmCustom: this.gtmOptions\n });\n this.gtmOptions.adBlock = undefined;\n }\n );\n\n this.player.on('adtimeupdate', event => {\n if (this.currentVastTracker) {\n this.currentVastTracker.setProgress(this.player.currentTime());\n }\n });\n\n this.player.on('adpause', event => {\n if (this.currentVastTracker) {\n this.currentVastTracker.setPaused(true);\n }\n });\n\n this.player.on('custom-ad-ended', () => {\n if (this.currentVastTracker) {\n this.currentVastTracker.complete();\n this.currentVastTracker = null;\n }\n });\n\n this.player.on('advolumechange', () => {\n if (this.currentVastTracker) {\n this.currentVastTracker.setMuted(this.player.muted());\n }\n });\n\n this.player.on('readyforpostroll', () => {\n // Track video completed before postroll starts. Only when adsPlugin is registered, otherwise ended event is used.\n if (this.player.options().adsActive) {\n this.emitToAnalyticsService('Video Completed', {\n category: 'Video Completed',\n gtmCustom: this.gtmOptions\n });\n }\n });\n\n this.player.on('ads-no-inventory-to-play', (event, data: { block: string; reason: string }) => {\n this.gtmOptions.adBlock = data.block;\n this.emitToAnalyticsService('DebugAdsError', {\n category: 'DebugAdsError',\n event: 'DebugAdsError',\n noninteraction: true,\n gtmCustom: {\n label: data.block + '_' + data.reason\n }\n });\n\n this.gtmOptions.adBlock = undefined;\n });\n\n // only log ONE playerError per player.. this could flood gtm\n this.player.one('error', (error, mess, test) => {\n this.emitToAnalyticsService('Player Error', {\n gtmCustom: {\n // @ts-ignore\n error: this.player.error_.message || 'Unknown Player Error'\n }\n });\n });\n\n this.player.on('custom-overlay-plugin-shown', (event, data) => {\n this.emitToAnalyticsService('Player Overlay Teaser Shown', {\n category: 'Player',\n event: 'Player Overlay Teaser Shown',\n noninteraction: true,\n gtmCustom: this.gtmOptions\n });\n });\n\n /**\n * Register the VPAID events and link them to the currentVastTracker Actions\n */\n\n // this.player.on('vpaid-AdStopped', (args) => {});\n this.player.on('vpaid-AdSkipped', args => this.currentVastTracker.skip());\n this.player.on('vpaid-AdSizeChange', (event, isFullScreeen) => {\n // even tough this callback gets called twice, vasttracker only sends one request :)\n this.currentVastTracker.setFullscreen(isFullScreeen);\n });\n\n // this.player.on('vpaid-AdLinearChange', (args) => this.currentVastTracker.)\n // this.player.on('vpaid-AdDurationChange', (args) => this.currentVastTracker.)\n // this.player.on('vpaid-AdExpandedChange', (args) => this.currentVastTracker.)\n // this.player.on('vpaid-AdRemainingTimeChange', args() => this.currentVastTracker)\n // this.player.on('vpaid-AdVolumeChange', (args) => this.currentVastTracker.))\n this.player.on('vpaid-AdImpression', args => this.currentVastTracker.trackImpression());\n // this.player.on('vpaid-AdVideoStart', (args) => {);\n this.player.on('vpaid-AdVideoFirstQuartile', args => this.currentVastTracker.setProgress(25));\n this.player.on('vpaid-AdVideoMidpoint', args => this.currentVastTracker.setProgress(50));\n this.player.on('vpaid-AdVideoThirdQuartile', args => this.currentVastTracker.setProgress(75));\n\n // this.player.on('vpaid-AdInteraction', (args) => this.currentVastTracker.)\n // this.player.on('vpaid-AdUserAcceptInvitation', (args) => this.currentVastTracker.)\n // this.player.on('vpaid-AdUserMinimize', (args) => this.currentVastTracker.)\n // this.player.on('vpaid-AdUserClose', (args) => this.currentVastTracker.)\n this.player.on('AdPaused', args => this.currentVastTracker.setPaused(true));\n this.player.on('AdPlaying', args => this.currentVastTracker.setPaused(false));\n // this.player.on('AdLog', (args) => this.currentVastTracker.)\n // this.player.on('AdError', (args) => this.currentVastTracker.setExpand())\n // this.player.on('AdSkippableStateChange', (args) => this.currentVastTracker.)\n\n this.player.on('vpaid-AdClickThru', args => {\n this.currentVastTracker.click();\n });\n\n this.player.on('vpaid-AdLoaded', () => {\n this.playingVPAID = true;\n });\n this.player.on('vpaid-AdVideoComplete', () => {\n this.playingVPAID = false;\n });\n\n window.onbeforeunload = () => {\n if (this.isInAdMode) {\n this.currentVastTracker.close();\n }\n // prevent the browsers alert window\n return undefined;\n };\n\n /**\n * List of known Player Events:\n\n 'play',\n 'pause', // also triggered when seeking (pause -> isPlaying). not triggered before ad-block starts.\n 'ended',\n 'emptied',\n 'loadeddata', // Fired when the player has downloaded data at the current playback position\n 'loadstart', // Fired when the user agent begins looking for media data\n 'canplay', // The media has a readyState of HAVE_FUTURE_DATA or greater.\n 'stalled',\n 'waiting',\n 'seeked',\n 'ratechange',\n 'ads-ad-ended',\n 'ads-ad-started',\n 'ads-ad-willfetch',\n 'adstarted',\n 'adsready',\n 'adplay',\n 'adpause',\n 'adend',\n 'adended',\n 'adcanplay',\n 'contentresumed',\n 'custom-ad-ended',\n 'adcontentchanged',\n 'adscontentchanged',\n 'contentchanged',\n 'adtimeout',\n 'readyforpostroll',\n 'readyformidroll',\n 'readyforpreroll',\n 'nopreroll',\n 'contentplayback',\n 'playlist-item-changed',\n 'lifecycleabort',\n 'isPlaying',\n 'resumeended', // contrib-ads: Snapshot restore is done, so now we're really finished.\n 'contentcanplay', // contrib-ads\n 'fullscreenchange',\n 'playlistitem',\n 'timeupdate', // NOT reliable\n */\n }\n\n get isInAdMode() {\n if (this.player && this.player.hasOwnProperty('ads')) {\n return this.player.ads.isInAdMode();\n } else {\n return false;\n }\n }\n\n private justPassedCentil(centilTime: number, progress: number, centil: string): boolean {\n return centilTime >= progress - 1 && centilTime <= progress + 1 && !this.alreadyTriggeredCentiles[centil];\n }\n\n private emitToAnalyticsService(action: string, properties: any) {\n this.player.trigger('analytics-service', {\n action: action,\n properties: properties\n });\n }\n\n private emitToUserProfileService(\n objectType: ObjectType,\n action: Action,\n object: RawAssetFromApi | Playlist | Section | Page | Teaser | any,\n extras?: {\n position?: number;\n total_view_time?: number;\n ads?: boolean;\n full_screen?: boolean;\n },\n custom?: JSON\n ) {\n this.player.trigger('user-profile-service', {\n objectType: objectType,\n action: action,\n object: object,\n extras: extras,\n custom: custom\n });\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Asset } from '../../../../../entities/asset.entity';\nimport { environment } from '../../../../../environments/environment';\n\n@Component({\n selector: 'app-share-modal',\n templateUrl: './share-modal.component.html'\n})\nexport class ShareModalComponent implements OnInit {\n public shareModalMode: 'share' | 'embed';\n public codeCopied = false;\n public embedCode: string;\n public canBeEmbedded: boolean;\n\n @Input() public asset: Asset;\n\n public shareUrls = {\n url: window.location.href,\n fb: 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(window.location.href),\n twitter: 'http://twitter.com/share?url=' + window.location.href\n };\n\n constructor() {\n this.shareModalMode = 'share';\n }\n\n public ngOnInit(): void {\n if (\n this.asset.contents_freely_accessible === false ||\n (this.asset.flags && this.asset.flags.includes('noembed'))\n ) {\n this.canBeEmbedded = false;\n this.asset = null;\n return;\n }\n this.canBeEmbedded = true;\n\n let height = 360;\n if (environment.player.embedded.showTitle && !this.asset.hide_title_in_embedded_player) {\n height += 60;\n }\n this.embedCode =\n '';\n }\n}\n","import { VideoPlaylist } from '../../../../../entities/video-playlist.entity';\nimport { Component, Input } from '@angular/core';\nimport { PlaylistHandlerService } from '../../../../../services/playlist-handler.service';\n\n@Component({\n selector: 'app-video-bottom-playlist',\n templateUrl: './video-bottom-playlist.component.html'\n})\nexport class VideoBottomPlaylistComponent {\n public playlist: VideoPlaylist;\n public currentIndex: number;\n @Input() public showBottomPlaylist: boolean;\n\n constructor(private playlistHandlerService: PlaylistHandlerService) {\n this.playlistHandlerService.activePlaylistIndex.subscribe((val: { index: number; play: boolean }) => {\n this.currentIndex = val.index;\n const element = document.getElementById('video-bottom-playlist-video-' + val.index);\n if (element) {\n const parentOffsetTop = document.getElementById('video-bottom-playlist-content').offsetTop;\n document.getElementById('video-bottom-playlist-content').scrollTop =\n element.offsetTop - parentOffsetTop;\n }\n });\n\n this.playlistHandlerService.playlist.subscribe(playlist => {\n this.playlist = playlist;\n });\n }\n\n public goToIndex(index: number, play: boolean = false): void {\n this.playlistHandlerService.goToPlaylistIndex(index, play);\n }\n}\n","import { PlaylistHandlerService } from '../../../../../services/playlist-handler.service';\nimport { Component } from '@angular/core';\nimport { VideoPlaylist } from '../../../../../entities/video-playlist.entity';\n\n@Component({\n selector: 'app-video-playlist',\n templateUrl: './video-playlist.component.html'\n})\nexport class VideoPlaylistComponent {\n public opened = false;\n public playlist: VideoPlaylist;\n public currentIndex: number;\n\n constructor(private playlistHandlerService: PlaylistHandlerService) {\n this.playlistHandlerService.activePlaylistIndex.subscribe((value: { index: number; play: boolean }) => {\n this.currentIndex = value.index;\n });\n this.playlistHandlerService.playlist.subscribe(playlist => {\n this.playlist = playlist;\n });\n this.playlistHandlerService.sidePlaylistOpen.subscribe(opened => (this.opened = opened));\n }\n\n public goToIndex(index: number): void {\n this.playlistHandlerService.goToPlaylistIndex(index);\n this.closePlaylist();\n }\n\n public closePlaylist() {\n this.playlistHandlerService.toggleSidePlaylist(false);\n }\n}\n","import { PlaylistHandlerService } from '../../../../services/playlist-handler.service';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { Video } from '../../../../entities/video.entity';\nimport * as videojs from 'video.js';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../../environments/environment';\nimport { AssetAuthorizationEntity } from '../../../../entities/asset-authorization.entity';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\nimport { timer } from 'rxjs/internal/observable/timer';\nimport AdsPlugin from './plugins/vjs.plugin.ads';\nimport TrackingPlugin from './plugins/vjs.plugin.tracking';\nimport PlaylistPlugin from './plugins/vjs.plugin.playlist';\nimport SharePlugin from './plugins/vjs.plugin.share';\nimport { InactivityService } from '../../../../services/inactivity.service';\nimport { SomtagService } from '../../../../services/somtag.service';\nimport { PageVisibilityService } from '../../../../services/page-visibility.service';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { VideoPlaylist, VideoPlaylistElement } from '../../../../entities/video-playlist.entity';\nimport * as moment from 'moment';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { EmbeddedModeService } from '../../../../services/embedded-mode.service';\nimport AGOFPlugin from './plugins/vjs.plugin.agof';\nimport { AgofService } from '../../../../services/agof.service';\nimport { CustomPlayer } from '../../../../../../@types/CustomPlayer';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { map, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { AdState, VideoState } from '../states';\nimport { LiveMidrollService } from '../../../../services/api/methods/live-midroll.service';\nimport landscapeFullscreen from 'videojs-landscape-fullscreen';\nimport { PlayerErrorEnum } from '../../../../enum/player-error.enum';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserProfileService } from '../../../../services/user-profile.service';\nimport { Asset } from '../../../../entities/asset.entity';\nimport { AssetsService } from '../../../../services/api/methods/assets.service';\nimport { Subject } from 'rxjs';\nimport { of } from 'rxjs/internal/observable/of';\nimport { BrowserInfo } from 'detect-browser';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport VjsPluginOverlay from './plugins/vjs.plugin.overlay';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { Action, ObjectType, Teaser } from '../../../../entities/user-event.entity';\nimport { RawAssetFromApi } from '../../../../entities/raw-asset-from-api.entity';\nimport { Playlist } from '../../../../entities/playlist.entity';\nimport { Section } from '../../../../entities/section.entity';\nimport { Page } from '../../../../entities/page.entity';\nimport { GtmOptions } from '../../../../../../@types/VjsTrackingPluginOptions';\nimport hlsQualitySelector from '../video/plugins/videojs-hls-quality-selector';\nimport { PlayerStateEnum } from '../../../../enum/player-state.enum';\nimport { ConsentService } from '../../../../modules/consent/consent.service';\n\nrequire('videojs-contrib-quality-levels');\n\n@Component({\n selector: 'app-video',\n templateUrl: './video.component.html'\n})\nexport class VideoComponent implements OnDestroy, OnChanges, OnInit {\n public environment = environment;\n public playingAd = false;\n public playingVPAIDAd = false;\n @Input() public browser: BrowserInfo;\n @Input() public assetCount: number;\n @Input() public playlistButton = true;\n @Input() public chapterButton = true;\n @Input() public showOverlay = true;\n @Input() public allowFullscreen = true;\n @Input() public playlistArrows = false;\n @Input() public fullscreenToggleRequestlistener: EventEmitter;\n @Input() public externalFullscreenChangedEmitter: EventEmitter;\n @Input() public playEvent: Observable = null;\n @Input() public width?: number;\n @Input() public autoplay = false;\n @Input() public preload: 'none' | 'auto' | 'metadata' = 'auto';\n @Input() public muted = false;\n @ViewChild('videoPlayer', { static: true }) public videoPlayer: ElementRef;\n @ViewChild('container', { static: true }) public container: ElementRef;\n public video: Video;\n public showGameFrame = environment.envName === 'stage' && environment.appName === 'sportdeutschland';\n // public isLoadingVideo = false;\n public player?: CustomPlayer;\n public playerId: string;\n public videojs: any;\n public activityPinger: Subscription;\n public videoAboutToLoad = false;\n public isEmbedded = false;\n @Output() public videoStateChanged: EventEmitter = new EventEmitter();\n @Output() public mediaError: EventEmitter = new EventEmitter();\n @Output() public playerState: EventEmitter = new EventEmitter();\n @Output() public adStateChanged: EventEmitter = new EventEmitter();\n @Output() public isPlaying: EventEmitter = new EventEmitter();\n @Output() public isPlayingAd: EventEmitter = new EventEmitter();\n @Output() public requestFullscreenToggle: EventEmitter = new EventEmitter();\n @Output() public videoJsEvents: EventEmitter = new EventEmitter();\n @Output() public toggleConferenceMode: EventEmitter = new EventEmitter();\n private customControlBarComponents: videojs.default.Component[] = [];\n private playEventSubscription: Subscription = null;\n private updateToPlayerLang: Subscription = null;\n @ViewChild('shareModalTemplate', { static: true }) private shareModalTemplate: TemplateRef;\n\n @ViewChild('infoI', { static: true }) private infoI: TemplateRef;\n @ViewChild('overlayTemplate', { static: true }) private overlayTemplate: TemplateRef;\n @ViewChild('playListTemplate', { static: true }) private playListTemplate: TemplateRef;\n @ViewChild('brandingTemplate', { static: true }) private brandingTemplate: TemplateRef;\n private syndicationDomain: string = null;\n private userHasSubscriptionWhichRemovesAds = false;\n private disposeAll: Subject = new Subject();\n private assetTokenRefresher: NodeJS.Timeout;\n\n constructor(\n protected cdr: ChangeDetectorRef,\n private inactivityService: InactivityService,\n private http: HttpClient,\n private authService: AuthenticationService,\n public somtagService: SomtagService,\n private pageVisibilityService: PageVisibilityService,\n private viewContainer: ViewContainerRef,\n private agofService: AgofService,\n private activatedRoute: ActivatedRoute,\n private playlistHandlerService: PlaylistHandlerService,\n private embeddedModeService: EmbeddedModeService,\n private analyticsService: AnalyticsService,\n private userProfileService: UserProfileService,\n private router: Router,\n private liveMidrollService: LiveMidrollService,\n private translateService: TranslateService,\n private storage: StorageMap,\n private assetsService: AssetsService,\n private consentService: ConsentService\n ) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.videojs = window.videojs;\n\n this.embeddedModeService.embedded.subscribe((is_embedded: boolean) => (this.isEmbedded = is_embedded));\n this.embeddedModeService.syndication_origin.subscribe(\n (syndication_domain: string) => (this.syndicationDomain = syndication_domain)\n );\n this.pageVisibilityService.$onPageVisible.subscribe(() => {\n if (this.playingAd === true && this.playingVPAIDAd === false) {\n this.player.play();\n }\n });\n this.pageVisibilityService.$onPageHidden.subscribe(() => {\n if (this.playingAd === true && this.playingVPAIDAd === false) {\n this.player.pause();\n }\n });\n\n this.updateToPlayerLang = translateService.onLangChange.subscribe(this.updatePlayerLanguage.bind(this));\n }\n\n private _shouldShowShareButton = false;\n\n @Input() set shouldShowShareButton(show: boolean) {\n this._shouldShowShareButton = show;\n if (this.player) {\n this.setShowShareButton(this.player, show);\n }\n }\n\n private _lowQuality = false;\n\n @Input() set lowQuality(lowQuality: boolean) {\n this._lowQuality = lowQuality;\n if (this.player) {\n this.useLowQuality(this.player, lowQuality);\n }\n }\n\n public _asset: Asset;\n\n @Input()\n public set asset(asset: Asset) {\n this._asset = asset;\n // video will only be loaded if _asset is set and _ads is set\n this.loadVideo();\n }\n\n public _asset_authorization_token: AssetAuthorizationEntity | null;\n\n @Input() set asset_authorization_token(token: AssetAuthorizationEntity) {\n this._asset_authorization_token = token;\n this.loadVideo();\n }\n\n private _controls = true;\n\n @Input() set controls(controls: boolean) {\n this._controls = controls;\n if (this.player) {\n this.player.controls(controls);\n }\n }\n\n private _ads: boolean;\n\n public get ads() {\n return this._ads;\n }\n\n @Input()\n public set ads(ads: boolean) {\n this._ads = ads;\n this.loadVideo();\n }\n\n public _showLogo = false;\n\n @Input()\n public set showLogo(show: boolean) {\n if (show === undefined) {\n return;\n }\n this.setShowLogo(show);\n }\n\n private get isMobile(): boolean {\n return window.innerWidth < 768;\n }\n\n public ngOnInit(): void {\n // ping api/me every few seconds to prevent user has to enter youth protection pin again after viewing a video\n // (keep him active during video view)\n // @todo muss man hier wieder unsubscriben? nicht dass das ewig weiter pingt und ein memory leak entsteht?\n this.activityPinger = timer(0, 15000).subscribe(() => {\n if (this.playerIsPlaying()) {\n this.inactivityService.pingActivity();\n }\n });\n\n if (this.externalFullscreenChangedEmitter) {\n this.externalFullscreenChangedEmitter.subscribe(isInExternalFullscreen => {\n if (this.player) {\n this.player.isFullscreen(isInExternalFullscreen);\n }\n });\n }\n }\n\n public ngOnChanges(): void {\n if (!this.videoAboutToLoad && this._asset && (this.ads === true || this.ads === false)) {\n this.loadVideo();\n }\n\n if (this.playEventSubscription === null && this.playEvent !== null) {\n this.playEventSubscription = this.playEvent.subscribe(() => {\n if (this.player) {\n this.player.play();\n }\n });\n }\n }\n\n public registerAssetAuthorizationTokenRefresher(asset: Asset): void {\n if (asset.contents_freely_accessible) {\n return;\n }\n let refreshAt = 0;\n if (asset.authorization_token) {\n refreshAt = asset.authorization_token.expires_at * 1000 - +new Date();\n }\n this.assetTokenRefresher = setTimeout(() => {\n this.refreshAssetAuthToken();\n }, refreshAt);\n }\n\n public refreshAssetAuthToken(): void {\n this.assetsService.getAssetAuthorizationToken(this._asset).subscribe(\n token => (this._asset.authorization_token = token),\n err => {\n if (err.error.error && Object.keys(PlayerStateEnum).includes(err.error.error)) {\n this.playerState.next(err.error.error);\n } else {\n console.error('asset token could not be refreshed');\n this.mediaError.emit(PlayerErrorEnum.MEDIA_ERROR);\n }\n }\n );\n }\n\n public loadVideo() {\n if (this.videoAboutToLoad === true) {\n return;\n }\n this.videoAboutToLoad = true;\n\n if (!this._asset || (this.ads !== true && this.ads !== false)) {\n this.videoAboutToLoad = false;\n return;\n }\n\n this.assetsService\n .hydrateVideosOfAssetWithSource(this._asset)\n .pipe(\n takeUntil(this.disposeAll.asObservable()),\n tap((asset: Asset) => this.registerAssetAuthorizationTokenRefresher(asset)),\n switchMap((asset: Asset) => {\n return this.initPlayer().pipe(map(() => asset));\n })\n )\n .subscribe(\n (asset: Asset) => {\n if (asset.videos.length > 1) {\n this.createAndSetPlaylist(asset);\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.player.src(asset.videos[0].sources, { cacheEncryptionKeys: true });\n }\n\n let posterImage;\n if (asset.images[0]) {\n posterImage = asset.images[0].url.replace('http:', 'https:');\n } else {\n posterImage = '/assets/images/video_placeholder.png';\n }\n if (this.autoplay) {\n const playPromise = this.player.play();\n // In browsers that don’t yet support this functionality,\n // playPromise won’t be defined.\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Automatic playback started!\n })\n .catch(error => {\n console.warn('automatic playback failed.', error);\n });\n }\n\n // wait a second with setting the poster to prevent flickering\n\n setTimeout(() => {\n this.player.poster(posterImage);\n }, 1000);\n } else {\n this.player.poster(posterImage);\n\n this.player.agofPlugin().sendAgofRequest(AgofEnum.CONTENT_TYPE_IMAGE_TEXT);\n }\n },\n err => {\n if (err) {\n console.error('PLAYER ERROR', err);\n if (\n err.error &&\n err.error.error &&\n err.error.error === PlayerStateEnum.CONTENT_CURRENTLY_NOT_PURCHASED\n ) {\n this.playerState.next(PlayerStateEnum.CONTENT_CURRENTLY_NOT_PURCHASED);\n } else {\n this.playerState.next(PlayerStateEnum.API_ERROR);\n this.mediaError.next(err);\n }\n }\n }\n );\n }\n\n public ngOnDestroy() {\n this.disposeAll.next(true);\n this.activityPinger.unsubscribe();\n if (this.player) {\n if (this.player.hasStarted()) {\n this.player.trigger('lifecycleabort');\n }\n this.player.dispose();\n }\n if (this.playEventSubscription) {\n this.playEventSubscription.unsubscribe();\n }\n if (this.assetTokenRefresher) {\n clearTimeout(this.assetTokenRefresher);\n }\n\n this.updateToPlayerLang.unsubscribe();\n this.liveMidrollService.unsubscribe(this._asset.uuid);\n }\n\n @HostListener('window:beforeunload', ['$event'])\n public beforeunloadHandler(event) {\n if (this.player.hasStarted()) {\n this.player.trigger('lifecycleabort');\n }\n }\n\n public longplay(): boolean {\n if (this._asset.live) {\n return true;\n }\n if (this._asset.duration.length === 8) {\n return moment.duration(this._asset.duration).minutes() > 15;\n } else if (this._asset.duration.length === 5) {\n return moment.duration('00:' + this._asset.duration).minutes() > 15;\n } else {\n return false;\n }\n }\n\n public play() {\n console.log('video component play impression');\n if (this.player) {\n this.player.play();\n }\n }\n\n public pause() {\n if (this.player) {\n this.player.pause();\n }\n }\n\n public closeOverlay() {\n this.player.trigger('custom-overlay-plugin-hide');\n }\n\n public playerIsPlaying(): boolean {\n if (!this.player) {\n return false;\n }\n try {\n return !this.player.paused();\n } catch (e) {\n return false;\n }\n }\n\n private useLowQuality(player: CustomPlayer, lowQuality: boolean): CustomPlayer {\n /*for (let i = 0; i < player.qualityLevels().length; i++) {\n const level = player.qualityLevels()[i];\n // allow only low quality?\n if (lowQuality) {\n // only qualities lower or equal le 360 are allowed\n level.enabled = level.height <= 360;\n } else {\n // allow all qualis\n level.enabled = true;\n }\n }*/\n return player;\n }\n\n private registerPlayerPlugins() {\n if (!this.videojs.getPlugin('hlsQualitySelector')) {\n this.videojs.registerPlugin('hlsQualitySelector', hlsQualitySelector);\n }\n if (!this.videojs.getPlugin('adsPlugin')) {\n this.videojs.registerPlugin('adsPlugin', AdsPlugin);\n }\n\n if (!this.videojs.getPlugin('trackingPlugin')) {\n this.videojs.registerPlugin('trackingPlugin', TrackingPlugin);\n }\n\n if (!this.videojs.getPlugin('trackingPlugin')) {\n this.videojs.registerPlugin('trackingPlugin', TrackingPlugin);\n }\n\n if (!this.videojs.getPlugin('agofPlugin')) {\n this.videojs.registerPlugin('agofPlugin', AGOFPlugin);\n }\n if (!this.videojs.getPlugin('sharePlugin')) {\n this.videojs.registerPlugin('sharePlugin', SharePlugin);\n }\n if (!this.videojs.getPlugin('landscapeFullscreen')) {\n this.videojs.registerPlugin('landscapeFullscreen', landscapeFullscreen);\n }\n\n if (!this.videojs.getPlugin('landscapeFullscreen')) {\n this.videojs.registerPlugin('landscapeFullscreen', landscapeFullscreen);\n }\n\n if (this.showOverlay && !this.videojs.getPlugin('overlayPlugin')) {\n this.videojs.registerPlugin('overlayPlugin', VjsPluginOverlay);\n }\n }\n\n private registerEventListeners(player: CustomPlayer, asset: Asset): CustomPlayer {\n player.on('error', error => {\n // video playback failed - show a message saying why\n const e = player.error();\n console.error('player error: ', e, error);\n switch (e.code) {\n case MediaError.MEDIA_ERR_ABORTED:\n case MediaError.MEDIA_ERR_NETWORK:\n case MediaError.MEDIA_ERR_DECODE:\n case MediaError.MS_MEDIA_ERR_ENCRYPTED:\n case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:\n default:\n this.mediaError.next(PlayerErrorEnum.MEDIA_ERROR);\n break;\n }\n });\n player.on('volumechange', event => {\n let volume = player.volume();\n if (player.muted()) {\n volume = 0;\n }\n if (volume !== 0) {\n this.storage.set('player-volume', volume).subscribe(() => {});\n }\n });\n\n // emit isPlaying or paused events\n player.on(['waiting', 'pause'], () => {\n this.isPlaying.next(false);\n });\n\n player.on('playing', () => {\n this.isPlaying.next(true);\n });\n\n player.on('play', event => {\n let disableAgofTracking = false;\n if (window.history.state?.routedWithoutUserInteraction === true) {\n console.info('did not send agof impression because of automated route change');\n disableAgofTracking = true;\n }\n\n if (!disableAgofTracking) {\n player.agofPlugin().sendAgofRequest();\n }\n\n if (asset.live) {\n player.controlBar.liveDisplay.show();\n }\n if (!player.scrubbing() && !this.playingAd) {\n this.videoStateChanged.emit(VideoState.started);\n }\n });\n player.on('pause', event => {\n if (!player.seeking() && !player.ended() && !this.playingAd) {\n this.videoStateChanged.emit(VideoState.paused);\n }\n });\n\n player.on('ended', event => {\n // only emit event when whole playlist finished\n if (!this.playingAd && player.hasPlugin('playlistPlugin')) {\n if (player.playlistPlugin().currentIndex === player.playlist().length - 1) {\n this.videoStateChanged.emit(VideoState.ended);\n } else {\n this.videoStateChanged.emit(VideoState.next);\n }\n } else if (!this.playingAd && !player.hasPlugin('playlistPlugin')) {\n this.videoStateChanged.emit(VideoState.ended);\n }\n });\n player.on('playlistitem', event => {\n // next video in playlist.. could be a good place to load ads...\n this.videoStateChanged.emit(VideoState.next);\n });\n\n // Ad Plugin Events\n player.on('ads-ad-started', event => {\n this.playingAd = true;\n this.isPlayingAd.next(true);\n this.adStateChanged.emit(AdState.started);\n });\n player.on('ads-ad-ended', event => {\n this.playingAd = false;\n this.isPlayingAd.next(false);\n this.adStateChanged.emit(AdState.ended);\n });\n\n player.on('vpaid-AdLoaded', () => {\n this.playingVPAIDAd = true;\n });\n player.on('vpaid-AdVideoComplete', () => {\n this.playingVPAIDAd = false;\n });\n\n return player;\n }\n\n private createPlayerInstance(adsActive: boolean): Observable {\n this.registerPlayerPlugins();\n\n this.playerId = 'video-player-' + Math.random();\n\n const subject = new EventEmitter();\n\n const token = this.authService.token;\n\n this.videojs.Hls.xhr.beforeRequest = (options: {\n handleManifestRedirects: boolean;\n responseType: string;\n timeout: number;\n headers: { [key: string]: string };\n uri: string; //'http://vod01-streamer-staging.dosbnewmedia.de/encrypt/5f4e2cfc4e6e1cc64a000008.json/encryption.key?';\n withCredentials: boolean;\n }) => {\n if (token && options.uri.endsWith('.m3u8') && options.uri.includes('index')) {\n options.uri = options.uri + '?asset_id=' + this._asset.uuid;\n options.headers = {\n 'Cache-Control': 'private, no-cache',\n Authorization: token\n };\n }\n\n return options;\n };\n\n let player = this.videojs(\n this.videoPlayer.nativeElement,\n {\n liveui: true,\n id: this.playerId,\n somtagService: this.somtagService,\n controls: this._controls,\n adsActive: adsActive,\n techOrder: ['html5'],\n html: { nativeCaptions: false },\n nativeControlsForTouch: false,\n preload: this.preload,\n html5: {\n hls: {\n cacheEncryptionKeys: true\n }\n },\n controlBar: {\n fullscreen: false,\n volumePanel: {\n inline: false,\n vertical: true\n }\n },\n plugins: {\n reloadSourceOnError: {\n errorInterval: 10,\n getSource() {\n console.info('trying to get new source');\n }\n }\n }\n },\n () => {\n player = this.onPlayerCreated(player);\n subject.next(player);\n }\n );\n return subject.asObservable();\n }\n\n private onExternalFullscreenChange() {\n this.player.trigger('fullscreenchange');\n }\n\n private initPlayer(): Observable {\n if (this.player) {\n return of(this.player);\n }\n return this.authService.userHasSubscriptionWhichRemovesAds().pipe(\n map(hasAdFreePackage => {\n this.userHasSubscriptionWhichRemovesAds = hasAdFreePackage;\n }),\n switchMap(() => this.adsActive()),\n switchMap(adsActive => {\n return this.createPlayerInstance(adsActive);\n }),\n tap((player: CustomPlayer) => {\n this.player = player;\n }),\n takeUntil(this.disposeAll.asObservable())\n );\n }\n\n private setShowShareButton(player: CustomPlayer, show: boolean): CustomPlayer {\n if (player.hasPlugin('sharePlugin')) {\n player.sharePlugin().shouldShowShareButton(show);\n }\n return player;\n }\n\n private adsActive(): Observable {\n // generally disabled?\n if (environment.ads.useAds === false) {\n return of(false);\n }\n // disabled by asset?\n if (this._asset.flags && this._asset.flags.includes('noad')) {\n console.warn('Ads disabled by asset');\n return of(false);\n }\n // disable for sportmoment clips\n if (this._asset && this._asset.is_moment_of_the_year_clip) {\n return of(false);\n }\n // disabled by property ?\n if (this.ads === false) {\n return of(false);\n }\n // disabled by user?\n return this.authService.adsDisabledForUser().pipe(\n map((adsDisabled: boolean) => {\n return !adsDisabled;\n })\n );\n }\n\n private setShowLogo(show?: boolean) {\n if (show === false) {\n show = environment.player.showPlayerBranding;\n }\n if (this._asset && this._asset.flags && this._asset.flags.includes('nologo')) {\n show = false;\n }\n this._showLogo = show;\n }\n\n private onPlayerCreated(player: CustomPlayer): CustomPlayer {\n {\n // used to go in native player playerInFullscreen, if no playerInFullscreen api is available\n if (this.fullscreenToggleRequestlistener) {\n this.fullscreenToggleRequestlistener.subscribe(() => {\n if (!player.isFullscreen()) {\n player.requestFullscreen();\n } else {\n player.exitFullscreen();\n }\n });\n }\n player.qualityLevels();\n player.hlsQualitySelector({\n displayCurrentQuality: false,\n vjsIconClass: 'vjs-icon-cog'\n });\n\n // disable the double click listener to prevent native playerInFullscreen\n player = this.removeDoubleClickFullscreenListener(player);\n\n // persist player volume\n this.storage.get('player-volume').subscribe((vol: number) => {\n if (vol !== null && vol >= 0 && vol <= 1) {\n player.volume(vol);\n }\n });\n\n // Init Plugins (adsPlugin must be the first one to assure redispatch of events)\n // do not remove the ads plugin - it emits the contentchanged event which is used for the video-bottom-playlist\n player.adsPlugin({\n longplay: this.longplay(),\n somtagService: this.somtagService,\n analyticsService: this.analyticsService,\n playPreroll: true,\n playMidroll: !this._asset.live, // no midroll on live videos\n playPostroll: true,\n debug: true,\n secondsBeforeFirstMidrollBlock: environment.ads.somtag.secondsBeforeFirstMidrollBlock,\n secondsBetweenMidrollBlocks: environment.ads.somtag.secondsBetweenMidrollBlocks,\n asset: this._asset,\n contentIsLive: this._asset.live, // important for ads in live streams!\n postrollTimeout: 15000,\n timeout: this.isMobile ? 15000 : 7000,\n liveCuePoints: false\n });\n\n this.updatePlayerLanguage(player);\n\n player.airplayButton({});\n\n player.trackingPlugin({\n inSyndicationPlayer: this.isEmbedded,\n syndicationOrigin: this.syndicationDomain,\n asset: this._asset,\n userHasSubscriptionWhichRemovesAds: this.userHasSubscriptionWhichRemovesAds,\n channel: this.analyticsService.getChannelForAsset(this._asset).toLowerCase(),\n kanal: this.analyticsService.getKanalForAsset(this._asset),\n format: this.analyticsService.getFormatForAsset(this._asset).toLowerCase(),\n showFormat: this.analyticsService.getFormatForAsset(this._asset),\n sourceCompany: this.analyticsService.getSourceCompanyForAsset(this._asset)\n });\n player.on(\n 'user-profile-service',\n (\n event: Event,\n data: {\n objectType: ObjectType;\n action: Action;\n object: RawAssetFromApi | Playlist | Section | Page | Teaser | any;\n extras?: {\n position?: number;\n total_view_time?: number;\n ads?: boolean;\n full_screen?: boolean;\n };\n custom?: JSON;\n }\n ) => {\n this.userProfileService.trackEvent(\n data.objectType,\n data.action,\n data.object,\n data.extras,\n data.custom\n );\n }\n );\n player.on(\n 'analytics-service',\n (\n event: Event,\n data: {\n action: string;\n properties: {\n category?: string;\n event?: string;\n label?: string;\n value?: string;\n noninteraction?: boolean;\n gtmCustom?: Partial;\n };\n }\n ) => {\n this.analyticsService.trackEvent(data.action, data.properties);\n }\n );\n player.agofPlugin({\n ads: player.options().adsActive,\n activatedRoute: this.activatedRoute,\n freeAsset: this._asset.contents_freely_accessible,\n analyticsService: this.analyticsService,\n agofService: this.agofService,\n liveAsset: this._asset.live\n });\n // send an agof request for every video\n player.agofPlugin().reset();\n\n player.sharePlugin({\n cdr: this.cdr,\n viewContainer: this.viewContainer,\n shareModalTemplate: this.shareModalTemplate,\n asset: this._asset\n });\n\n player.landscapeFullscreen({\n fullscreen: {\n enterOnRotate: true,\n alwaysInLandscapeMode: false,\n iOS: false\n }\n });\n\n if (this.showOverlay) {\n player.overlayPlugin({\n cdr: this.cdr,\n viewContainer: this.viewContainer,\n modalTemplate: this.overlayTemplate,\n asset: this._asset\n });\n }\n\n player.enableTouchActivity();\n\n player = this.registerEventListeners(player, this._asset);\n\n player = this.useLowQuality(player, this._lowQuality);\n\n player = this.setCustomControlBarButtons(player);\n\n player = this.setShowShareButton(player, this._shouldShowShareButton);\n\n player.controls(this._controls);\n\n player = this.addBrandingComponent(\n player,\n this.viewContainer.createEmbeddedView(this.brandingTemplate, {})\n );\n\n if (this._asset.live && player.options().adsActive) {\n this.liveMidrollService\n .subscribeForMidroll(this._asset.uuid, this.isEmbedded ? 'embed' : 'onsite', player)\n .subscribe(data => {\n if (player.options().adsActive && data.amount > 0) {\n this.player.adsPlugin().queueLiveMidroll(data.segmentId, data.amount);\n }\n });\n\n player.on('ended', event => {\n // after video is finished we need to unsubscribe to prevent stale users\n this.liveMidrollService.unsubscribe(this._asset.uuid);\n });\n }\n\n this.videoJsEvents.emit('init');\n return player;\n }\n }\n\n private addBrandingComponent(player: CustomPlayer, template: EmbeddedViewRef): CustomPlayer {\n const VjsComponent = this.videojs.getComponent('Component');\n const BrandingComponent = this.videojs.extend(VjsComponent, {\n constructor: function () {\n VjsComponent.apply(this, arguments);\n this.addClass('vjs-branding-container');\n },\n el: function () {\n return template.rootNodes[0];\n }\n });\n this.videojs.registerComponent('BrandingComponent', BrandingComponent);\n player.addChild('BrandingComponent');\n return player;\n }\n\n private setCustomControlBarButtons(player: CustomPlayer): CustomPlayer {\n const controls = [];\n if (this.allowFullscreen === true) {\n controls.push({\n name: 'Fullscreen',\n icon: 'vjs-fullscreen-control',\n withText: false,\n customClass: 'custom-fullscreen'\n });\n }\n\n if (this.assetCount > 1 && this.browser && this.browser.name !== 'ios' && this.browser.name !== 'ie') {\n controls.push({ name: 'Konferenzmodus', icon: 'fa-clone', withText: true, hideDuringAd: true });\n }\n if (this.isEmbedded) {\n controls.push({ name: 'Datenschutz', icon: 'fa-info-circle', withText: false, hideDuringAd: true });\n }\n player.removeChild(player.getChild('fullscreen'));\n this.customControlBarComponents.forEach(comp => player.getChild('controlBar').removeChild(comp));\n this.customControlBarComponents = [];\n controls.forEach(button => {\n const Button = this.videojs.getComponent('Button');\n const CustomButton = this.videojs.extend(Button, {\n constructor: function () {\n Button.apply(this, arguments);\n if (button.icon.includes('vjs-')) {\n this.addClass(button.icon);\n }\n if (button.hideDuringAd) {\n this.addClass('hide-during-ad');\n }\n if (button.withText) {\n this.addClass('button-with-text');\n this.contentEl().innerHTML = `${button.name}`;\n }\n if (button.name === 'Datenschutz') {\n this.addClass('button-with-text');\n this.contentEl().innerHTML = ``;\n }\n if (button.customClass) {\n this.addClass(button.customClass);\n }\n this.controlText(button.controlText || button.name);\n },\n handleClick: event => {\n // send event to videojs (for plugins)\n player.trigger('custom-control-bar-button-clicked', button);\n // send to player compoennt (for conference player)\n if (button.name === 'Konferenzmodus') {\n this.toggleConferenceMode.emit();\n }\n if (button.name === 'Datenschutz') {\n this.consentService.showConsentBanner();\n }\n if (button.name === 'Fullscreen') {\n this.requestFullscreenToggle.emit();\n }\n }\n });\n this.videojs.registerComponent(button.name, CustomButton);\n this.customControlBarComponents.push(player.getChild('controlBar').addChild(button.name, {}));\n });\n\n // the control bar seems to get recomposed, thus we must remove the doubleclick listener;\n return this.removeDoubleClickFullscreenListener(player);\n }\n\n /**\n * Creates a playlist, activates the Playlist Plugin and triggers the player to play the first video\n * @param asset should be an Asset with more than one video\n */\n private createAndSetPlaylist(asset: Asset) {\n const playlist: VideoPlaylist = asset.videos.map((video, index) => {\n return {\n name: video.label === null ? 'Teil ' + (index + 1) : video.label, // might be null,\n duration: video.duration,\n description: asset.label,\n sources: video.sources,\n thumbnail: [\n {\n src: asset.images[index].url\n }\n ]\n };\n });\n\n if (this.videojs.getPlugin('playlistPlugin') === undefined) {\n this.videojs.registerPlugin('playlistPlugin', PlaylistPlugin);\n }\n const tpl: EmbeddedViewRef = this.viewContainer.createEmbeddedView(this.playListTemplate, {});\n\n this.player.playlistPlugin({\n playlist: playlist,\n template: tpl,\n playlistHandlerService: this.playlistHandlerService,\n showPlaylistButton: this.playlistButton,\n showChapterButton: this.chapterButton,\n showPlaylistArrows: this.playlistArrows,\n router: this.router,\n activatedRoute: this.activatedRoute,\n cdr: this.cdr\n });\n }\n\n private removeDoubleClickFullscreenListener(player: CustomPlayer): CustomPlayer {\n // @ts-ignore\n player.tech_.off('dblclick');\n player.off('dblclick');\n\n player.on('dblclick', event => {\n if (event.target.tagName === 'VIDEO') {\n this.requestFullscreenToggle.next();\n }\n });\n return player;\n }\n\n private updatePlayerLanguage(player: CustomPlayer): CustomPlayer {\n if (player.adsPlugin()) {\n this.translateService.get('player.ads.advertisement').subscribe((text: string) => {\n player.adsPlugin().controlBarTextAdvertisement = text;\n });\n\n this.translateService.get('player.ads.remaining').subscribe((text: string) => {\n player.adsPlugin().controlBarTextRemaining = text;\n });\n }\n return player;\n }\n}\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { RawAssetFromApi } from '../../../../entities/raw-asset-from-api.entity';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\nimport { User } from '../../../../entities/user.entity';\nimport { environment } from '../../../../environments/environment';\nimport { YouthProtectionPinService } from '../../../../services/api/methods/youth-protection-pin.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport * as moment from 'moment';\nimport { Moment } from 'moment';\nimport { PlayerStateEnum } from '../../../../enum/player-state.enum';\nimport { ActivatedRoute, UrlSegment } from '@angular/router';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { switchMap } from 'rxjs/operators';\n\nenum YouthProtectionValues {\n child = 1,\n teen = 2,\n adult = 3\n}\n\n@Component({\n selector: 'app-youth-protection',\n templateUrl: './youth-protection.component.html'\n})\nexport class YouthProtectionComponent implements OnInit {\n public environment = environment;\n public pin: string;\n public pinVerified = false;\n public error: string;\n public isVerifying = false;\n public lastTimeVerified: Moment = null;\n public needsPinValue: boolean;\n public playerStateEnum = PlayerStateEnum;\n @Input() public playerState: PlayerStateEnum;\n public asset: RawAssetFromApi;\n @Output() public updateState = new EventEmitter();\n private storageKeyLastTimeVerified = 'youth_protection_last_pin_verified_time';\n private videoCategory: YouthProtectionValues;\n private userCategory: YouthProtectionValues;\n\n constructor(\n protected authenticationService: AuthenticationService,\n protected youthProtectionService: YouthProtectionPinService,\n protected cdr: ChangeDetectorRef,\n protected storage: StorageMap,\n private activeRoute: ActivatedRoute\n ) {\n // default value for start\n this.userCategory = YouthProtectionValues.child;\n this.storage.get(this.storageKeyLastTimeVerified).subscribe((time: string) => {\n if (time) {\n this.lastTimeVerified = moment(time);\n }\n });\n }\n\n @Input('asset') set assetValue(asset) {\n this.asset = asset;\n this.authenticationService.me().subscribe(user => this.renderOverlayIfNeeded(user));\n }\n\n public ngOnInit(): void {\n this.activeRoute.url\n .pipe(switchMap((url: UrlSegment[]) => this.storage.set('redirectAfterSetPin', url[0])))\n .subscribe(() => {});\n\n this.authenticationService.me().subscribe(\n (me: User) => {\n this.renderOverlayIfNeeded(me);\n },\n error2 => {\n // not authenticated\n this.userCategory = YouthProtectionValues.child;\n this.renderOverlayIfNeeded(null);\n }\n );\n }\n\n public verifyPin(): void {\n this.error = '';\n if (!this.pin) {\n this.error = 'Bitte geben Sie den Pin ein';\n return;\n }\n this.isVerifying = true;\n this.youthProtectionService\n .verifyPin(this.pin)\n .pipe(switchMap(() => this.authenticationService.me()))\n .subscribe(\n (me: User) => {\n this.pinVerified = true;\n this.isVerifying = false;\n this.renderOverlayIfNeeded(me);\n },\n (resp: HttpErrorResponse) => {\n this.isVerifying = false;\n if (resp.error && resp.error.message && resp.error.message.pin) {\n this.error = resp.error.message.pin;\n } else {\n this.error = 'Konnte den Pin nicht überprüfen';\n }\n\n this.cdr.detectChanges();\n }\n );\n return;\n }\n\n private needsAgeVerification(me: User): boolean {\n return this.needsPin(me) || this.userCategory < this.videoCategory;\n }\n\n private needsPin(me: User): boolean {\n if (this.pinVerified === true) {\n return false;\n }\n\n if (me === null || me === undefined || me.birthdate === null) {\n return false;\n }\n\n if (me.youth_protection_pin_activity !== 'active') {\n return false;\n }\n const lastPinVerifiedTime = this.lastTimeVerified;\n if (lastPinVerifiedTime == null) {\n return true;\n }\n const secondsSinceVerify = -moment(lastPinVerifiedTime).diff(moment(), 'seconds');\n\n if (secondsSinceVerify < this.environment.youthProtection.secondsAfterWhichPinNeedsToBeEnteredAgain) {\n return false;\n }\n return true;\n }\n\n private createOverlay(me: User) {\n this.needsPinValue = this.needsPin(me);\n this.cdr.detectChanges();\n }\n\n private removeOverlay() {\n this.updateState.next(true);\n this.cdr.detectChanges();\n }\n\n private renderOverlayIfNeeded(me: User) {\n // detect video category\n if (this.asset && this.asset.youth_protection_category) {\n if (this.asset.youth_protection_category >= 18) {\n this.videoCategory = YouthProtectionValues.adult;\n } else if (this.asset.youth_protection_category >= 16) {\n this.videoCategory = YouthProtectionValues.teen;\n } else if (this.asset.youth_protection_category >= 12) {\n this.videoCategory = YouthProtectionValues.child;\n } else {\n this.videoCategory = YouthProtectionValues.child;\n }\n } else {\n // no category set => use child category\n console.warn('Missing asset propterty youth_protection_category ', this.asset);\n this.videoCategory = YouthProtectionValues.child;\n }\n\n this.userCategory = YouthProtectionValues.child;\n\n if (me && me.youth_protection_category) {\n if (me.youth_protection_category >= 18) {\n this.userCategory = YouthProtectionValues.adult;\n } else if (me.youth_protection_category >= 16) {\n this.userCategory = YouthProtectionValues.teen;\n } else if (me.youth_protection_category >= 12) {\n this.userCategory = YouthProtectionValues.child;\n } else {\n console.warn('Unknown USER Youth Protection Category detected, using child category');\n this.userCategory = YouthProtectionValues.child;\n }\n }\n\n if (this.needsAgeVerification(me)) {\n this.createOverlay(me);\n } else {\n this.removeOverlay();\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Product } from '../../../entities/product.entity';\n\n@Component({\n selector: 'app-product-price',\n templateUrl: './product-price.component.html'\n})\nexport class ProductPriceComponent {\n @Input() public product: Product;\n @Input() public showPrice = false;\n\n constructor() {}\n}\n","import { TileType } from './../asset-tile-slider/asset-tile-slider.component';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { SectionsService } from '../../../services/api/methods/sections.service';\nimport { Section } from '../../../entities/section.entity';\nimport { map, switchMap } from 'rxjs/operators';\nimport { zip } from 'rxjs';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-section-sliders',\n templateUrl: './section-sliders.component.html'\n})\nexport class SectionSlidersComponent implements OnInit {\n @Input() public excludedSectionUUIDs: string[] = [];\n\n public loading = false;\n public sections: Section[] = [];\n public currentPage = 0;\n public elements: boolean[] = [];\n\n public TileType = TileType;\n\n constructor(private sectionsService: SectionsService, public router: Router) {}\n\n public ngOnInit(): void {\n this.load(1);\n }\n\n public loadMore(event) {\n this.load(this.currentPage + 1);\n }\n\n public onIntersection({ visible }: { visible: boolean }, id: number) {\n this.elements[id] = visible;\n }\n\n private load(page: number) {\n this.loading = true;\n this.sectionsService\n .getSections(10, page)\n .pipe(\n map(sections => {\n if (Array.isArray(sections)) {\n return sections.filter(section => !this.excludedSectionUUIDs.includes(section.uuid));\n } else {\n return [];\n }\n }),\n switchMap(sections => {\n return zip(\n ...sections.map((section: Section) =>\n this.sectionsService\n .getAssetsForSectionID(section.uuid, 15, 1)\n .pipe(map(assetData => ({ ...section, assets: assetData.items })))\n )\n );\n })\n )\n .subscribe(\n sections => {\n this.sections.push(...sections);\n this.currentPage++;\n this.loading = false;\n },\n error => {\n this.loading = false;\n }\n );\n }\n}\n","import { environment } from '../../../environments/environment';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MenuItem } from '../../../entities/menu-item.entity';\nimport { MenuService } from '../../../services/api/methods/menu.service';\nimport { SidebarService } from '../../../services/sidebar.service';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html'\n})\nexport class SidebarComponent implements OnInit {\n public menuLeft: MenuItem[] = [];\n public footerMenuItems: MenuItem[] = [];\n public isOpen = false;\n public environment;\n public AppName = AppName;\n\n @Output() public collapsedEvent = new EventEmitter();\n\n @Input() public menuHeight = 0;\n\n constructor(private menuService: MenuService, private sidebarService: SidebarService) {\n this.environment = environment;\n this.sidebarService.isOpen.subscribe(isOpen => {\n this.isOpen = isOpen;\n });\n }\n\n public ngOnInit(): void {\n this.menuService.getSideMenu().subscribe((items: MenuItem[]) => {\n this.menuLeft = items;\n });\n this.menuService.getFooterLinks().subscribe(links => {\n this.footerMenuItems = links;\n });\n }\n\n public onNavlinkClick() {\n if (environment.header.sideMenuInitiallyClosed) {\n this.sidebarService.close();\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-somtag-disclaimer',\n templateUrl: './somtag-disclaimer.component.html'\n})\nexport class SomtagDisclaimerComponent implements OnInit {\n public elements: {\n title: string;\n description: string;\n url: string;\n }[] = [];\n\n constructor() {\n this.somtagDisclaimerCallback = this.somtagDisclaimerCallback.bind(this);\n // @ts-ignore\n window.somtagDisclaimerCallback = this.somtagDisclaimerCallback;\n }\n\n public ngOnInit(): void {\n this.loadScript();\n }\n\n private somtagDisclaimerCallback(data) {\n this.elements = data;\n }\n\n private loadScript() {\n const node = document.createElement('script');\n node.src = 'https://ad.71i.de/consent/tracking-disclaimer.jsonp';\n document.getElementsByTagName('head')[0].appendChild(node);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-tile-teaser-grid',\n templateUrl: './tile-teaser-grid.component.html'\n})\nexport class TileTeaserGridComponent implements OnInit {\n @Input() public title: string;\n @Input() public showMoreButton: boolean;\n\n @Input() public moreButtonTitle: string;\n @Input() public moreButtonDisabled: boolean;\n\n @Output() public moreButtonClick: EventEmitter = new EventEmitter();\n\n constructor(public router: Router) {}\n\n public ngOnInit(): void {}\n\n public moreButtonClickHandler(event) {\n this.moreButtonClick.next(event);\n }\n}\n","import { ToastrService } from 'ngx-toastr';\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { AgeVerificationRequest, AgeVerificationService } from '../../../services/api/methods/age-verification.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { User } from '../../../entities/user.entity';\nimport { environment } from '../../../environments/environment';\nimport * as moment from 'moment';\nimport { Duration, Moment } from 'moment';\nimport { Router, UrlSegment } from '@angular/router';\nimport { YouthProtectionPinService } from '../../../services/api/methods/youth-protection-pin.service';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { forkJoin } from 'rxjs';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { switchMap, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-age-verification',\n templateUrl: './age-verification.component.html'\n})\nexport class AgeVerificationComponent implements OnInit, OnDestroy {\n public data: AgeVerificationRequest = {\n id_country_code: '',\n id_type: '',\n id_number_block_1: '',\n id_number_block_2: '',\n id_number_validator: ''\n };\n public id_number_block_3: string;\n public error: any;\n public submitted = false;\n public success = false;\n public environment = environment;\n public newPin: string;\n\n /// PIN\n public ageVerificationTime: Moment;\n public ageVerificationTimeAgo: Duration;\n public me: User;\n public timedOut = false;\n public interval: any;\n /**\n * For testing only\n */\n protected adultData: AgeVerificationRequest = {\n id_country_code: 'D',\n id_type: 'national_id',\n id_number_block_1: 'LF083MPV30',\n id_number_block_2: '83083112108106D',\n id_number_validator: '4'\n };\n private redirectUrl: string;\n\n constructor(\n private ageVerificationService: AgeVerificationService,\n private storage: StorageMap,\n private authenticationService: AuthenticationService,\n private youthProtectionService: YouthProtectionPinService,\n private translateService: TranslateService,\n private analyticsService: AnalyticsService,\n private router: Router,\n private cdr: ChangeDetectorRef,\n private toastr: ToastrService\n ) {}\n\n public countryAndTypeChosen = () => this.data.id_country_code !== '' && this.data.id_type !== '';\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n\n this.authenticationService.me().subscribe(me => (this.me = me));\n this.storage.get('redirectAfterSetPin').subscribe((redirect: UrlSegment) => (this.redirectUrl = redirect.path));\n\n this.storage.get('age_verification_time').subscribe((valFromStorage: Moment) => {\n if (valFromStorage === null) {\n this.timedOut = true;\n this.ageVerificationTime = moment().subtract(1, 'day');\n } else {\n this.ageVerificationTime = moment(valFromStorage);\n }\n\n this.interval = setInterval(() => {\n this.ageVerificationTimeAgo = moment.duration(this.ageVerificationTime.diff(moment()));\n if (4 + this.ageVerificationTimeAgo.get('minutes') < 0) {\n this.timedOut = true;\n this.success = false;\n }\n }, 200);\n });\n }\n\n public setCountry(country) {\n this.data.id_country_code = country;\n if (country === 'CHE' && this.data.id_type === 'aufenthaltstitel') {\n this.data.id_type = 'national_id';\n }\n }\n\n public submit() {\n this.submitted = true;\n\n // wenn deutscher ausweis und block 3 hat 8 stellen dann ist es ein neuer ausweis\n // wenn 7 stellen ist es ein alter\n\n const dataToSubmit = { ...this.data };\n\n if (dataToSubmit.id_country_code === 'D' && dataToSubmit.id_type === 'national_id') {\n dataToSubmit.id_number_block_2 += this.id_number_block_3;\n }\n dataToSubmit.id_number_validator = dataToSubmit.id_number_validator.toString();\n dataToSubmit.id_number_block_2 = dataToSubmit.id_number_block_2.toString();\n dataToSubmit.id_number_block_1 = dataToSubmit.id_number_block_1.toString();\n\n this.ageVerificationService\n .verifyAge(dataToSubmit)\n .pipe(\n tap((resp: User) => {\n this.success = true;\n this.me = resp;\n this.timedOut = false;\n this.error = '';\n this.ageVerificationTime = moment();\n this.cdr.detectChanges();\n }),\n switchMap(() => this.storage.set('age_verification_time', moment().toISOString()))\n )\n .subscribe(\n () => {},\n (resp: HttpErrorResponse) => {\n console.error(resp);\n this.success = false;\n this.error = resp.error.message;\n }\n );\n }\n\n /**\n * For testing only\n */\n public submitAdult() {\n this.data = this.adultData;\n // this.submit();\n }\n\n /** PIN METHODS */\n\n public ngOnDestroy() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n }\n\n public setPin() {\n this.error = {};\n if (!this.newPin) {\n return;\n }\n this.youthProtectionService\n .setPin(this.newPin, 'active')\n .pipe(\n switchMap(() =>\n forkJoin([\n this.translateService.get('ageVerification.setYouthProtectionPin.messagePinActivated'),\n this.translateService.get('toasts.successTitle')\n ])\n )\n )\n .subscribe(\n ([message, title]) => {\n this.toastr.success(message, title);\n if (this.redirectUrl !== undefined && this.redirectUrl !== null) {\n this.router.navigateByUrl(this.redirectUrl);\n } else {\n this.router.navigateByUrl(\n '/' + environment.urlSlugs.dashboard + '/' + environment.urlSlugs.dashboard\n );\n }\n this.newPin = null;\n },\n (resp: HttpErrorResponse) => {\n this.error = resp.error.message;\n }\n );\n }\n}\n","import { ToastrService } from 'ngx-toastr';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { Coupon } from '../../../entities/coupon.entity';\nimport { User } from '../../../entities/user.entity';\nimport { Order } from '../../../entities/order.entity';\nimport { Product } from '../../../entities/product.entity';\nimport { environment } from '../../../environments/environment';\nimport { AlertNotificationsService } from '../../../services/alert-notifications.service';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { AssetsService } from '../../../services/api/methods/assets.service';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { OrderService } from '../../../services/api/methods/order.service';\nimport { ProductsService } from '../../../services/api/methods/products.service';\nimport { ExternalScriptsLoaderService } from '../../../services/external-scripts-loader.service';\nimport { forkJoin } from 'rxjs';\nimport { Asset } from '../../../entities/asset.entity';\nimport { of } from 'rxjs/internal/observable/of';\n\ndeclare let chckt: any;\n\n@Component({\n selector: 'app-checkout',\n templateUrl: './checkout.component.html'\n})\nexport class CheckoutComponent implements OnInit {\n public environment;\n public me: User;\n public product: Product;\n public asset: Asset;\n public order: Order;\n public showError = false;\n public hasReturnedFromAdyen = false;\n public acceptsToc = false;\n public acceptsRevocation = false;\n public couponAddedManually = false;\n public couponToken = '';\n public coupons: string[] = [];\n\n constructor(\n private authenticationService: AuthenticationService,\n private assetService: AssetsService,\n private productService: ProductsService,\n private orderService: OrderService,\n private route: ActivatedRoute,\n private alertNotificationService: AlertNotificationsService,\n private translate: TranslateService,\n private router: Router,\n private cdr: ChangeDetectorRef,\n private analyticsService: AnalyticsService,\n private scriptService: ExternalScriptsLoaderService,\n private toastr: ToastrService\n ) {\n this.environment = environment;\n }\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n\n this.authenticationService.clearCache();\n\n const query = this.route.snapshot.queryParams;\n if (query.p && query.a) {\n this.startPaymentProcess(query.p, query.a);\n return;\n } else if (query.payload && query.o) {\n this.hasReturnedFromAdyen = true;\n\n this.orderService.getOrderById(query.o).subscribe(\n (order: Order) => {\n this.order = order;\n\n if (query.resultCode === 'cancelled') {\n this.hasReturnedFromAdyen = false;\n this.showErrorMessageAndRestartPayment('Die Zahlung wurde abgebrochen');\n return;\n }\n\n this.verifyPayment(query.payload);\n },\n error => {\n this.alertNotificationService.error(JSON.stringify(error.message), false);\n this.hasReturnedFromAdyen = false;\n }\n );\n return;\n } else {\n // order default product\n this.productService\n .getProducts()\n .pipe(\n map((prods: Product[]) => prods.filter((prod: Product) => prod.tag === 'freemium')[0]),\n switchMap((product: Product) => {\n this.product = product;\n return this.assetService.getAssetForProduct(product);\n })\n )\n .subscribe((assets: RawAssetFromApi[]) => {\n this.startPaymentProcess(this.product.uuid, assets[0].uuid);\n });\n }\n }\n\n public startPaymentProcess(productId, assetId) {\n forkJoin([\n this.productService.getProduct(productId),\n this.assetService.getAsset(assetId).pipe(\n catchError(() => {\n return this.productService.getProduct(productId).pipe(\n switchMap(product => this.assetService.getAssetForProduct(product)),\n map((assets: Asset[]) => assets[0])\n );\n })\n ),\n this.authenticationService.me()\n ]).subscribe(\n ([product, asset, me]) => {\n this.product = product;\n this.asset = asset;\n this.me = me;\n if (this.asset !== null && this.product !== null && this.me !== null) {\n this.me.customer_coupons.forEach((cp: Coupon) => {\n this.coupons.push(cp.uuid);\n });\n // try to create the order\n this.createOrderAndSetupPayment();\n }\n },\n err => {\n // most likely asset not found\n\n console.error('someting not found', err);\n }\n );\n }\n\n public addCoupon() {\n if (this.couponToken !== '') {\n this.coupons.push(this.couponToken);\n }\n this.couponAddedManually = true;\n\n if (this.order) {\n this.orderService.deleteOrder(this.order).subscribe(\n () => {\n this.createOrderAndSetupPayment();\n },\n () => {\n this.createOrderAndSetupPayment();\n }\n );\n } else {\n this.createOrderAndSetupPayment();\n }\n }\n\n public createOrderAndSetupPayment() {\n this.orderService.createOrder(this.product, this.asset, this.coupons).subscribe(\n (order: Order) => {\n this.order = order;\n this.couponToken = '';\n this.setupPayment();\n },\n (res: HttpErrorResponse) => {\n this.handleOrderCreateError(res);\n this.couponToken = '';\n }\n );\n }\n\n public handleOrderCreateError(res: HttpErrorResponse) {\n console.error('Order Create Error: ' + res.error.error);\n\n if (res.error.error === 'COUPON_REDEEMED' || res.error.error === 'COUPON_ALREADY_USED') {\n if (this.couponAddedManually) {\n this.translate\n .get('checkout.start.couponRedeemed')\n .subscribe(message => this.alertNotificationService.warn(message));\n }\n this.coupons = [];\n this.createOrderAndSetupPayment();\n } else if (res.error.error === 'COUPON_NOT_FOR_PRODUCT') {\n if (this.couponAddedManually) {\n this.translate\n .get('checkout.start.couponNotForProduct')\n .subscribe(message => this.alertNotificationService.warn(message));\n }\n this.coupons = [];\n this.createOrderAndSetupPayment();\n } else if (res.error.error === 'COUPON_INVALID' || res.error.error === 'COUPON_EXPIRED') {\n if (this.couponAddedManually) {\n this.translate\n .get('checkout.start.couponInvalid')\n .subscribe(message => this.alertNotificationService.warn(message));\n }\n this.coupons = [];\n this.createOrderAndSetupPayment();\n } else if (res.error.error === 'CONTENT_NOT_ALLOWED_FOR_REGION') {\n this.translate\n .get('player.error.notAllowedInRegion')\n .subscribe(message => this.alertNotificationService.error(message));\n return;\n } else if (res.error.error === 'PRODUCT_ALREADY_ORDERED') {\n console.warn('Order Create Error: PRODUCT_ALREADY_ORDERED');\n\n let subs;\n if (res.error.message.reference.order_id) {\n subs = this.orderService.getOrderById(res.error.message.reference.order_id);\n } else {\n subs = this.orderService.findExistingOrderByProduct(this.product);\n }\n\n subs.subscribe(\n (order: Order) => {\n console.warn('Order Existed, found exisiting order', order);\n this.order = order;\n this.setupPayment();\n },\n err => {\n console.error('could not find order for Product');\n this.order = null;\n }\n );\n } else if (res.error.error === 'PENDING_ORDER_COUPONS') {\n // order must exist find it from db\n this.orderService.findExistingOrderByCoupon(this.coupons).subscribe(\n (order: Order) => {\n console.warn('findExistingOrderByCoupon', order);\n this.order = order;\n this.setupPayment();\n },\n err => {\n console.error('Could not find order with used coupon... recreate the order without coupon');\n this.coupons = [];\n this.createOrderAndSetupPayment();\n }\n );\n } else {\n this.translate.get('toasts.errorTitle').subscribe(trans => {\n this.toastr.error(res.error.error, trans);\n });\n }\n }\n\n public setupPayment() {\n if (this.order.order_status === 'payment_authorized') {\n console.error('order status payment_authorized');\n this.authenticationService.clearCache();\n this.translate.get('toasts.errorTitle').subscribe(title => {\n this.toastr.error('Du hast dieses Produkt bereits bestellt', title);\n this.router.navigateByUrl(environment.urlSlugs.dashboard + '/' + environment.urlSlugs.orders);\n });\n return;\n }\n\n if (this.order.order_status === 'no_payment_required') {\n console.warn('order status no_payment_required');\n this.authenticationService.clearCache();\n this.showSuccessMessageAndRedirectToAssetPage();\n return;\n }\n\n if (this.order.order_status === 'expired') {\n // order need to be recreated to get the payment form\n console.warn('order will get recreated', this.order);\n\n this.orderService.deleteOrder(this.order).subscribe(\n () => {\n this.createOrderAndSetupPayment();\n },\n error2 => {\n console.error('could not delete order', error2);\n // 'trying to go back to setup_payment step'\n this.orderService.setupPayment(this.order).subscribe((order: Order) => {\n this.order = order;\n this.paymentFormLoaded();\n });\n }\n );\n return;\n }\n\n if (this.order.order_status === 'setup_payment') {\n this.paymentFormLoaded();\n return;\n }\n\n if (this.order.order_status === 'started_payment') {\n this.authenticationService.clearCache();\n this.translate.get('toasts.errorTitle').subscribe(title => {\n this.toastr.error(\n 'Es wurde bereits ein Bezahlvorgang gestartet. Bitte warte 5 Minuten und versuche es dann erneut.',\n title\n );\n this.router.navigateByUrl(this.asset.permalink);\n });\n return;\n }\n\n // status is 'created'\n this.orderService.setupPayment(this.order).subscribe(\n (order: Order) => {\n this.order = order;\n this.paymentFormLoaded();\n },\n (err: HttpErrorResponse) => this.handleSetupPaymentError(err)\n );\n }\n\n public handleSetupPaymentError(err: HttpErrorResponse) {\n console.warn('handleSetupPaymentError', err);\n\n if (err.error.error === 'PRODUCT_ALREADY_PURCHASED') {\n this.translate.get('toasts.errorTitle').subscribe(trans => {\n this.toastr.error('Sie haben dieses Produkt bereits bestellt', trans);\n });\n }\n }\n\n public paymentFormLoaded() {\n this.cdr.detectChanges();\n of(this.environment.adyen.mode)\n .pipe(\n map((mode: 'test' | 'live') => {\n return (\n 'https://checkoutshopper-' +\n mode +\n '.adyen.com/checkoutshopper/assets/js/sdk/checkoutSDK.' +\n this.environment.adyen.version +\n '.min.js'\n );\n }),\n switchMap(src => {\n return this.scriptService.load({\n name: 'Adyen',\n src: src,\n integrity: null,\n usercentricsTemplateId: this.environment.adyen.usercentricsTemplateId\n });\n })\n )\n .subscribe(\n () => {\n // initiate the adyen script\n chckt.checkout(JSON.stringify(this.order.payment_response), '#payment-form', {\n context: this.environment.adyen.mode,\n useDefaultCSS: false,\n consolidateCards: false,\n translations: {\n payButton: {\n 'de-DE': 'Kostenpflichtig bestellen'\n },\n 'payButton.formatted': {\n 'de-DE': 'Kostenpflichtig bestellen %@'\n }\n }\n });\n\n chckt.hooks.onSubmitAction = (actionButton: HTMLButtonElement, extraData: any) => {\n // Hide the 'pay' & 'show more payment methods' buttons\n chckt.toggleActionButton(false);\n chckt.toggleShowMorePMsButton(false);\n\n // Give all paymentMethod divs a disabled state\n chckt.toggleEnableAllPaymentMethods(false);\n // Block default functionality\n\n this.orderService.startPayment(this.order).subscribe(\n (order: Order) => {\n this.order = order;\n chckt.submitPaymentForm();\n },\n () => {\n this.toastr.error('Die Zahlung konnte nicht gestartet werden.', 'Fehler');\n }\n );\n return false;\n };\n\n chckt.hooks.beforeComplete = (node, paymentData) => {\n // 'node' is a reference to the Checkout container HTML node.\n // 'paymentData' is the result of the payment. Includes 'payload' variable,\n // which you should submit to the server for the Checkout API /verify call.\n\n this.orderService.verifyPayment(this.order, paymentData.payload).subscribe(\n res => {\n this.order = res;\n this.authenticationService.clearCache();\n this.showSuccessMessageAndRedirectToAssetPage();\n },\n err => {\n console.error(err);\n this.translate.get('toasts.errorTitle').subscribe(trans => {\n this.toastr.error(JSON.stringify(err.error.message), trans);\n });\n }\n );\n\n return false; // return false to replace the default handling.\n };\n },\n err => console.error(err)\n );\n }\n\n public verifyPayment(payload: string) {\n if (!this.order) {\n this.showErrorMessageAndRestartPayment('Payment Error');\n }\n\n if (this.order.order_status === 'payment_authorized') {\n this.showSuccessMessageAndRedirectToAssetPage();\n return;\n }\n this.orderService.verifyPayment(this.order, payload).subscribe(\n () => {\n this.authenticationService.clearCache();\n this.showSuccessMessageAndRedirectToAssetPage();\n },\n err => {\n console.error('payment refused', err);\n if (err.error.message.errorMessage) {\n this.showErrorMessageAndRestartPayment(err.error.message.errorMessage);\n } else {\n this.showErrorMessageAndRestartPayment('Payment Error');\n }\n }\n );\n }\n\n public showErrorMessageAndRestartPayment(errorMessage) {\n this.toastr.error(errorMessage, 'Fehler');\n this.hasReturnedFromAdyen = false;\n this.authenticationService.clearCache();\n\n if (errorMessage[0] === 'Payment cancelled' || errorMessage[0] === 'Payment refused') {\n this.orderService.deleteOrder(this.order).subscribe(\n () => {\n this.startPaymentProcess(this.order.products[0].uuid, this.order.products[0].asset_id);\n },\n () => {\n console.error('could not delete order after canceling at adyen');\n this.startPaymentProcess(this.order.products[0].uuid, this.order.products[0].asset_id);\n }\n );\n } else {\n this.startPaymentProcess(this.order.products[0].uuid, this.order.products[0].asset_id);\n }\n }\n\n public showSuccessMessageAndRedirectToAssetPage() {\n let conversionDiscountCode = '';\n if (this.order.coupons && this.order.coupons[0]) {\n conversionDiscountCode = this.order.coupons[0].uuid;\n }\n\n // fixme, as soon as api provides values as numbers we can provide it directly\n let totalToPay = this.order.total_to_pay;\n totalToPay = totalToPay.replace('EUR', '');\n totalToPay = totalToPay.replace(',', '.');\n let totalToPayFloat = parseFloat(totalToPay);\n\n if (totalToPayFloat < 0.01) {\n totalToPayFloat = 1.0;\n }\n const tax = new Date().getFullYear() === 2020 ? 1.16 : 1.19;\n\n const totalNetToPayFloat = totalToPayFloat / tax;\n\n this.analyticsService.trackEvent('Conversion', {\n event: 'Conversion',\n gtmCustom: {\n googleAnalyticsEventAction: 'Conversion',\n conversionOrderId: this.order.uuid,\n conversionTotalOrderValue: totalToPayFloat,\n conversionTotalNetOrderValue: totalNetToPayFloat,\n conversionTotalOrderCurrency: 'EUR',\n conversionDiscountCode: conversionDiscountCode\n }\n });\n\n this.authenticationService.clearCache();\n this.translate.get('checkout.success').subscribe(mes => {\n this.assetService.getAsset(this.order.products[0].asset_id).subscribe((asset: RawAssetFromApi) => {\n this.router.navigateByUrl('/' + asset.permalink).then(() => {\n this.translate.get('toasts.successTitle').subscribe(trans => {\n this.toastr.success(mes, trans);\n });\n });\n });\n });\n }\n\n public orderHasNewCustomerCoupon() {\n if (!this.order) {\n return false;\n }\n\n if (!this.order.coupons) {\n return false;\n }\n if (this.order.coupons.length === 0) {\n return false;\n }\n const newCustomerCoupons = this.order.coupons.filter(\n (coupon: Coupon) => coupon.promotional_events && coupon.promotional_events.includes('new_customer')\n );\n return newCustomerCoupons.length > 0;\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvcGFnZXMvY29uZmlybS1lbWFpbC1wYWdlL2NvbmZpcm0tZW1haWwuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AgofEnum } from '../../../enum/agof.enum';\nimport { environment } from '../../../environments/environment';\nimport { AgofService } from '../../../services/agof.service';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\n\n@Component({\n selector: 'app-confirm-email',\n templateUrl: './confirm-email.component.html',\n styleUrls: ['./confirm-email.component.scss']\n})\nexport class ConfirmEmailComponent implements OnInit {\n public email = '';\n public isLoading = false;\n public successMessage: string;\n public errorMessage: string;\n public environment = environment;\n\n constructor(\n private authenticationService: AuthenticationService,\n private analyticsService: AnalyticsService,\n private agofService: AgofService,\n private activatedRoute: ActivatedRoute,\n private translation: TranslateService,\n private toastr: ToastrService\n ) {}\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Information_about_the_website_Service\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: window.location.pathname,\n survey: true\n }\n }\n });\n\n this.activatedRoute.queryParams.subscribe(params => {\n if (params.hasOwnProperty('email')) {\n this.email = params.email;\n }\n });\n }\n\n public onSubmit() {\n this.isLoading = true;\n this.authenticationService.requestRegistrationConfirmationMail(this.email).subscribe(\n (response: { message: string; status: number }) => {\n this.isLoading = false;\n if (response.status !== 200) {\n this.errorMessage = response.message;\n } else {\n this.errorMessage = null;\n this.successMessage = response.message;\n }\n },\n err => {\n this.isLoading = false;\n this.translation.get('toasts.errorTitle').subscribe(trans => {\n this.toastr.error(err.error.message, trans);\n });\n console.error(err);\n }\n );\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvcGFnZXMvZGFzaGJvYXJkLXBhZ2UvY2hhbmdlLXlvdXRocHJvdGVjdGlvbi1waW4vY2hhbmdlLXlvdXRocHJvdGVjdGlvbi1waW4uY29tcG9uZW50LnNjc3MifQ== */\";","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { User } from '../../../../entities/user.entity';\nimport { environment } from '../../../../environments/environment';\nimport { YouthProtectionPinService } from '../../../../services/api/methods/youth-protection-pin.service';\nimport { switchMap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-change-youthprotection-pin',\n templateUrl: './change-youthprotection-pin.component.html',\n styleUrls: ['./change-youthprotection-pin.component.scss']\n})\nexport class ChangeYouthprotectionPinComponent implements OnInit {\n @Output() public close = new EventEmitter();\n @Input() public me: User;\n public error = {\n password: null,\n pin: null\n };\n public newPin = '';\n public password = '';\n public environment;\n\n constructor(\n private youthProtectionService: YouthProtectionPinService,\n private translateService: TranslateService,\n private toastr: ToastrService\n ) {\n this.environment = environment;\n }\n\n public ngOnInit(): void {}\n\n public closeModal() {\n this.close.next(true);\n }\n\n public setPin() {\n this.error = { password: null, pin: null };\n\n if (this.password === '') {\n this.error.password = 'Bitte gebe dein Passwort an.';\n return;\n }\n if (this.newPin === '' || this.newPin.length !== 4) {\n this.error.pin = 'Bitte gib einen PIN an.';\n return;\n }\n this.youthProtectionService\n .changePinWithPassword(this.newPin, this.password)\n .pipe(\n switchMap(() =>\n this.translateService.get([\n 'ageVerification.setYouthProtectionPin.messagePinActivated',\n 'toasts.successTitle'\n ])\n )\n )\n .subscribe(\n res => {\n this.toastr.success(\n res['ageVerification.setYouthProtectionPin.messagePinActivated'],\n res['toasts.successTitle']\n );\n this.closeModal();\n },\n (resp: HttpErrorResponse) => {\n if (resp.error.error === 'AGE_VERIFICATION_EXPIRED') {\n this.error.password = 'Bitte prüfe dein Passwort';\n return;\n }\n if (resp.error.message.user && resp.error.message.user.length > 0) {\n this.error.password = resp.error.message.user.join('. ');\n return;\n }\n\n this.error = resp.error.message;\n this.toastr.error(JSON.stringify(resp.error.message));\n }\n );\n }\n}\n","import { Component, OnInit, TemplateRef } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, UrlSegment } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as moment from 'moment';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { User } from '../../../entities/user.entity';\nimport { Order } from '../../../entities/order.entity';\nimport { environment } from '../../../environments/environment';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { switchMap } from 'rxjs/operators';\nimport { StorageMap } from '@ngx-pwa/local-storage';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html'\n})\nexport class DashboardComponent implements OnInit {\n public environment;\n public modalRef: BsModalRef;\n\n public me: User;\n public assets: RawAssetFromApi[] = [];\n\n /**\n * orders only contains orders with status payment_authorized\n */\n public orders: Order[];\n public orderInModal: Order;\n\n constructor(\n private title: Title,\n private modalService: BsModalService,\n private trans: TranslateService,\n private authenticationService: AuthenticationService,\n private storage: StorageMap,\n private activeRoute: ActivatedRoute\n ) {\n this.environment = environment;\n moment.locale(this.environment.defaultLocale);\n\n trans.get('dashboard.pageTitle').subscribe(res => this.title.setTitle(res + environment.pageTitleAppendix));\n\n this.loadMe();\n }\n\n public ngOnInit(): void {\n this.activeRoute.url\n .pipe(switchMap((url: UrlSegment[]) => this.storage.set('redirectAfterSetPin', url[0])))\n .subscribe();\n // TRACK PAGEVIEWS IN CHILD COMPONENTS\n }\n\n public loadMe() {\n this.authenticationService.me().subscribe((data: User) => {\n this.me = data;\n });\n }\n\n public openModal(template: TemplateRef, order: Order) {\n this.orderInModal = order;\n this.modalRef = this.modalService.show(template, { class: 'modal-lg' });\n }\n\n public closeModal(): void {\n this.modalRef.hide();\n }\n}\n","import { ConfirmationDialogService } from '../../../../services/confirmation-dialog.service';\nimport { environment } from '../../../../environments/environment';\nimport { User } from '../../../../entities/user.entity';\nimport { RawAssetFromApi } from '../../../../entities/raw-asset-from-api.entity';\nimport { Order } from '../../../../entities/order.entity';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, UrlSegment } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as moment from 'moment';\nimport { BsModalService } from 'ngx-bootstrap';\nimport { OrderProduct } from '../../../../entities/order-product.entity';\nimport { ToastrService } from 'ngx-toastr';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { forkJoin } from 'rxjs';\nimport { AgofService } from '../../../../services/agof.service';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { AssetsService } from '../../../../services/api/methods/assets.service';\nimport { OrderService } from '../../../../services/api/methods/order.service';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { FullOrder } from '../../../../entities/full-order.entity';\n\n@Component({\n selector: 'app-orders',\n templateUrl: './orders.component.html'\n})\nexport class OrdersComponent implements OnInit {\n public environment;\n\n public me: User;\n public assets: RawAssetFromApi[] = [];\n\n /**\n * orders only contains orders with status payment_authorized\n */\n public orders: FullOrder[];\n\n constructor(\n private title: Title,\n private modalService: BsModalService,\n private trans: TranslateService,\n private authenticationService: AuthenticationService,\n private orderService: OrderService,\n private assetsService: AssetsService,\n private storage: StorageMap,\n private analyticsService: AnalyticsService,\n private agofService: AgofService,\n private activeRoute: ActivatedRoute,\n private toastr: ToastrService,\n private confirmationDialogService: ConfirmationDialogService\n ) {\n this.environment = environment;\n moment.locale(this.environment.defaultLocale);\n\n this.loadOrders();\n this.loadMe();\n }\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n this.activeRoute.url\n .pipe(switchMap((url: UrlSegment[]) => this.storage.set('redirectAfterSetPin', url[0])))\n .subscribe(() => {});\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Information_about_the_website_Service\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: window.location.pathname,\n survey: true\n }\n }\n });\n }\n\n public loadOrders() {\n this.orderService.getOrders().subscribe(orders => {\n this.orders = orders.filter(\n (order: Order) => order.order_status !== 'created' && order.order_status !== 'setup_payment'\n );\n\n this.orders.forEach((order: Order) => {\n order.products.forEach((product: OrderProduct) => {\n if (product.recurring_mode === 'non_recurring') {\n this.assetsService.getAsset(product.asset_id).subscribe((asset: RawAssetFromApi) => {\n if (asset) {\n this.assets[asset.uuid] = asset;\n }\n });\n }\n });\n });\n });\n }\n\n public loadMe() {\n this.authenticationService.me().subscribe((data: User) => {\n this.me = data;\n });\n }\n\n public canGetCancelled(order: Order): boolean {\n // already cancelled?\n if (order.hasOwnProperty('cancelled_at') && order.cancelled_at !== null) {\n return false;\n }\n if (order.order_status === 'payment_authorized') {\n // order has recurring product\n if (order.products.filter((prod: OrderProduct) => prod.recurring_mode === 'recurring').length > 0) {\n return true;\n }\n }\n\n return false;\n }\n\n public cancelOrder(order: Order) {\n forkJoin([\n this.trans.get('dashboard.btnCancelOrder'),\n this.trans.get('dashboard.modalConfirmCancelOrder'),\n this.trans.get('dashboard.modalYes'),\n this.trans.get('dashboard.modalNo')\n ])\n .pipe(\n switchMap(([title, text, ok, no]) => this.confirmationDialogService.confirm(title, text, ok, no)),\n filter(res => res),\n switchMap(() => this.orderService.deleteOrder(order)),\n switchMap(() =>\n forkJoin([this.trans.get('dashboard.orderDeletedMessage'), this.trans.get('toasts.successTitle')])\n )\n )\n .subscribe(\n ([message, title]) => {\n this.toastr.success(message, title);\n this.loadOrders();\n this.loadMe();\n },\n err => {\n this.trans.get('toasts.errorTitle').subscribe(title => {\n this.toastr.error(err, title);\n });\n console.error(err);\n }\n );\n }\n\n public getOrderActiveUntil(order: Order) {\n // todo use a pipe\n return moment(order.created_at).add(order.products[0].duration_amount, order.products[0].duration_unit);\n }\n\n public getAssetLink(asset: RawAssetFromApi): string {\n let link = '/';\n if (asset.section && asset.section.permalink) {\n link += asset.section.permalink + '/';\n }\n if (asset.permalink) {\n link += asset.permalink;\n }\n return link;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as moment from 'moment';\nimport { environment } from '../../../../environments/environment';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { AgofService } from '../../../../services/agof.service';\nimport { SubscriptionService } from '../../../../services/api/methods/subscription.service';\nimport { Subscription } from '../../../../entities/subscription';\nimport { ConfirmationDialogService } from '../../../../services/confirmation-dialog.service';\n\n@Component({\n selector: 'app-subscribed-channels',\n templateUrl: './subscribed-channels.component.html'\n})\nexport class SubscribedChannelsComponent implements OnInit {\n public environment;\n\n public subscriptions: Subscription[];\n\n constructor(\n private title: Title,\n private trans: TranslateService,\n private analyticsService: AnalyticsService,\n private agofService: AgofService,\n private subscriptionService: SubscriptionService,\n private confirmationService: ConfirmationDialogService\n ) {\n this.environment = environment;\n moment.locale(this.environment.defaultLocale);\n\n trans\n .get('subscribedChannels.pageTitle')\n .subscribe(res => this.title.setTitle(res + environment.pageTitleAppendix));\n }\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Information_about_the_website_Service\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: window.location.pathname,\n survey: true\n }\n }\n });\n this.subscriptionService.subscriptionStore$.subscribe(subscriptions => {\n this.subscriptions = subscriptions;\n });\n }\n\n public removeSubscription(sub: Subscription) {\n this.subscriptionService.delete$(sub).subscribe();\n }\n\n public onIntervalChange(e, sub: Subscription) {\n sub.interval_type = e;\n this.subscriptionService.update$(sub).subscribe();\n }\n\n public removeTagFilterValueFromSubscription(value: string, tagCallname: string, sub: Subscription) {\n const tagFilterToUpdate = sub.tag_filters.find(filter => filter.callname === tagCallname);\n tagFilterToUpdate.values = tagFilterToUpdate.values.filter(v => v !== value);\n\n this.subscriptionService.update$(sub).subscribe();\n }\n}\n","import { ConfirmationDialogService } from '../../../../services/confirmation-dialog.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { User } from '../../../../entities/user.entity';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin } from 'rxjs';\nimport { catchError, filter, switchMap } from 'rxjs/operators';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-user-data',\n templateUrl: './user-data.component.html'\n})\nexport class UserDataComponent implements OnInit {\n public showUntouchedFieldErrors = false;\n public user: User;\n public form: FormGroup;\n\n constructor(\n private fb: FormBuilder,\n private authenticationService: AuthenticationService,\n private toastr: ToastrService,\n private translate: TranslateService,\n private router: Router,\n private confirmationDialogService: ConfirmationDialogService\n ) {}\n\n public ngOnInit(): void {\n this.authenticationService.me().subscribe((me: User) => {\n this.user = me;\n this.buildForm();\n });\n }\n\n public buildForm(): void {\n this.form = this.fb.group({\n real_name: [this.user.real_name, [Validators.required]],\n street: [this.user.street],\n zip_code: [this.user.zip_code],\n city: [this.user.city],\n alpha2_country_code: [this.user.alpha2_country_code, [Validators.required]],\n phone: [this.user.phone],\n sex: [this.user.sex, [Validators.required]],\n newsletter: [this.user.newsletter]\n /* publisher: this.fb.group({\n name: [this.user.publisher.name],\n })*/\n });\n }\n\n public save() {\n this.authenticationService\n .updateMe(this.form.getRawValue())\n .pipe(\n switchMap(() =>\n forkJoin([\n this.translate.get('toasts.successTitle'),\n this.translate.get('toasts.genericSaveMessage')\n ])\n )\n )\n .subscribe(\n ([title, message]) => {\n this.toastr.success(message, title);\n },\n err => {\n this.translate.get('toasts.errorTitle').subscribe(title => {\n this.toastr.error(null, title);\n });\n }\n );\n }\n\n public deleteMe(): void {\n forkJoin([\n this.translate.get('dashboard.deleteBtn'),\n this.translate.get('dashboard.deleteAccountBtn'),\n this.translate.get('dashboard.deleteUserAccountModalText'),\n this.translate.get('confirmationDialogs.cancel')\n ])\n .pipe(\n switchMap(([btnText, title, text, no]) =>\n this.confirmationDialogService.confirm(title, text, btnText, no, 'lg').pipe(catchError(r => r))\n ),\n filter((res: boolean) => res === true),\n switchMap(() =>\n forkJoin([\n this.translate.get('dashboard.deleteBtn'),\n this.translate.get('dashboard.deleteAccountBtn'),\n this.translate.get('dashboard.deleteUserLastWarning'),\n this.translate.get('confirmationDialogs.cancel')\n ])\n ),\n switchMap(([btnText, title, text, no]) =>\n this.confirmationDialogService.confirm(title, text, btnText, no, 'lg').pipe(catchError(r => r))\n ),\n filter((res: boolean) => res === true),\n switchMap(() => this.authenticationService.deleteMe()),\n // switchMap(() => this.authenticationService.logout()),\n switchMap(() =>\n forkJoin([\n this.translate.get('toasts.successTitle'),\n this.translate.get('dashboard.deleteUserConfirmation')\n ])\n )\n )\n .subscribe(\n ([title, message]) => {\n this.toastr.success(message, title);\n this.router.navigate(['']);\n },\n err => {\n this.translate.get('toasts.errorTitle').subscribe(res => {\n this.toastr.error(err, res);\n });\n }\n );\n }\n}\n","import { ToastrService } from 'ngx-toastr';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { map, switchMap } from 'rxjs/operators';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { environment } from '../../../environments/environment';\nimport { AlertNotificationsService } from '../../../services/alert-notifications.service';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { AssetsService } from '../../../services/api/methods/assets.service';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { ExternalScriptsLoaderService } from '../../../services/external-scripts-loader.service';\nimport { Asset } from '../../../entities/asset.entity';\nimport { of } from 'rxjs/internal/observable/of';\nimport { DonationEntity } from '../../../entities/donation.entity';\nimport { DonationService } from '../../../services/donation.service';\n\ndeclare let chckt: any;\n\n@Component({\n selector: 'app-donation-checkout',\n templateUrl: './donation-checkout-page.component.html'\n})\nexport class DonationCheckoutPageComponent implements OnInit {\n public environment;\n\n public asset: Asset;\n public amount: number;\n public donation: DonationEntity;\n public donationUuid: string;\n public showError = false;\n public hasReturnedFromAdyen = false;\n public acceptsToc = false;\n public acceptsRevocation = false;\n\n constructor(\n private authenticationService: AuthenticationService,\n private assetService: AssetsService,\n private donationService: DonationService,\n private route: ActivatedRoute,\n private alertNotificationService: AlertNotificationsService,\n private translate: TranslateService,\n private router: Router,\n private cdr: ChangeDetectorRef,\n private analyticsService: AnalyticsService,\n private scriptService: ExternalScriptsLoaderService,\n private toastr: ToastrService\n ) {\n this.environment = environment;\n }\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n\n const query = <{ donation: string; asset: string; amount: string; payload?: string; o?: string }>(\n this.route.snapshot.queryParams\n );\n\n if (query.donation && query.asset && query.donation) {\n this.amount = parseInt(query.amount, 10);\n this.donationUuid = query.donation;\n this.assetService.getAsset(query.asset).subscribe((asset: Asset) => {\n this.asset = asset;\n this.setupPayment(query.donation);\n });\n\n return;\n } else if (query.payload && query.donation) {\n this.hasReturnedFromAdyen = true;\n this.verifyPayment(query.payload, query.donation);\n return;\n } else {\n // no product or asset => redirect to home\n console.error('no donation and asset or no payload and asset, redirect to home');\n this.router.navigateByUrl('/').then();\n }\n }\n\n public setupPayment(donationUuid: string) {\n this.donationService.setupPayment(donationUuid).subscribe(\n (donation: DonationEntity) => {\n this.donation = donation;\n this.paymentFormLoaded();\n },\n (err: HttpErrorResponse) => this.handleSetupPaymentError(err, donationUuid)\n );\n }\n\n public handleSetupPaymentError(err: HttpErrorResponse, donationUuid) {\n this.donationService.getDonation(donationUuid).subscribe(donation => {\n this.donation = donation;\n this.paymentFormLoaded();\n });\n }\n\n public paymentFormLoaded() {\n this.cdr.detectChanges();\n of(this.environment.adyen.mode)\n .pipe(\n map((mode: 'test' | 'live') => {\n return (\n 'https://checkoutshopper-' +\n mode +\n '.adyen.com/checkoutshopper/assets/js/sdk/checkoutSDK.' +\n this.environment.adyen.version +\n '.min.js'\n );\n }),\n switchMap(src => {\n return this.scriptService.load({\n src: src,\n integrity: null,\n name: 'Adyen',\n usercentricsTemplateId: this.environment.adyen.usercentricsTemplateId\n });\n })\n )\n .subscribe(\n () => {\n // initiate the adyen script\n chckt.checkout(JSON.stringify(this.donation.payment_response), '#payment-form', {\n context: this.environment.adyen.mode,\n useDefaultCSS: false,\n consolidateCards: false,\n translations: {\n payButton: {\n 'de-DE': 'Spenden'\n },\n 'payButton.formatted': {\n 'de-DE': 'Spenden %@'\n }\n }\n });\n\n chckt.hooks.onSubmitAction = (actionButton: HTMLButtonElement, extraData: any) => {\n console.log('actionbtn', actionButton);\n console.log('extraData', extraData);\n\n // Hide the 'pay' & 'show more payment methods' buttons\n chckt.toggleActionButton(false);\n chckt.toggleShowMorePMsButton(false);\n\n // Give all paymentMethod divs a disabled state\n chckt.toggleEnableAllPaymentMethods(false);\n // Block default functionality\n\n this.donationService.startPayment(this.donationUuid).subscribe(\n () => {\n chckt.submitPaymentForm();\n },\n () => {\n this.toastr.error('Die Zahlung konnte nicht gestartet werden.', 'Fehler');\n }\n );\n return false;\n };\n\n chckt.hooks.beforeComplete = (node, paymentData) => {\n // 'node' is a reference to the Checkout container HTML node.\n // 'paymentData' is the result of the payment. Includes 'payload' variable,\n // which you should submit to the server for the Checkout API /verify call.\n\n this.donationService.verifyPayment(this.donationUuid, paymentData.payload).subscribe(\n donation => {\n this.showSuccessMessageAndRedirectToAssetPage(donation);\n },\n err => {\n this.donationService\n .getDonation(this.donationUuid)\n .subscribe((donation: DonationEntity) => {\n this.showErrorMessageAndRestartPayment(\n JSON.stringify(err.error.message),\n donation\n );\n });\n }\n );\n\n return false; // return false to replace the default handling.\n };\n },\n err => console.error(err)\n );\n }\n\n public verifyPayment(payload: string, donationUuid: string) {\n this.donationService.verifyPayment(donationUuid, payload).subscribe(\n (donation: DonationEntity) => {\n this.showSuccessMessageAndRedirectToAssetPage(donation);\n },\n err => {\n console.error('payment refused', err);\n console.log('donationUuid', donationUuid);\n\n this.donationService.getDonation(donationUuid).subscribe((donation: DonationEntity) => {\n if (err.error.message.errorMessage && typeof err.error.message.errorMessage === 'string') {\n this.showErrorMessageAndRestartPayment(err.error.message.errorMessage, donation);\n } else {\n this.showErrorMessageAndRestartPayment('Payment Error', donation);\n }\n });\n }\n );\n }\n\n public showErrorMessageAndRestartPayment(errorMessage, donation: DonationEntity) {\n this.assetService.getAsset(donation.asset_uuid).subscribe((asset: RawAssetFromApi) => {\n this.router.navigateByUrl('/' + asset.permalink).then(() => {\n this.toastr.error(errorMessage, 'Fehler');\n });\n });\n }\n\n public showSuccessMessageAndRedirectToAssetPage(donation: DonationEntity) {\n this.assetService.getAsset(donation.asset_uuid).subscribe((asset: RawAssetFromApi) => {\n this.router.navigateByUrl('/' + asset.permalink).then(() => {\n this.toastr.success('Vielen Dank für deine Spende', 'Danke!');\n });\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { AgofEnum } from '../../../enum/agof.enum';\nimport { Playlist } from '../../../entities/playlist.entity';\nimport { AgofService } from '../../../services/agof.service';\nimport { PlaylistsService } from '../../../services/api/methods/playlists.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { AlertNotificationsService } from '../../../services/alert-notifications.service';\nimport { AlertType } from '../../../entities/alert.entity';\nimport { DonationService } from '../../../services/donation.service';\nimport { SidebarService } from '../../../services/sidebar.service';\n\n@Component({\n selector: 'app-donation-page',\n templateUrl: './donation-page.component.html'\n})\nexport class DonationPageComponent implements OnInit {\n public playlist: Playlist;\n public environment = environment;\n public totalAmount: number;\n public showMoreText = false;\n private currentAllAssetsPage = 1;\n private playlistUUID = '6d75b26050130138953a448a5b29e908';\n\n constructor(\n private donationService: DonationService,\n private analyticsService: AnalyticsService,\n private notificationService: AlertNotificationsService,\n private route: ActivatedRoute,\n private sidebarService: SidebarService,\n private playlistsService: PlaylistsService,\n private agofService: AgofService\n ) {}\n\n public ngOnInit(): void {\n this.sidebarService.close();\n\n this.analyticsService.trackPageview();\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: window.location.pathname + '/',\n survey: true\n }\n }\n });\n\n this.playlistsService.getPlaylist(this.playlistUUID, 1, 100).subscribe((playlist: Playlist) => {\n this.playlist = playlist;\n });\n\n this.donationService.getTotalAmount().subscribe(res => {\n this.totalAmount = res;\n // @ts-ignore\n window.prerenderReady = true;\n });\n\n this.route.queryParams.subscribe(params => {\n if (params.success) {\n this.notificationService.alert(AlertType.Success, 'Vielen Dank für deine Spende!');\n }\n });\n }\n\n public loadMoreOfAllAssets() {\n if (this.playlist.assets.length < this.playlist.assets_count) {\n this.playlistsService\n .getPlaylist(this.playlistUUID, this.currentAllAssetsPage + 1, 20)\n .subscribe((res: Playlist) => {\n this.playlist.assets.push(...res.assets);\n this.currentAllAssetsPage++;\n });\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { Section } from '../../../../entities/section.entity';\nimport { AssetsService } from '../../../../services/api/methods/assets.service';\nimport { environment } from '../../../../environments/environment';\nimport { ActivatedRoute, Router, UrlSegment } from '@angular/router';\nimport { PlayerComponent } from '../../../elements/player/player.component';\nimport { LiveEventsService } from '../../../../services/api/methods/live-events.service';\nimport { LiveEvent } from '../../../../entities/live-event.entity';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { AgofService } from '../../../../services/agof.service';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { RoutingHelperService } from '../../../../services/routing-helper.service';\nimport { Asset } from '../../../../entities/asset.entity';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { CanonicalTagService } from '../../../../services/canonical-tag.service';\nimport { TagCloudComponent } from './tag-cloud/tag-cloud.component';\nimport { AdContainerService } from '../../../elements/ad-container/ad-container.service';\nimport { WebsocketService } from '../../../../services/websocket.service';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { AppName } from '../../../../enum/app-name.enum';\nimport { AuthenticationService } from '../../../../services/api/methods/authentication.service';\nimport { map, switchMap } from 'rxjs/operators';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'app-asset-page',\n templateUrl: './asset-page.component.html'\n})\nexport class AssetPageComponent implements OnInit, OnDestroy {\n @Input() public section: Section | undefined;\n @ViewChild('player') public player: PlayerComponent;\n @ViewChild('tagCloudComponent') public tagCloudComponent: TagCloudComponent;\n @ViewChild('container') public container: ElementRef;\n public containerWidth: number;\n public relatedAssets: Asset[] = [];\n public afterXmas = new Date().getFullYear() > 2020 || new Date().getDate() > 24;\n public _assets: Asset[];\n public mainAsset: Asset;\n public showRelatedAssets = true;\n public notitle: boolean;\n public novideo: boolean;\n public notags: boolean;\n public viewers: number = null;\n public environment = environment;\n public autoplay = false;\n public hasAds = false;\n public showBottomPlaylist = environment.player.showBottomPlaylist;\n public AppName = AppName;\n private viewersSubscription: Subscription;\n private currentRelatedAssetPage = 0;\n private subscriptionToAdContainer;\n public sponsorLink: string;\n\n constructor(\n private authenticationService: AuthenticationService,\n private assetService: AssetsService,\n private router: Router,\n private liveEventsService: LiveEventsService,\n private activatedRoute: ActivatedRoute,\n private cdr: ChangeDetectorRef,\n private metaService: Meta,\n private title: Title,\n private analyticsService: AnalyticsService,\n private agofService: AgofService,\n private routingHelperService: RoutingHelperService,\n private canonicalTagService: CanonicalTagService,\n private adContainerService: AdContainerService,\n private websocketService: WebsocketService\n ) {\n this.hasAds = this.environment.ads.useAds;\n this.sponsorLink =\n 'https://bs.serving-sys.com/Serving/adServer.bs?cn=trd&pli=1076109348&gdpr=${GDPR}&gdpr_consent=${GDPR_CONSENT_68}&adid=1082195334&ord=' +\n new Date().getTime();\n }\n\n @Input()\n public set asset(asset: Asset) {\n if (asset.url) {\n this.canonicalTagService.updateCanonicalURL(asset.url);\n }\n if (this.viewersSubscription) {\n this.viewersSubscription.unsubscribe();\n }\n this.viewersSubscription = this.websocketService\n .viewers(asset)\n .subscribe((amount: { room: string; amount: number }) => {\n if (amount.amount !== this.viewers) {\n this.viewers = amount.amount;\n this.cdr.markForCheck();\n }\n });\n this.mainAsset = asset;\n this._assets = [asset];\n if (asset.flags && asset.flags.includes('norelated')) {\n this.showRelatedAssets = false;\n }\n\n if (asset.flags && asset.flags.includes('notitle')) {\n this.notitle = true;\n }\n if (asset.flags && asset.flags.includes('novideo')) {\n this.novideo = true;\n }\n if (asset.flags && asset.flags.includes('notags')) {\n this.notags = true;\n }\n if (asset.live === true && this.mainAsset.channel) {\n this.liveEventsService\n .getLiveEventsForTagFilter(\n [\n {\n callname: 'bereich',\n values: this.mainAsset.channel.values\n }\n ],\n 20\n )\n .subscribe(\n (liveEvents: LiveEvent[]) => {\n liveEvents.forEach((liveEvent: LiveEvent) => {\n if (liveEvent.now === true) {\n const idx = this._assets.findIndex(ass => ass.uuid === liveEvent.asset_uuid);\n // only add the asset if it is not in the array already, when it is free to view or when the user has bought it\n if (idx < 0) {\n this.assetService\n .getAsset(liveEvent.asset_uuid)\n .pipe(\n switchMap(liveAsset => {\n if (liveAsset.contents_freely_accessible === true) {\n return of(liveAsset);\n }\n return this.authenticationService\n .userHasSubscriptionOrPpvForAsset(liveAsset)\n .pipe(\n map(hasSub => {\n if (hasSub) {\n return liveAsset;\n }\n return null;\n })\n );\n })\n )\n .subscribe((liveAsset: Asset | null) => {\n if (liveAsset !== null) {\n const ass = this._assets;\n ass.push(liveAsset);\n this._assets = [...ass];\n }\n });\n }\n }\n });\n },\n err => console.error('error getting live events for conference mode', err)\n );\n }\n }\n\n @HostListener('window:resize')\n public setContainerWidth() {\n if (this.container) {\n this.containerWidth = this.container.nativeElement.clientWidth;\n this.cdr.detectChanges();\n }\n }\n\n public ngOnDestroy() {\n if (this.subscriptionToAdContainer) {\n this.subscriptionToAdContainer.unsubscribe();\n }\n }\n\n public ngOnInit(): void {\n this.loadRelatedAssets();\n\n this.subscriptionToAdContainer = this.adContainerService.sizeChange.subscribe(() => {\n this.setContainerWidth();\n });\n\n this.title.setTitle(this.mainAsset.label + environment.pageTitleAppendix);\n this.metaService.updateTag(\n { property: 'description', content: this.mainAsset.teaser },\n 'property=\"description\"'\n );\n this.activatedRoute.url.subscribe((url: UrlSegment[]) => {\n this.metaService.updateTag(\n {\n property: 'og:url',\n name: 'https://' + window.location.host + '/' + url.join('/')\n },\n 'property=\"og:url\"'\n );\n });\n\n this.metaService.updateTag(\n {\n property: 'og:title',\n content: this.mainAsset.label + environment.pageTitleAppendix\n },\n 'property=\"og:title\"'\n );\n this.metaService.updateTag(\n { property: 'og:description', content: this.mainAsset.teaser },\n 'property=\"og:description\"'\n );\n this.metaService.updateTag(\n { property: 'og:image', content: this.mainAsset.images[0].url },\n 'property=\"og:image\"'\n );\n this.metaService.updateTag(\n { property: 'twitter:card', content: 'summary_large_image' },\n 'property=\"twitter:card\"'\n );\n\n if (this.routingHelperService.shouldAutoplay()) {\n this.autoplay = true;\n } else {\n // wenn kein autoplay, dann darf die seite eine agof text impression schicken\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: window.location.pathname,\n survey: true\n }\n }\n });\n }\n this.setContainerWidth();\n }\n\n public loadRelatedAssets() {\n this.assetService\n .getRelatedAssets(this.mainAsset, this.currentRelatedAssetPage + 1, 18)\n .subscribe((assets: Asset[]) => {\n this.currentRelatedAssetPage++;\n if (environment.appName !== 'handball') {\n this.relatedAssets.push(...assets);\n this.cdr.markForCheck();\n return;\n }\n this.relatedAssets.push(\n ...assets.filter((as: Asset) => {\n if (as.section) {\n return as.section.uuid === this.mainAsset.section.uuid;\n }\n return true;\n })\n );\n this.cdr.markForCheck();\n });\n }\n\n public share(network) {\n switch (network) {\n case 'facebook':\n window.open('https://www.facebook.com/sharer.php?u=' + encodeURI(window.location.href));\n return;\n case 'twitter':\n window.open('https://twitter.com/share?url=' + encodeURI(window.location.href));\n return;\n case 'google':\n window.open('https://plus.google.com/share?url=' + encodeURI(window.location.href));\n return;\n }\n }\n\n public trackSubscriptionAdded($event: { call_name: string; value: string }) {\n this.analyticsService.trackEvent('Subscription Subscribe', {\n category: 'Subscription',\n noninteraction: false,\n event: 'Subscription Subscribe',\n label: $event.call_name,\n value: $event.value\n });\n }\n\n public trackSubscriptionRemoved($event: { call_name: string; value: string }) {\n this.analyticsService.trackEvent('Subscription Unsubscribe', {\n category: 'Subscription',\n noninteraction: false,\n event: 'Subscription Unsubscribe',\n label: $event.call_name,\n value: $event.value\n });\n }\n\n public reloadPlayer() {\n this.assetService.getAsset(this._assets[0].uuid).subscribe(asset => {\n this._assets = [];\n this.asset = asset;\n });\n }\n\n public startVideo(sourceUrl: string) {\n const newAsset = new Asset(this.mainAsset);\n newAsset.videos[0].url = sourceUrl;\n this.asset = newAsset;\n }\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { EpgEntry } from '../../../../../entities/epg-entry.entity';\nimport { EpgService } from '../../../../../services/api/methods/epg.service';\nimport * as moment from 'moment';\nimport { environment } from '../../../../../environments/environment';\n\n@Component({\n selector: 'app-epg',\n templateUrl: './epg.component.html'\n})\nexport class EpgComponent implements OnInit {\n public environment = environment;\n public selectedDateString: string = moment().format('DD.MM.YY');\n public today = moment();\n public entries: EpgEntry[];\n public filteredEntries: EpgEntry[];\n @Output() public startVideo: EventEmitter = new EventEmitter();\n @Output() public startLiveStream: EventEmitter = new EventEmitter();\n public dayOptions: moment.Moment[];\n\n constructor(protected epsService: EpgService) {\n moment.locale(environment.i18n.defaultLocale);\n const days = [];\n for (let i = -4; i < 5; i++) {\n days.push(moment().add(i, 'd').format('DD.MM.YY'));\n }\n this.dayOptions = days;\n }\n\n public get selectedDate() {\n return moment(this.selectedDateString, 'DD.MM.YY');\n }\n\n public get in5Days() {\n return moment().add(4, 'd');\n }\n\n public get before5Days() {\n return moment().subtract(4, 'd');\n }\n\n public stepDay(day: number) {\n if (day === 0) {\n this.selectedDateString = moment().format('DD.MM.YY');\n } else {\n this.selectedDateString = this.selectedDate.add(day, 'd').format('DD.MM.YY');\n }\n this.filterEntries();\n }\n\n public changeDay(day: string) {\n this.filterEntries();\n }\n\n public ngOnInit(): void {\n this.epsService.getEpg().subscribe(\n (entries: EpgEntry[]) => {\n this.entries = entries.filter((entry: EpgEntry) => !entry.title.includes('BACK UP ASSET'));\n this.filterEntries();\n },\n () => {\n console.error('error getting epg');\n this.entries = [];\n }\n );\n }\n\n public isPast(entry: EpgEntry) {\n return moment(entry.ends_at) < moment();\n }\n\n public isOnAir(entry: EpgEntry) {\n return moment(entry.starts_at) < moment() && moment(entry.ends_at) > moment();\n }\n\n public filterEntries() {\n this.filteredEntries = this.entries\n .filter((entry: EpgEntry) => moment(entry.starts_at).isSame(this.selectedDate, 'day'))\n .sort((a: EpgEntry, b: EpgEntry) => {\n return moment(a.starts_at).diff(b.starts_at);\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { AnalyticsService } from '../../../../../services/analytics.service';\nimport { RoutingHelperService } from '../../../../../services/routing-helper.service';\nimport { environment } from '../../../../../environments/environment';\nimport { of } from 'rxjs/internal/observable/of';\nimport { delay, takeUntil } from 'rxjs/operators';\nimport { Action, ObjectType } from '../../../../../entities/user-event.entity';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { UserProfileService } from '../../../../../services/user-profile.service';\nimport { Asset } from '../../../../../entities/asset.entity';\n\n@Component({\n selector: 'app-related-asset',\n templateUrl: './related-asset.component.html'\n})\nexport class RelatedAssetComponent implements OnInit {\n @Input() public asset: Asset;\n @Input() public trackingInfo?: {\n listTitle: string;\n index: string;\n };\n\n @Output() public click: EventEmitter = new EventEmitter();\n\n public environment = environment;\n public mouseLeave: Subject = new Subject();\n public assetLink: string;\n\n constructor(\n private analyticsService: AnalyticsService,\n private userProfileService: UserProfileService,\n public routingHelper: RoutingHelperService\n ) {}\n\n public ngOnInit(): void {\n this.assetLink = this.routingHelper.getLinkFromAsset(this.asset);\n }\n\n public onAssetClick() {\n this.routingHelper.activateAutoplay();\n this.trackGoToAsset();\n }\n\n public onMouseEnter() {\n this.mouseLeave = new Subject();\n of({})\n .pipe(delay(this.userProfileService.delayHoverEvents), takeUntil(this.mouseLeave))\n .subscribe(() => {\n this.userProfileService.trackEvent(ObjectType.asset, Action.hover, this.asset);\n });\n }\n\n public onMouseLeave() {\n this.mouseLeave.next();\n }\n\n public trackGoToAsset() {\n this.click.next();\n this.analyticsService.trackEvent('Teaser Click', {\n category: 'Teaser Click',\n gtmCustom: {\n title: this.asset.label,\n targetURL: this.assetLink,\n listTitle: (this.trackingInfo || { listTitle: undefined }).listTitle,\n index: (this.trackingInfo || { index: undefined }).index\n }\n });\n this.userProfileService.trackEvent(ObjectType.asset, Action.click, this.asset);\n }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Asset } from '../../../../../entities/asset.entity';\nimport { Tag } from '../../../../../entities/tag.entity';\nimport { environment } from '../../../../../environments/environment';\nimport { SubscriptionService } from '../../../../../services/api/methods/subscription.service';\nimport { SubscriptionLike } from 'rxjs/internal/types';\n\n@Component({\n selector: 'app-tag-cloud',\n templateUrl: './tag-cloud.component.html'\n})\nexport class TagCloudComponent implements OnInit, OnDestroy {\n public environment = environment;\n\n public tags: {\n routerLink: string;\n name: string;\n callname: string;\n queryParams: any;\n }[] = [];\n private subscribeToSubscriptionUpdates: SubscriptionLike;\n\n constructor(private subscriptionService: SubscriptionService) {}\n\n private _asset: Asset;\n\n public get asset() {\n return this._asset;\n }\n\n @Input()\n public set asset(asset: Asset) {\n this._asset = asset;\n this.updateTags();\n }\n\n public updateTags() {\n const asset = this._asset;\n if (!asset || !asset.tags) {\n return;\n }\n this.tags = [];\n\n if (asset.sportart && asset.section) {\n asset.sportart.values.forEach(value => {\n this.addTag({\n routerLink: '/' + asset.section.permalink,\n name: value,\n callname: asset.sportart.callname,\n queryParams: {}\n });\n });\n }\n\n if (asset.channel && asset.section) {\n asset.channel.values.forEach(value => {\n this.addTag({\n routerLink: '/' + asset.section.permalink,\n name: value,\n callname: asset.channel.callname,\n queryParams: {}\n });\n });\n }\n\n asset.tags.forEach((tag: Tag, index: number) => {\n if (tag.label.indexOf('_') === 0) {\n return;\n }\n if (tag.callname === 'format' && asset.is_moment_of_the_year_clip) {\n return;\n }\n if (asset.channel && tag.callname === asset.channel.callname) {\n return;\n }\n if (asset.sportart && tag.callname === asset.sportart.callname) {\n return;\n }\n\n tag.values.forEach(value => {\n this.addTag({\n routerLink: '/' + environment.urlSlugs.search,\n name: value,\n callname: tag.callname,\n queryParams: { q: value }\n });\n });\n });\n }\n\n public ngOnDestroy() {}\n\n public ngOnInit(): void {}\n\n private addTag(tag: { routerLink: string; name: string; callname: string; queryParams: any }) {\n // do not allow double tags\n const foundIndex = this.tags.findIndex(value => value.name === tag.name);\n if (foundIndex < 0) {\n this.tags.push(tag);\n }\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { Asset } from '../../../entities/asset.entity';\nimport { ExtendedPageContent } from '../../../entities/extended-page-content';\nimport { Page } from '../../../entities/page.entity';\nimport { Section } from '../../../entities/section.entity';\nimport { environment } from '../../../environments/environment';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { AssetsService } from '../../../services/api/methods/assets.service';\nimport { LiveEventsService } from '../../../services/api/methods/live-events.service';\nimport { PagesService } from '../../../services/api/methods/pages.service';\nimport { PermalinkService } from '../../../services/api/methods/permalink.service';\nimport { PlaylistsService } from '../../../services/api/methods/playlists.service';\nimport { SectionsService } from '../../../services/api/methods/sections.service';\nimport { CanonicalTagService } from '../../../services/canonical-tag.service';\nimport { SomtagService } from '../../../services/somtag.service';\nimport { filter, take } from 'rxjs/operators';\n\n@Component({\n selector: 'app-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class DynamicPageComponent implements OnInit {\n public pageType: 'extended_page' | 'page' | 'asset' | 'section' | 'serverside' | 'live' | 'not-found' | 'error';\n public asset: Asset;\n public section: Section;\n public page: Page;\n public environment;\n public extendedPageContents: ExtendedPageContent[];\n\n constructor(\n private permalinkService: PermalinkService,\n private sectionsService: SectionsService,\n private playlistsService: PlaylistsService,\n private liveEventsService: LiveEventsService,\n private pagesServices: PagesService,\n private assetsService: AssetsService,\n private pageTitle: Title,\n private router: Router,\n private somtagService: SomtagService,\n private analyticsService: AnalyticsService,\n private meta: Meta,\n private canonicalTagService: CanonicalTagService,\n private cdr: ChangeDetectorRef\n ) {\n this.environment = environment;\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\n return false;\n };\n }\n\n public ngOnInit(): void {\n // workaround to redirect /home to /\n if (window.location.pathname === '/home') {\n this.meta.updateTag(\n { property: 'prerender-status-code', content: '301' },\n 'propery=\"prerender-status-code\"'\n );\n this.meta.updateTag(\n {\n property: 'prerender-header',\n content: 'Location: ' + window.location.protocol + '//' + window.location.hostname + '/'\n },\n 'propery=\"prerender-header\"'\n );\n this.router.navigate(['/'], { replaceUrl: true });\n }\n // workaround to get homepage\n let permalink = window.location.pathname;\n if (permalink === '/') {\n permalink = '/home';\n }\n this.permalinkService.getLink(permalink).subscribe(\n result => {\n if (result.hasOwnProperty('asset')) {\n this.createDynamicPageForAsset(result.asset, result.section);\n } else if (result.hasOwnProperty('section')) {\n this.createDynamicPageForSection(result.section);\n } else if (result.hasOwnProperty('page')) {\n this.createDynamicPageForPage(result.page);\n } else {\n console.warn('no content found');\n this.analyticsService.trackPageview();\n this.pageType = 'not-found';\n this.cdr.markForCheck();\n }\n },\n (error: HttpErrorResponse) => {\n if (error.status === 404) {\n this.pageType = 'not-found';\n } else {\n this.pageType = 'error';\n }\n this.analyticsService.trackPageview();\n this.cdr.markForCheck();\n }\n );\n }\n\n public playVideo(id) {\n let vid: HTMLVideoElement;\n\n if (document.getElementById(id)) {\n vid = document.getElementById(id);\n vid.muted = true;\n vid.volume = 0;\n vid.setAttribute('muted', 'true');\n vid.play();\n vid.setAttribute('autoplay', 'true');\n }\n }\n\n private createDynamicPageForSection(section: Section) {\n if (this.willBeRedirectedToCorrectUrl(section.permalink)) {\n return;\n }\n this.section = section;\n this.pageType = 'section';\n this.cdr.markForCheck();\n this.analyticsService.trackPageview(this.section.title, this.section.title);\n this.somtagService.setDisplayAdChannelsForSection(section);\n }\n\n private createDynamicPageForAsset(asset: Asset, section?: Section) {\n let correctUrl;\n // calculate the correct url!\n if (asset.section && asset.section.permalink) {\n correctUrl = asset.section.permalink + '/' + asset.permalink;\n } else if (section && section.permalink) {\n correctUrl = section.permalink + '/' + asset.permalink;\n } else {\n correctUrl = asset.permalink;\n }\n\n if (this.willBeRedirectedToCorrectUrl(correctUrl)) {\n return;\n }\n this.asset = asset;\n this.pageType = 'asset';\n this.cdr.markForCheck();\n this.analyticsService.trackPageviewForAsset(this.asset);\n\n if (this.asset.section && this.asset.hasOwnProperty('section')) {\n this.sectionsService.getSection(this.asset.section.uuid).subscribe((sec: Section) => {\n this.section = sec;\n this.somtagService.setDisplayAdChannelsForSection(sec);\n this.cdr.markForCheck();\n });\n }\n }\n\n private createDynamicPageForPage(page: Page) {\n if (this.willBeRedirectedToCorrectUrl(page.permalink)) {\n return;\n }\n\n this.page = page;\n if (this.page.use_extended_page_contents === true && this.page.extended_page_contents) {\n this.pageType = 'extended_page';\n this.pageTitle.setTitle(this.page.title);\n this.extendedPageContents = this.page.extended_page_contents;\n this.analyticsService.trackPageview(this.page.title, this.page.title);\n } else {\n // normal old page\n\n if (this.page.redirect_url) {\n window.location.replace(this.page.redirect_url);\n return;\n }\n this.pageType = 'page';\n // no channel/format for pages\n this.analyticsService.trackPageview();\n }\n this.somtagService.setDisplayAdChannelsForPage(this.page);\n }\n\n private willBeRedirectedToCorrectUrl(permalink: string): boolean {\n if (permalink === 'home') {\n return false;\n }\n if (window.location.pathname !== '/' + permalink) {\n this.meta.updateTag(\n { property: 'prerender-status-code', content: '301' },\n 'propery=\"prerender-status-code\"'\n );\n this.meta.updateTag(\n {\n property: 'prerender-header',\n content:\n 'Location: ' + window.location.protocol + '://' + window.location.hostname + '/' + permalink\n },\n 'propery=\"prerender-header\"'\n );\n this.router.navigate([permalink], { replaceUrl: true });\n return true;\n }\n this.canonicalTagService.updateCanonicalURL(permalink);\n return false;\n }\n}\n","import { AfterViewInit, Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport {\n ContentTypeEnum,\n ExtendedPageContent,\n VisualisationTypeEnum\n} from '../../../../entities/extended-page-content';\nimport { MetaTag } from '../../../../entities/meta-tag.entity';\nimport { Page } from '../../../../entities/page.entity';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { environment } from '../../../../environments/environment';\nimport { AgofService } from '../../../../services/agof.service';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { AssetsService } from '../../../../services/api/methods/assets.service';\nimport { PlaylistsService } from '../../../../services/api/methods/playlists.service';\nimport { SectionsService } from '../../../../services/api/methods/sections.service';\nimport { TileType } from '../../../elements/asset-tile-slider/asset-tile-slider.component';\nimport { AppName } from '../../../../enum/app-name.enum';\nimport { ConsentService } from '../../../../modules/consent/consent.service';\nimport { delay, filter, take, tap } from 'rxjs/operators';\nimport { CMP_EVENTS } from '../../../../modules/consent/cmp';\nimport { pipe } from 'rxjs';\n\n@Component({\n selector: 'app-extended-page',\n templateUrl: './extended-page.component.html'\n})\nexport class ExtendedPageComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() public page: Page;\n public gridLoadingMoreMap: boolean[] = [];\n public rectHeights: number[] = [];\n public rectWidths: number[] = [];\n public excludedSectionUUIDs: string[] = [];\n public environment = environment;\n public showMinreadAd = false;\n public showInreadAd = false;\n public inreadHeight = 0;\n public TileType = TileType;\n public VisualisationTypeEnum = VisualisationTypeEnum;\n public ContentTypeEnum = ContentTypeEnum;\n public AppName = AppName;\n private _extendedPageContents: ExtendedPageContent[];\n\n private usercentricsBannerInterval: number;\n\n constructor(\n private sectionsService: SectionsService,\n private playlistsService: PlaylistsService,\n private assetsService: AssetsService,\n private analyticsService: AnalyticsService,\n private agofService: AgofService,\n private pageTitle: Title,\n private metaService: Meta,\n private consentService: ConsentService\n ) {\n this.environment = environment;\n this.showMinreadAd = environment.ads.somtag.slots.some(e => e.slot === 'minread1');\n this.showInreadAd = environment.ads.somtag.slots.some(e => e.slot === 'inread1');\n }\n\n public get extendedPageContents(): ExtendedPageContent[] {\n return this._extendedPageContents;\n }\n\n @Input()\n public set extendedPageContents(extendedPageContents: ExtendedPageContent[]) {\n this.excludedSectionUUIDs = extendedPageContents\n .filter(content => content.content_type === 'section')\n .map(content => content.content_uuid);\n this._extendedPageContents = extendedPageContents;\n }\n\n public ngAfterViewInit() {\n // @ts-ignore\n window.iFrameResize({}, '.iframe-auto-height');\n }\n\n public loadMoreOfGridAtIndex(index) {\n this._extendedPageContents[index].loadMore();\n }\n\n public handleRectHeight(height: number, index: number) {\n this.rectHeights[index] = height;\n }\n\n public handleRectWidth(width: number, index: number) {\n this.rectWidths[index] = width;\n }\n\n public ngOnInit(): void {\n if (this.page.metatags) {\n this.page.metatags.forEach((tag: MetaTag) => {\n if (tag.name === 'title') {\n this.pageTitle.setTitle(tag.content);\n } else {\n this.metaService.updateTag(\n {\n name: tag.name,\n property: tag.property,\n content: tag.content\n },\n 'property=\"' + tag.property + '\"'\n );\n }\n });\n } else {\n this.pageTitle.setTitle(this.page.title);\n }\n let cpChannel;\n if (this.page.permalink === 'home') {\n cpChannel = AgofEnum.CHANNEL_HOME;\n } else {\n cpChannel = AgofEnum.CHANNEL_DEFAULT;\n }\n\n let homepageVar;\n if (this.page.permalink === 'home' && this.environment.appName === AppName.sportdeutschland) {\n homepageVar = AgofEnum.HOMEPAGE_YES;\n } else if (this.page.permalink === 'home') {\n homepageVar = AgofEnum.HOMEPAGE_OF_THIRD_PARTY_DOMAIN;\n } else {\n homepageVar = AgofEnum.HOMEPAGE_NO;\n }\n\n let survey;\n if (this.page.permalink === 'home' && this.environment.appName === AppName.sportdeutschland) {\n survey = false;\n } else {\n survey = true;\n }\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.page.ivw_code\n ? this.page.ivw_code\n : this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n homepageVar,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: cpChannel,\n coSecondPart: this.page.permalink === 'home' ? '/home/' : window.location.pathname + '/',\n survey: survey\n }\n }\n });\n\n // @ts-ignore\n window.prerenderReady = true;\n }\n\n public ngOnDestroy() {\n if (this.usercentricsBannerInterval) {\n clearInterval(this.usercentricsBannerInterval);\n }\n }\n\n public showContentAsModal(content: ExtendedPageContent): boolean {\n return (\n content.visualization_options &&\n !!content.visualization_options.find(e => e.key === 'modal' && e.value === true)\n );\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvcGFnZXMvZHluYW1pYy1wYWdlL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, Input, OnInit } from '@angular/core';\nimport { Page } from '../../../../entities/page.entity';\nimport { AgofService } from '../../../../services/agof.service';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { Meta } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent implements OnInit {\n @Input() public page: Page;\n\n constructor(public agofService: AgofService, private meta: Meta, private analyticsService: AnalyticsService) {}\n\n public ngOnInit(): void {\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Information_about_the_website_Service\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: '/playerError/',\n survey: true\n }\n }\n });\n this.meta.updateTag({ property: 'prerender-status-code', content: '404' }, 'property=\"prerender-status-code\"');\n\n // @ts-ignore\n window.prerenderReady = true;\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvcGFnZXMvZHluYW1pYy1wYWdlL3BhZ2UvcGFnZS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, Input, OnInit } from '@angular/core';\nimport { Page } from '../../../../entities/page.entity';\nimport { AgofService } from '../../../../services/agof.service';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { ConsentService } from '../../../../modules/consent/consent.service';\n\n@Component({\n selector: 'app-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss']\n})\nexport class PageComponent implements OnInit {\n @Input() public page: Page;\n\n constructor(public agofService: AgofService, private analyticsService: AnalyticsService) {}\n\n public ngOnInit(): void {\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Information_about_the_website_Service\n ),\n cpChannel: AgofEnum.CHANNEL_SERIVCE,\n coSecondPart: window.location.pathname + '/',\n survey: true\n }\n }\n });\n\n // @ts-ignore\n window.prerenderReady = true;\n }\n}\n","import { TileType } from './../../../elements/asset-tile-slider/asset-tile-slider.component';\nimport { AfterViewInit, Component, Input, OnInit } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { Playlist } from '../../../../entities/playlist.entity';\nimport { Section } from '../../../../entities/section.entity';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { environment } from '../../../../environments/environment';\nimport { AgofService } from '../../../../services/agof.service';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { LiveEventsService } from '../../../../services/api/methods/live-events.service';\nimport { PlaylistsService } from '../../../../services/api/methods/playlists.service';\nimport { SectionsService } from '../../../../services/api/methods/sections.service';\nimport { Asset } from '../../../../entities/asset.entity';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Component({\n selector: 'app-section',\n templateUrl: './section.component.html'\n})\nexport class SectionComponent implements OnInit, AfterViewInit {\n @Input() public section: Section;\n\n public allAssets: Asset[];\n public rectHeights: number[] = [];\n public rectWidths: number[] = [];\n public currentAllAssetsPage = 1;\n public openerPlaylist: Playlist;\n public definedPlaylists: Playlist[] = [];\n\n public liveAssets: Asset[];\n public environment = environment;\n public AppName = AppName;\n\n public TileType = TileType;\n\n constructor(\n private sectionsService: SectionsService,\n private liveEventsService: LiveEventsService,\n private analyticsService: AnalyticsService,\n private agofService: AgofService,\n private playlistService: PlaylistsService,\n private title: Title,\n private meta: Meta\n ) {}\n\n public ngAfterViewInit() {\n // @ts-ignore\n window.iFrameResize();\n }\n\n public ngOnInit(): void {\n this.title.setTitle(this.section.seo_title || this.section.title);\n this.meta.updateTag({ name: 'description', content: this.section.seo_description }, 'name=description');\n this.meta.updateTag({ name: 'keywords', content: this.section.seo_keywords }, 'name=keywords');\n this.meta.updateTag({ name: 'robots', content: this.section.seo_robots }, 'name=robots');\n\n if (this.section.tag_filters) {\n this.liveEventsService.getLiveAssets(this.section.tag_filters, 20, 1).subscribe((response: Asset[]) => {\n this.liveAssets = response;\n });\n }\n\n if (this.section.playlist_uuid) {\n const playlistUuids = this.section.playlist_uuid.split(',');\n playlistUuids.forEach((playlistUuid, index) => {\n this.playlistService.getPlaylist(playlistUuid.trim()).subscribe((playlist: Playlist) => {\n if (index === 0) {\n this.openerPlaylist = playlist;\n } else {\n this.definedPlaylists.push(playlist);\n }\n });\n });\n }\n\n this.sectionsService\n .getAssetsForSectionID(this.section.uuid, 20, 1)\n .subscribe((res: { items: Asset[]; total: number }) => {\n this.allAssets = res.items;\n this.currentAllAssetsPage = 1;\n });\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: window.location.pathname + '/',\n survey: true\n }\n }\n });\n\n // @ts-ignore\n window.prerenderReady = true;\n }\n\n public loadMoreOfAllAssets() {\n if (this.section.assets_count > this.allAssets.length) {\n this.sectionsService\n .getAssetsForSectionID(this.section.uuid, 20, this.currentAllAssetsPage + 1)\n .subscribe((res: { items: Asset[]; total: number }) => {\n res.items.forEach(asset => this.allAssets.push(asset));\n this.currentAllAssetsPage++;\n });\n }\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Page } from '../../../../entities/page.entity';\nimport { AgofService } from '../../../../services/agof.service';\nimport { AgofEnum } from '../../../../enum/agof.enum';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { Meta } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-server-error',\n templateUrl: './server-error.component.html'\n})\nexport class ServerErrorComponent implements OnInit {\n @Input() public page: Page;\n\n constructor(public agofService: AgofService, private analyticsService: AnalyticsService, private meta: Meta) {}\n\n public ngOnInit(): void {\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Information_about_the_website_Service\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: '/playerError/',\n survey: true\n }\n }\n });\n\n this.meta.updateTag({ property: 'prerender-status-code', content: '500' }, 'property=\"prerender-status-code\"');\n\n // @ts-ignore\n window.prerenderReady = true;\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvcGFnZXMvZW1haWwtY29uZmlybWVkLXBhZ2UvZW1haWwtY29uZmlybWVkLXBhZ2UuY29tcG9uZW50LnNjc3MifQ== */\";","import { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { switchMap } from 'rxjs/operators';\nimport { AnalyticsService } from '../../../services/analytics.service';\n\n@Component({\n selector: 'app-email-confirmed-page',\n templateUrl: './email-confirmed-page.component.html',\n styleUrls: ['./email-confirmed-page.component.scss']\n})\nexport class EmailConfirmedPageComponent implements OnInit {\n public error: boolean;\n\n constructor(\n private authenticationService: AuthenticationService,\n private route: ActivatedRoute,\n private analyticsService: AnalyticsService,\n private router: Router\n ) {}\n\n public ngOnInit(): void {\n this.route.queryParams\n .pipe(\n switchMap(params => this.authenticationService.confirmRegistrationEmail(params['confirmation_token']))\n )\n .subscribe(\n res => {\n if (!res.confirmed) {\n this.error = true;\n return;\n }\n\n this.analyticsService.trackEvent('Register Double Opt-In', {\n category: 'Register Double Opt-In',\n label: this.router.url\n });\n this.error = false;\n this.router.navigate(['/login'], { queryParams: { email: res.email } });\n },\n err => {\n console.error('Could not confirm E-Mail Address', err);\n this.error = true;\n }\n );\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvcGFnZXMvZW1iZWRkZWQvZW1iZWRkZWQtcGxheWVyL2VtYmVkZGVkLXBsYXllci5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { AssetsService } from '../../../../services/api/methods/assets.service';\nimport { EmbeddedModeService } from '../../../../services/embedded-mode.service';\nimport { environment } from '../../../../environments/environment';\nimport { Asset } from '../../../../entities/asset.entity';\nimport { Meta } from '@angular/platform-browser';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Component({\n selector: 'app-embedded-player',\n templateUrl: './embedded-player.component.html',\n styleUrls: ['./embedded-player.component.scss']\n})\nexport class EmbeddedPlayerComponent implements OnInit, OnDestroy {\n public asset: Asset;\n public nologo: boolean;\n public clicked = false;\n\n public environment = environment;\n public AppName = AppName;\n\n constructor(\n private meta: Meta,\n private route: ActivatedRoute,\n private assetService: AssetsService,\n private analyticsService: AnalyticsService,\n private embeddedModeService: EmbeddedModeService\n ) {}\n\n public ngOnInit(): void {\n this.embeddedModeService.enable();\n if (window.location !== window.parent.location) {\n this.embeddedModeService.setSyndicationOrigin(document.referrer);\n }\n\n this.assetService.getAsset(this.route.snapshot.paramMap.get('assetId')).subscribe(asset => {\n this.asset = asset;\n if (asset.flags && asset.flags.includes('nologo')) {\n this.nologo = true;\n }\n });\n\n this.analyticsService.trackEvent('EmbeddedPlayerImpression', {\n category: 'EmbeddedPlayerImpression',\n event: 'EmbeddedPlayerImpression',\n noninteraction: false,\n gtmCustom: {\n inSyndicationPlayer: true,\n wholesaler: document.referrer\n }\n });\n\n this.meta.updateTag({ name: 'robots', content: 'noindex,follow' }, 'name=robots');\n // @ts-ignore\n window.prerenderReady = true;\n }\n\n public onPlayerClick() {\n if (this.clicked === true) {\n return;\n }\n this.clicked = true;\n\n this.analyticsService.trackEvent('EmbeddedPlayerClick', {\n category: 'EmbeddedPlayerClick',\n event: 'EmbeddedPlayerClick',\n noninteraction: false,\n gtmCustom: {\n inSyndicationPlayer: true,\n wholesaler: document.referrer\n }\n });\n }\n\n public ngOnDestroy() {\n this.embeddedModeService.disable();\n }\n public openConsent() {\n window['usercentrics'].updateBannerIsVisible(true);\n }\n}\n","import { environment } from './../../../../environments/environment';\nimport { TileType } from './../../../elements/asset-tile-slider/asset-tile-slider.component';\nimport {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Playlist } from '../../../../entities/playlist.entity';\nimport { SyndicationPlayer } from '../../../../entities/syndication-player.entity';\nimport { AnalyticsService } from '../../../../services/analytics.service';\nimport { PlaylistsService } from '../../../../services/api/methods/playlists.service';\nimport { SyndicationPlayerService } from '../../../../services/api/methods/syndication-player.service';\nimport { EmbeddedModeService } from '../../../../services/embedded-mode.service';\nimport { PlayerComponent } from '../../../elements/player/player.component';\nimport { Asset } from '../../../../entities/asset.entity';\nimport { Meta } from '@angular/platform-browser';\nimport { ExternalScriptsLoaderService } from '../../../../services/external-scripts-loader.service';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Component({\n selector: 'app-syndication-player',\n templateUrl: './syndication-player.component.html'\n})\nexport class SyndicationPlayerComponent implements OnInit, OnDestroy, AfterViewChecked, AfterViewInit {\n public error = false;\n public showPlaylists = false;\n public activePlaylistIndex: number;\n public asset: Asset;\n public syndicationPlayer: SyndicationPlayer;\n public playlists: Playlist[];\n public embeddedOrigin: string;\n public showLogo: boolean;\n public TileType = TileType;\n public environment = environment;\n public AppName = AppName;\n @ViewChild('player') public player: PlayerComponent;\n @ViewChild('all', { static: true }) public all: ElementRef;\n private height: number;\n private preSelectedAssetID: string;\n\n constructor(\n private meta: Meta,\n private route: ActivatedRoute,\n private playlistsService: PlaylistsService,\n private analyticsService: AnalyticsService,\n private syndicationPlayerService: SyndicationPlayerService,\n private embeddedModeService: EmbeddedModeService,\n private externalScriptsLoaderService: ExternalScriptsLoaderService,\n private cdr: ChangeDetectorRef\n ) {}\n\n public ngOnInit(): void {\n this.embeddedModeService.enable();\n\n this.route.queryParams.subscribe(params => {\n if (params.origin) {\n this.embeddedOrigin = params.origin;\n this.embeddedModeService.setSyndicationOrigin(this.embeddedOrigin);\n\n if (this.embeddedOrigin === 'https://www.ran.de') {\n this.loadMagFrameForProSiebenIntegration();\n }\n }\n this.analyticsService.trackEvent('SyndicationPlayerImpression', {\n category: 'SyndicationPlayerImpression',\n event: 'SyndicationPlayerImpression',\n noninteraction: false,\n gtmCustom: {\n inSyndicationPlayer: true,\n wholesaler: this.embeddedOrigin\n }\n });\n this.preSelectedAssetID = params.assetid;\n });\n\n this.syndicationPlayerService.getSyndicationPlayer(this.route.snapshot.paramMap.get('playerId')).subscribe(\n (syndicationPlayer: SyndicationPlayer) => {\n this.syndicationPlayer = syndicationPlayer;\n\n if (this.syndicationPlayer && this.syndicationPlayer.stylesheet) {\n const head = document.getElementsByTagName('head')[0];\n const style: HTMLStyleElement = document.createElement('style');\n style.id = 'syndication-player-styles';\n style.appendChild(document.createTextNode(this.syndicationPlayer.stylesheet));\n head.appendChild(style);\n }\n\n this.playlists = [];\n\n this.syndicationPlayer.playlist_uuids.map((uuid: string, index) => {\n this.playlistsService.getPlaylist(uuid, 1, 100).subscribe((playlist: Playlist) => {\n if (this.preSelectedAssetID) {\n const preSelectedAsset = playlist.assets.find(\n asset => asset.uuid === this.preSelectedAssetID\n );\n if (preSelectedAsset) {\n this.activePlaylistIndex = index;\n this.asset = preSelectedAsset;\n }\n } else {\n if (index === 0) {\n this.activePlaylistIndex = index;\n if (playlist.assets[0]) {\n this.asset = playlist.assets[0];\n }\n }\n }\n this.playlists.push(playlist);\n this.setShowLogoFor(this.asset);\n });\n });\n\n this.meta.updateTag({ name: 'robots', content: 'noindex,follow' }, 'name=robots');\n // @ts-ignore\n window.prerenderReady = true;\n },\n\n error => {\n console.error('SYNDICATION ERROR');\n console.error(error);\n this.error = true;\n }\n );\n }\n\n public updateHeight() {\n if (this.height !== this.all.nativeElement.clientHeight) {\n this.height = this.all.nativeElement.clientHeight;\n const data = JSON.parse(\n JSON.stringify({\n documentHeight: this.all.nativeElement.clientHeight,\n uuid: (this.syndicationPlayer || { uuid: '' }).uuid\n })\n );\n window.top.postMessage(data, this.embeddedOrigin);\n\n if (window.hasOwnProperty('magframe')) {\n const win = window as any;\n win.magframe('resize');\n }\n }\n }\n\n public ngOnDestroy() {\n this.embeddedModeService.disable();\n if (document.getElementById('syndication-player-styles')) {\n document.removeChild(document.getElementById('syndication-player-styles'));\n }\n }\n\n public ngAfterViewInit() {\n this.updateHeight();\n }\n\n public ngAfterViewChecked() {\n this.updateHeight();\n }\n\n // @TODO: Changing in assets in slider causes slow view update\n public playlistClicked(index: number) {\n this.activePlaylistIndex = index;\n }\n\n public setAsset(asset) {\n this.asset = null;\n this.cdr.detectChanges();\n this.asset = asset;\n this.setShowLogoFor(asset);\n }\n\n private loadMagFrameForProSiebenIntegration() {\n this.externalScriptsLoaderService.load(this.environment.externalScripts.p7iframe).subscribe(script => {\n const win = window as any;\n win.magframe =\n win.magframe ||\n function () {\n win.magframe.data = win.magframe.data || [];\n win.magframe.data.push(Array.prototype.slice.call(arguments));\n };\n win.magframe.on =\n win.magframe.on ||\n function (callback) {\n win.magframe.callbacks = win.magframe.callbacks || [];\n win.magframe.callbacks.push(callback);\n };\n win.magframe('handshake');\n win.magframe('resize');\n });\n }\n\n private setShowLogoFor(asset: Asset) {\n // syndi player wants watermark? add it!\n if (this.syndicationPlayer.watermark === true) {\n this.showLogo = true;\n return;\n }\n // otherwise let the asset devide\n if (asset.flags && asset.flags.includes('nologo')) {\n this.showLogo = false;\n } else {\n this.showLogo = true;\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-empty',\n template: ''\n})\nexport class EmptyComponent {\n constructor() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { LiveEventsService } from '../../../services/api/methods/live-events.service';\nimport { LiveEvent } from '../../../entities/live-event.entity';\nimport { AgofService } from '../../../services/agof.service';\nimport { AgofEnum } from '../../../enum/agof.enum';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport * as moment from 'moment';\nimport { SomtagService } from '../../../services/somtag.service';\nimport { environment } from '../../../environments/environment';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Component({\n selector: 'app-livestreams',\n templateUrl: './livestreams.component.html'\n})\nexport class LivestreamsComponent implements OnInit {\n public currentPage = 1;\n public liveEvents: LiveEvent[] = [];\n public perPage = 30;\n public loading = false;\n public sortedAndFilteredLiveEvents: LiveEvent[][] = [];\n public sportTypes: string[] = ['Alle Sportarten'];\n public activeSportType = 'Alle Sportarten';\n public channels: string[] = ['Alle Kanäle'];\n public activeChannel = 'Alle Kanäle';\n public environment = environment;\n public AppName = AppName;\n private filteredLiveEvents: LiveEvent[] = [];\n\n constructor(\n protected liveEventsService: LiveEventsService,\n private agofService: AgofService,\n private analyticsService: AnalyticsService,\n private somtagService: SomtagService\n ) {}\n\n public ngOnInit(): void {\n this.load();\n\n this.analyticsService.trackPageview();\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: AgofEnum.CHANNEL_LIVE,\n coSecondPart: '/livestreams/',\n survey: true\n }\n }\n });\n this.somtagService.setDisplayAdChannelsFromString('livestreams');\n\n // @ts-ignore\n window.prerenderReady = true;\n }\n\n public filterSportType(event, index) {\n this.activeSportType = this.sportTypes[index];\n if (this.activeSportType === 'Alle Sportarten') {\n this.filteredLiveEvents = this.liveEvents;\n } else {\n this.filteredLiveEvents = this.liveEvents.filter(\n liveEvent => liveEvent.sportart && liveEvent.sportart.values[0] === this.activeSportType\n );\n }\n this.sortedAndFilteredLiveEvents = this.sortLiveEvents(this.filteredLiveEvents);\n }\n\n public filterChannel(event, index) {\n this.activeChannel = this.channels[index];\n if (this.activeChannel === 'Alle Kanäle') {\n this.filteredLiveEvents = this.liveEvents;\n } else {\n this.filteredLiveEvents = this.liveEvents.filter(\n liveEvent => liveEvent.sportart && liveEvent.channel.values[0] === this.activeChannel\n );\n }\n this.sortedAndFilteredLiveEvents = this.sortLiveEvents(this.filteredLiveEvents);\n }\n\n public load(page: number = 1) {\n this.loading = true;\n this.liveEventsService.getLiveEvents(this.perPage, page, true).subscribe((liveEvents: LiveEvent[]) => {\n this.loading = false;\n this.liveEvents = [\n ...this.liveEvents,\n ...liveEvents.filter((liveEvent: LiveEvent) => {\n return (\n liveEvent.path !== '/boxen/ran-fighting-tv-exklusiver-tv-kanal' &&\n liveEvent.path !== '/ran-fighting-tv-exklusiver-tv-kanal'\n );\n })\n ];\n // get filter from events\n this.liveEvents.forEach((event: LiveEvent) => {\n if (event.sportart && event.sportart.values && !this.sportTypes.includes(event.sportart.values[0])) {\n this.sportTypes.push(event.sportart.values[0]);\n }\n if (event.channel && event.channel.values && !this.channels.includes(event.channel.values[0])) {\n this.channels.push(event.channel.values[0]);\n }\n });\n\n if (this.activeSportType === 'Alle Sportarten') {\n this.filteredLiveEvents = this.liveEvents;\n } else {\n this.filteredLiveEvents = this.liveEvents.filter(\n liveEvent => liveEvent.sportart && liveEvent.sportart.values[0] === this.activeSportType\n );\n }\n this.sortedAndFilteredLiveEvents = this.sortLiveEvents(this.filteredLiveEvents);\n this.currentPage = page;\n });\n }\n\n public loadMore() {\n this.load(this.currentPage + 1);\n }\n\n private sortLiveEvents(events: LiveEvent[]): LiveEvent[][] {\n let sorted: LiveEvent[][] = [];\n events.forEach(event => {\n const start = moment(event.starts_at);\n const sameDay = sorted.find(sortedEvents => moment(sortedEvents[0].starts_at).isSame(start, 'day'));\n if (sameDay) {\n sameDay.push(event);\n } else {\n sorted = [...sorted, [event]];\n }\n });\n return sorted;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AgofEnum } from '../../../enum/agof.enum';\nimport { environment } from '../../../environments/environment';\nimport { AgofService } from '../../../services/agof.service';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html'\n})\nexport class LoginComponent implements OnInit {\n public environment;\n public email = '';\n public password = '';\n public isLoading = true;\n\n constructor(\n private authenticationService: AuthenticationService,\n private router: Router,\n private title: Title,\n private trans: TranslateService,\n private route: ActivatedRoute,\n private agofService: AgofService,\n private analyticsService: AnalyticsService\n ) {\n this.environment = environment;\n this.isLoading = true;\n\n this.trans.get('login.pageTitle').subscribe(res => this.title.setTitle(res + environment.pageTitleAppendix));\n\n const query = this.route.snapshot.queryParams;\n if (query.redirect) {\n this.authenticationService.pathToRedirectAfterLogin = query.redirect;\n } else {\n this.authenticationService.pathToRedirectAfterLogin = environment.urlSlugs.dashboard;\n }\n\n if (query.email) {\n this.email = query.email;\n }\n this.isLoading = false;\n }\n\n public ngOnInit(): void {\n console.log('init');\n this.analyticsService.trackPageview();\n\n this.authenticationService.isLoggedIn().subscribe((isLoggedin: boolean) => {\n if (isLoggedin) {\n this.router.navigateByUrl(this.authenticationService.pathToRedirectAfterLogin);\n }\n });\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: window.location.pathname + '/',\n survey: true\n }\n }\n });\n }\n\n public loginWithToken(token) {\n this.authenticationService.loginWithToken(token).subscribe(\n () => {\n this.redirect();\n },\n err => {\n this.isLoading = false;\n console.error(err);\n }\n );\n }\n\n public redirect() {\n if (\n this.authenticationService.pathToRedirectAfterLogin.startsWith('https://') ||\n this.authenticationService.pathToRedirectAfterLogin.startsWith('http://')\n ) {\n window.location.href = this.authenticationService.pathToRedirectAfterLogin;\n } else {\n this.router.navigateByUrl(this.authenticationService.pathToRedirectAfterLogin);\n }\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tbW9uL2NvbXBvbmVudHMvcGFnZXMvbmV3c2xldHRlci1wYWdlL25ld3NsZXR0ZXIuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { AnalyticsService } from '../../../services/analytics.service';\n\n@Component({\n selector: 'app-newsletter',\n templateUrl: './newsletter.component.html',\n styleUrls: ['./newsletter.component.scss']\n})\nexport class NewsletterComponent implements OnInit {\n public FNAME = '';\n public LNAME = '';\n public EMAIL = '';\n public result: null | { msg: string; result: 'success' | 'error' };\n\n constructor(private analyticsService: AnalyticsService) {}\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n }\n\n public submit() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { forkJoin } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\n\n@Component({\n selector: 'app-password-forgot',\n templateUrl: './password-forgot.component.html'\n})\nexport class PasswordForgotComponent implements OnInit {\n public email = '';\n public isLoading = false;\n public successMessage: string;\n public errorMessage: string;\n public environment = environment;\n\n constructor(\n protected authenticationService: AuthenticationService,\n private analyticsService: AnalyticsService,\n protected activatedRoute: ActivatedRoute,\n private toastr: ToastrService,\n private translation: TranslateService\n ) {}\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n this.activatedRoute.queryParams.subscribe(params => {\n if (params.hasOwnProperty('email')) {\n this.email = params.email;\n }\n });\n }\n\n public onSubmit() {\n this.isLoading = true;\n this.authenticationService.requestPasswordResetMail(this.email).subscribe(\n (response: { message: string; status: number }) => {\n this.isLoading = false;\n this.errorMessage = null;\n this.successMessage = response.message;\n },\n err => {\n this.isLoading = false;\n if (err.error.status === 404) {\n return forkJoin([\n this.translation.get('forgotPass.emailNotFoundError'),\n this.translation.get('toasts.errorTitle')\n ]).subscribe(([message, title]) => {\n return this.toastr.error(message, title);\n });\n }\n this.translation.get('toasts.errorTitle').subscribe(trans => {\n this.toastr.error(err.error.message, trans);\n });\n }\n );\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthenticationService } from '../../../services/api/methods/authentication.service';\nimport { AlertNotificationsService } from '../../../services/alert-notifications.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RegisterValidators } from '../register-page/form/RegisterValidators';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AnalyticsService } from '../../../services/analytics.service';\n\n@Component({\n selector: 'app-password-reset',\n templateUrl: './password-reset.component.html'\n})\nexport class PasswordResetComponent implements OnInit, OnDestroy {\n public tokenNotValidMessage: string;\n public tokenValid = false;\n public showUntouchedFieldErrors = false;\n\n public password: string;\n\n public form: FormGroup;\n\n private sub: any;\n private token: string;\n private redirectUrl = '/';\n\n constructor(\n private route: ActivatedRoute,\n private authenticationService: AuthenticationService,\n private alertService: AlertNotificationsService,\n private router: Router,\n private analyticsService: AnalyticsService,\n private trans: TranslateService,\n private fb: FormBuilder\n ) {}\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n this.form = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n password: ['', [Validators.required, Validators.minLength(8)]],\n password_confirmation: ['', [Validators.required, RegisterValidators.equalTo('password')]]\n });\n\n this.sub = this.route.params.subscribe(params => {\n this.token = params['token'];\n this.authenticationService.confirmPasswordResetToken(this.token).subscribe(\n (response: { message: string; status: number }) => {\n if (response.status === 200) {\n this.tokenValid = true;\n } else {\n this.tokenNotValidMessage = response.message;\n }\n },\n err => {\n console.error(err);\n this.tokenNotValidMessage = err.error.error;\n }\n );\n });\n }\n\n public ngOnDestroy() {\n this.sub.unsubscribe();\n }\n\n public resetPassword() {\n if (!this.form.valid) {\n return;\n }\n this.authenticationService\n .passwordUpdate(\n this.token,\n this.form.value.email,\n this.form.value.password,\n this.form.value.password_confirmation\n )\n .subscribe(\n (response: { message: string; status: number }) => {\n if (response.status === 200) {\n this.alertService.success('Dein Passwort wurde geändert');\n this.login();\n } else {\n this.alertService.error('Error: ' + response.message);\n }\n },\n err => {\n console.error(err);\n this.alertService.error('Error: ' + err.error.message);\n }\n );\n }\n\n public login() {\n this.authenticationService.login(this.form.value.email, this.form.value.password).subscribe(\n (response: boolean) => {\n this.trans.get('login.successMessage').subscribe(res => this.alertService.success(res));\n this.redirectOrCloseWebView();\n },\n error => {\n this.trans.get('login.errorMessage').subscribe(mess => {\n this.alertService.error(mess);\n });\n }\n );\n }\n\n public redirectOrCloseWebView() {\n this.router.navigateByUrl(this.redirectUrl);\n }\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class RegisterValidators {\n public static equalTo(equalControlName): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } => {\n if (!control['_parent']) {\n return null;\n }\n\n if (!control['_parent'].controls[equalControlName]) {\n throw new TypeError('Form Control ' + equalControlName + ' does not exists.');\n }\n\n const controlMatch = control['_parent'].controls[equalControlName];\n\n return controlMatch.value === control.value\n ? null\n : {\n equalTo: true\n };\n };\n }\n\n public static equal(value): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } => {\n return value === control.value\n ? null\n : {\n equal: true\n };\n };\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html'\n})\nexport class RegisterComponent {}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { SearchService } from '../../../services/api/methods/search.service';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\n\nimport { environment } from '../../../environments/environment';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AgofEnum } from '../../../enum/agof.enum';\nimport { AgofService } from '../../../services/agof.service';\nimport { AnalyticsService } from '../../../services/analytics.service';\nimport { SomtagService } from '../../../services/somtag.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-search',\n templateUrl: './search.component.html'\n})\nexport class SearchComponent implements OnInit {\n public environment = environment;\n public result: {\n items: RawAssetFromApi[];\n suggestions: string[];\n itemCount: number;\n };\n public loading = false;\n public q = '';\n\n @ViewChild('searchInput', { static: true }) public searchInput;\n\n constructor(\n private searchService: SearchService,\n public currentRoute: ActivatedRoute,\n private analyticsService: AnalyticsService,\n private somtagService: SomtagService,\n private agofService: AgofService,\n private router: Router,\n private toastr: ToastrService\n ) {}\n\n public ngOnInit(): void {\n this.somtagService.setDisplayAdChannelsFromString('suche');\n this.analyticsService.trackPageview();\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Search_engines\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: '/suche/',\n survey: true\n }\n }\n });\n // @ts-ignore\n window.prerenderReady = true;\n\n this.currentRoute.queryParams.subscribe(params => {\n this.q = params.q;\n this.search(params.q, params.trigger);\n });\n }\n\n public searchInputChanged(e) {\n if (e.key !== 'Enter') {\n return;\n }\n const q = (e.target as HTMLInputElement).value;\n\n const queryParams = { q, trigger: 'search-page-input' };\n\n this.router.navigate([], {\n queryParams,\n queryParamsHandling: 'merge'\n });\n }\n\n public search(term: string, trigger?: string) {\n this.loading = true;\n this.searchService.search(term, 50, 1).subscribe(\n res => {\n this.result = res;\n this.loading = false;\n },\n err => {\n this.toastr.error('Suchergebnisse konnten nicht geladen werden.', 'Fehler');\n this.loading = false;\n }\n );\n }\n\n public suggestionClick(suggestion: string) {\n const queryParams = {\n q: suggestion,\n trigger: 'search-page-suggestions'\n };\n\n this.router.navigate([], {\n queryParams,\n queryParamsHandling: 'merge'\n });\n }\n}\n","import { ChangeDetectorRef, Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { AssetsService } from '../../../services/api/methods/assets.service';\nimport { Router } from '@angular/router';\nimport { Section } from '../../../entities/section.entity';\nimport { PlayerComponent } from '../../elements/player/player.component';\nimport { environment } from '../../../environments/environment';\n\n@Component({\n selector: 'app-test-live',\n templateUrl: './test-live.component.html'\n})\nexport class TestLiveComponent implements OnInit {\n public _assets: RawAssetFromApi[] = [];\n\n public relatedAssets: RawAssetFromApi[];\n public mainAsset: RawAssetFromApi;\n\n public environment;\n public tags = [];\n public autoplay = false;\n public hasAds = false;\n public showBottomPlaylist = environment.player.showBottomPlaylist;\n\n @Input() public section: Section | undefined;\n\n @ViewChild('player') public player: PlayerComponent;\n\n constructor(protected assetService: AssetsService, protected router: Router, protected cdr: ChangeDetectorRef) {\n this.environment = environment;\n }\n\n public ngOnInit(): void {\n this.mainAsset = this._assets[0];\n\n this.assetService.getAssetsForTag('Sportart', 'tischtennis', 1, 18).subscribe((assets: RawAssetFromApi[]) => {\n this.relatedAssets = assets;\n });\n\n this.tags = this.getTags(this.mainAsset);\n }\n\n public getTags(asset: RawAssetFromApi): { routerLink: string; name: string; queryParams: any }[] {\n if (!asset || !asset.tags) {\n console.warn('No RawAssetFromApi Tags found in asset', asset);\n return [];\n }\n const res = [];\n for (const key of Object.keys(asset.tags)) {\n if (key.indexOf('_') === 0) {\n continue;\n }\n if (key.indexOf('Kanal') === 0) {\n res.push({\n routerLink: '/' + asset.section.permalink,\n name: asset.tags[key],\n queryParams: {}\n });\n } else {\n asset.tags[key].map(tag => {\n res.push({\n routerLink: '/' + environment.urlSlugs.search,\n name: tag,\n queryParams: { q: tag }\n });\n });\n }\n }\n return res;\n }\n\n public share(network) {\n switch (network) {\n case 'facebook':\n window.open('https://www.facebook.com/sharer.php?u=' + encodeURI(window.location.href));\n return;\n case 'twitter':\n window.open('https://twitter.com/share?url=' + encodeURI(window.location.href));\n return;\n case 'google':\n window.open('https://plus.google.com/share?url=' + encodeURI(window.location.href));\n return;\n }\n }\n}\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\nimport { ActivatedRoute, Router, RouterLinkWithHref } from '@angular/router';\nimport { LocationStrategy } from '@angular/common';\n\n@Directive({\n selector: 'a[appAdaptiveRouterLink]'\n})\nexport class AdaptiveRouterLinkDirective extends RouterLinkWithHref implements OnChanges {\n private externalLink: string;\n\n constructor(router: Router, route: ActivatedRoute, locationStrategy: LocationStrategy, private el: ElementRef) {\n super(router, route, locationStrategy);\n }\n\n @Input() set appAdaptiveRouterLink(commands: string) {\n if (!commands) {\n return;\n }\n if (commands.startsWith('http')) {\n this.externalLink = commands;\n } else {\n this.routerLink = commands;\n }\n }\n\n public onClick(button: number, ctrlKey: boolean, metaKey: boolean, shiftKey: boolean): boolean {\n if (this.externalLink) {\n return true;\n } else {\n super.onClick(button, ctrlKey, metaKey, shiftKey);\n return false;\n }\n }\n\n public ngOnChanges(changes: {}): any {\n if (this.externalLink) {\n this.href = this.externalLink;\n } else {\n super.ngOnChanges(changes);\n }\n }\n}\n","export class Alert {\n public type: AlertType;\n public message: string;\n public buttonText?: string;\n public callback?: () => void; // function\n}\n\nexport enum AlertType {\n Success,\n Error,\n Info,\n Warning\n}\n","import { PendingVideo, Video } from './video.entity';\nimport { Tag } from './tag.entity';\nimport { RawAssetFromApi } from './raw-asset-from-api.entity';\nimport { environment } from '../environments/environment';\nimport { Publisher } from './publisher.entity';\nimport { LiveEvent } from './live-event.entity';\nimport { AppName } from 'src/common/enum/app-name.enum';\nimport { AssetAuthorizationEntity } from './asset-authorization.entity';\n\nexport class Asset implements RawAssetFromApi {\n public contents_freely_accessible: boolean;\n public description: string;\n public duration: string; // \"00:21\"\n public external_ids?: string[];\n public geo?: string;\n public ics: string;\n public image_mediafile_uuids?: string[];\n public images: {\n url: string;\n uuid: string;\n }[];\n public label: string;\n public live?: boolean;\n public live_at?: string;\n public permalink: string;\n public player: string;\n public published: boolean;\n public published_at: string;\n public seconds: number;\n public section?: {\n permalink: string;\n uuid: string;\n };\n public tags: Tag[];\n public teaser: string;\n public url: string;\n public uuid: string;\n public version_number: number;\n public video_mediafile_uuids: string[];\n public videos?: Video[];\n public views: number;\n public youth_protection_category: any;\n\n /**\n * If a live event object for this asset exists, it can be fetched and attached to it.\n * NOT SET BY API\n */\n public liveEvent?: LiveEvent;\n\n public publisher?: Publisher; // read-only\n\n /**\n * @deprecated\n */\n public match_id?: string;\n\n /// generated from tag_filters, not included from server side api\n public sportart?: Tag;\n public channel?: Tag;\n public products?: Tag;\n\n public production_partner: string[] = [];\n public esport_games: string[] = [];\n public esport_events: string[] = [];\n public wettbewerb_event: string[] = [];\n public genre: string[] = [];\n public video_kategorie: string[] = [];\n public ort: string[] = [];\n public saison: string[] = [];\n public teams: string[] = [];\n public som_targeting_keywords?: string[] = [];\n public licence_owner?: string[] = [];\n public auto_marke: string[] = [];\n public auto_modell: string[] = [];\n public auto_typ: string[] = [];\n public auto_krafstoff: string[] = [];\n public auto_farbe: string[] = [];\n public flags?: string[] = [];\n\n public opener_title?: string;\n public opener_body?: string;\n public opener_image?: string;\n\n public is_moment_of_the_year_clip = false;\n\n public player_branding_logo: string = null;\n\n // Flags\n public noembed = false;\n public norelated = false;\n public noad = false;\n public noshare = false;\n public nologo = false; // no branding in player\n public nomidroll = false;\n public novideo = false;\n public notags = false;\n public hide_title_in_embedded_player = false;\n public player_branding_left = false;\n public player_branding_bottom = false;\n public player_branding_none = false;\n\n public tags_by_callname: Tag[] = [];\n\n // not set by api\n public authorization_token?: AssetAuthorizationEntity;\n\n constructor(asset: RawAssetFromApi) {\n this.contents_freely_accessible = asset.contents_freely_accessible;\n this.publisher = asset.publisher;\n this.external_ids = asset.external_ids;\n this.geo = asset.geo;\n this.ics = asset.ics;\n this.image_mediafile_uuids = asset.image_mediafile_uuids;\n this.images = asset.images;\n this.label = asset.label;\n this.permalink = asset.permalink;\n this.player = asset.player;\n this.published = asset.published;\n this.published_at = asset.published_at;\n this.section = asset.section;\n this.tags = asset.tags;\n this.teaser = asset.teaser;\n this.url = asset.url;\n this.uuid = asset.uuid;\n this.version_number = asset.version_number;\n this.video_mediafile_uuids = asset.video_mediafile_uuids;\n this.views = asset.views;\n this.youth_protection_category = asset.youth_protection_category;\n this.published_at = asset.published_at;\n this.description = asset.description;\n this.duration = asset.duration;\n this.seconds = asset.seconds;\n this.live_at = asset.live_at;\n this.live = asset.live;\n\n this.videos = [];\n asset.videos.forEach((video: Video | PendingVideo) => {\n if (this.isPendingVideo(video)) {\n console.warn('Stripped pending video from asset. video.uuid: ', video.uuid);\n return;\n }\n this.videos.push(video);\n });\n // demo for corona campaign\n\n this.tags.forEach((tag: Tag) => {\n this.tags_by_callname[tag.callname] = tag;\n\n if (tag.callname === 'sportart') {\n this.sportart = tag;\n }\n\n if (tag.callname === 'channel') {\n this.channel = tag;\n }\n if (tag.callname === 'bereich') {\n this.channel = tag;\n }\n\n if (tag.callname === '_flags' && tag.values[0]) {\n this.flags = tag.values;\n this.noembed = tag.values.includes('noembed');\n this.norelated = tag.values.includes('norelated');\n this.noad = tag.values.includes('noad');\n this.noshare = tag.values.includes('noshare');\n this.hide_title_in_embedded_player = tag.values.includes('notitle');\n this.nologo = tag.values.includes('nologo');\n this.nomidroll = tag.values.includes('nomidroll');\n this.novideo = tag.values.includes('novideo');\n this.notags = tag.values.includes('notags');\n this.player_branding_left = tag.values.includes('player_branding_left');\n this.player_branding_bottom = tag.values.includes('player_branding_bottom');\n this.player_branding_none = tag.values.includes('player_branding_none');\n }\n\n if (tag.callname === 'keywords-keyword-text') {\n this.sportart = tag;\n }\n\n if (tag.label === '_$openerTitle' && tag.values[0]) {\n this.opener_title = tag.values[0];\n }\n if (tag.label === '_$openerImage' && tag.values[0]) {\n this.opener_image = tag.values[0].replace('http:', 'https:');\n }\n if (tag.label === '_$openerBody' && tag.values[0]) {\n this.opener_body = tag.values[0];\n }\n\n if (tag.label === '_$playerLogo' && tag.values[0]) {\n if (tag.values[0] === 'sportdeutschland') {\n this.player_branding_logo = 'sportdeutschland.png';\n } else if (tag.values[0] === 'autodeutschland') {\n this.player_branding_logo = 'auto_deutschland.png';\n } else if (tag.values[0] === 'esports') {\n this.player_branding_logo = 'ran_esports.png';\n }\n }\n\n if (tag.label === 'Wettbewerb, Event' && tag.values[0]) {\n this.wettbewerb_event = tag.values;\n }\n\n if (tag.label === 'Genre (z.B. FPS, MOBA, etc.)' && tag.values[0]) {\n this.genre = tag.values;\n }\n\n if (tag.label === 'Ort (z.B. Köln, London)' && tag.values[0]) {\n this.ort = tag.values;\n }\n\n if (tag.label === 'Video Kategorie (z.B. Top5, Highlights, Interviews, etc.)' && tag.values[0]) {\n this.video_kategorie = tag.values;\n }\n\n if (tag.label === 'Teams' && tag.values[0]) {\n this.teams = tag.values;\n } else if (tag.label === 'Spielername/Team' && tag.values[0]) {\n this.teams = tag.values;\n }\n\n if (tag.label === 'Saison (Liga) / Termin (Event)' && tag.values[0]) {\n this.saison = tag.values;\n }\n\n if (tag.label === '_som_targeting_keyword' && tag.values[0]) {\n this.som_targeting_keywords = tag.values;\n }\n\n if (tag.label === '_Lizenzgeber' && tag.values[0]) {\n this.licence_owner = tag.values;\n }\n\n if (tag.callname === 'products') {\n this.products = tag;\n }\n\n if (tag.callname === 'format' && tag.values[0]) {\n this.is_moment_of_the_year_clip = tag.values[0] === 'moment';\n }\n\n if (tag.label === '_Produktionspartner') {\n this.production_partner = tag.values;\n }\n\n if (environment.appName === AppName.esports) {\n if (tag.callname === 'test-2') {\n this.esport_games = tag.values;\n }\n if (tag.callname === 'event-z-b-esl-one-cologne-iem-katowice') {\n this.esport_events = tag.values;\n }\n }\n\n if (environment.appName === AppName.auto) {\n if (tag.callname === 'hersteller') {\n this.auto_marke = tag.values;\n }\n if (tag.callname === 'modell') {\n this.auto_modell = tag.values;\n }\n if (tag.callname === 'kraftstoff') {\n this.auto_krafstoff = tag.values;\n }\n\n if (tag.callname === 'farbe') {\n this.auto_krafstoff = tag.values;\n }\n }\n });\n\n if (\n this.channel &&\n (this.channel.values.includes('2. HBL') ||\n this.channel.values.includes('DHB-Pokal') ||\n this.channel.values.includes('HBF') ||\n this.channel.values.includes('2. HBF'))\n ) {\n this.player_branding_left = true;\n if (this.channel.values.includes('HBF') || this.channel.values.includes('2. HBF')) {\n this.player_branding_bottom = true;\n }\n }\n }\n\n private isPendingVideo(video: Video | PendingVideo): video is PendingVideo {\n return (video).pending !== undefined;\n }\n}\n","import { LiveEvent } from './live-event.entity';\nimport { SocialLinkEntity } from './social-link.entity';\nimport { Asset } from './asset.entity';\nimport { TagFilter } from './tag-filter.entity';\nimport { Section } from './section.entity';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { BehaviorSubject, Subscriber } from 'rxjs';\n\nexport enum VisualisationTypeEnum {\n opener = 'opener',\n html = 'html',\n imageSlider = 'imageSlider',\n liveEvents = 'liveEvents',\n bannerImage = 'bannerImage',\n ctaBanner = 'ctaBanner',\n contentTeaser = 'contentTeaser',\n pageTeasers = 'pageTeasers',\n socialLinks = 'socialLinks',\n tileSliderBigTiles = 'tileSliderBigTiles',\n tileSliderSmallTiles = 'tileSliderSmallTiles',\n tileSliderBigTilesSponsored = 'tileSliderBigTilesSponsored',\n tileGridBigTiles = 'tileGridBigTiles',\n tileGridSmallTiles = 'tileGridSmallTiles',\n somtagTrackingDisclaimer = 'somtagTrackingDisclaimer',\n videoPlayer = 'videoPlayer',\n tileSliderRoundImageTile = 'tileSliderRoundImageTile',\n tileSliderDonations = 'tileSliderDonations'\n}\n\nexport enum ContentTypeEnum {\n assets = 'assets',\n asset = 'asset',\n section = 'section',\n playlist = 'playlist',\n html = 'html',\n live_events = 'live_events',\n page = 'page',\n image = 'image'\n}\n\nexport interface ExtendedPageContent {\n clients: string[];\n content_type: ContentTypeEnum;\n content_uuid: string;\n description: string;\n html_content: string;\n html_content_plain: string;\n metatags: string[];\n path?: string;\n position: number;\n published: boolean;\n tag_filters: Array;\n images?: Array<{\n size?: 'sm' | 'md' | 'lg';\n url?: string;\n }>;\n title: string;\n teaser: string;\n visualization_options: { key: string; value: any }[];\n visualization_type: VisualisationTypeEnum;\n page_teasers?: { image: string; text: string; url: string }[];\n\n social_links?: SocialLinkEntity[];\n\n // NOT SET BY API. HAS TO BE FETCHED FIRST\n assets?: BehaviorSubject<{ items: Asset[]; total_assets_count: number }>;\n // todo the totals_assets count ist not correct, see permalink service\n liveEvents?: BehaviorSubject<{ items: LiveEvent[]; total_assets_count: number }>;\n\n page?: number;\n per_page?: number;\n subscriber?: Subscriber<{ items: Asset[]; total_assets_count: number }>;\n\n /** @deprecated */\n assets_count?: number;\n section?: Observable
    ;\n\n loadMore();\n}\n","import { Tag } from './tag.entity';\nimport { RawLiveEventFromApi } from './raw-live-event-from-api.entity';\nimport { Asset } from './asset.entity';\n\nexport class LiveEvent {\n public images: string[];\n public now: boolean;\n public asset_version: number;\n public starts_at: Date;\n /**\n * @var asset_uuid is referencing the asset_id\n */\n public asset_uuid: string;\n public title: string;\n public ends_at: Date;\n public tags?: Tag[];\n public body: string;\n public path: string;\n public ics: string;\n\n // generated in frontend\n public sportart?: Tag;\n public channel?: Tag;\n\n // NOT SET BY API\n public asset?: Asset;\n\n public constructor(raw: RawLiveEventFromApi) {\n this.images = raw.images;\n this.now = raw.now;\n this.asset_version = raw.asset_version;\n this.starts_at = raw.starts_at;\n /**\n * @var asset_uuid is referencing the asset_id\n */\n this.asset_uuid = raw.asset_uuid;\n this.title = raw.title;\n this.ends_at = raw.ends_at;\n this.body = raw.body;\n this.path = raw.path;\n this.ics = raw.ics;\n\n if (raw.tags['Sportart']) {\n this.sportart = {\n callname: 'sportart',\n label: 'Sportart',\n uuid: 'unknown',\n values: raw.tags['Sportart']\n };\n }\n if (raw.tags['Sporttype']) {\n this.sportart = {\n callname: 'keywords-keyword-text',\n label: 'Sporttype',\n uuid: 'unknown',\n values: raw.tags['Sporttype']\n };\n }\n if (raw.tags['Kanal']) {\n this.channel = {\n callname: 'channel',\n label: 'Kanal',\n uuid: 'unknown',\n values: raw.tags['Kanal']\n };\n }\n\n if (Array.isArray(raw.tags)) {\n raw.tags.forEach((tag: Tag | string) => {\n if (typeof tag === 'string') {\n } else {\n if (tag.callname === 'sportart') {\n this.sportart = tag;\n }\n\n if (tag.callname === 'channel') {\n this.channel = tag;\n }\n\n if (tag.callname === 'keywords-keyword-text') {\n this.sportart = tag;\n }\n }\n });\n }\n }\n}\n","export enum ObjectType {\n asset = 'asset',\n live_event = 'live_event',\n playlist = 'playlist',\n section = 'section',\n account = 'account',\n subscription = 'subscription',\n email = 'email',\n search = 'search',\n device_id = 'device_id',\n teaser = 'teaser'\n}\n\nexport enum Action {\n hover = 'hover',\n click = 'click',\n tap = 'tap',\n play = 'play',\n pause = 'pause',\n view = 'view',\n playing = 'playing',\n seek = 'seek',\n fullscreen_change = 'fullscreen_change',\n search = 'search',\n purchase = 'purchase',\n create = 'create',\n update = 'update',\n delete = 'delete',\n sent = 'sent'\n}\n\n/** Used to track interactions with a collection of assets, but not with the assets in the collections itself. (e.g. click on more link)*/\nexport interface Teaser {\n title?: string;\n targetURL?: string;\n}\n\nexport interface UserEvent {\n /**\n * Who? (anonymized)\n */\n user_id?: string; // database user uuid\n device_id?: string; // only for frontend hash of an unique device uuid https://github.com/Valve/fingerprintjs2\n device_type?: string; // user device like iphone/ipad\n // ip_hash?: string; // sha1 hash of users ip\n os?: string; // windows, macos, ios, android\n country?: string; // DE, AT, CH (ISO-3166-1)\n\n /**\n * When?\n */\n timestamp: number; // microseconds since unix epoch\n\n /**\n * What happened ?\n * etc\n */\n action: Action;\n\n /**\n * With what?\n */\n object_type: Object;\n object_id?: string; // the uuid of the object if available\n object?: JSON; // full json of the object (for example the asset or the search {keyword: 'sport', filters... )\n\n /**\n * Where did it happen?\n */\n source: 'web' | 'app' | 'server' | 'tv' | 'backend'; // backend is the admin backend\n url: string; // current url, can also be an API URL\n\n /**\n * asset related information (all optional)\n */\n position?: number; // current position in the video\n total_view_time?: number; // how many seconds the user has seen of the video\n ads?: boolean; // ads enabled?\n full_screen?: boolean;\n\n /**\n * Anything else?\n * what ever might be interesting (optional)\n */\n custom?: JSON;\n}\n","export enum AgofEnum {\n LANGUAGE_GERMAN = 'd', // German\n LANGUAGE_OTHER_CONTENT_VERIFIED = 'p', // Other language, content is verifiable\n LANGUAGE_OTHER_CONTENT_NOT_VERIFIED = 'n', // Other language, content is not verifiable\n\n CONTENT_TYPE_IMAGE_TEXT = 'Tx', // The page contains display ads (e.g. Skyscraper).\n CONTENT_TYPE_AUDIO = 'Ax', // The page contains ads for audio files.\n CONTENT_TYPE_VIDEO = 'Vx', // The page is a player page and is marketed with instream ads (e.g. Preroll).\n CONTENT_TYPE_OTHER = 'Dx', //\n\n CONTENT_CREATOR_EDITOR = 'Rc',\n CONTENT_CREATOR_USER = 'Uc',\n CONTENT_CREATOR_UNKOWN = 'Nc',\n\n HOMEPAGE_YES = 'Hp',\n HOMEPAGE_NO = 'Cp',\n HOMEPAGE_OF_THIRD_PARTY_DOMAIN = 'Fp', // In case of a so-called Multi-FQDN-Offer\n\n DISTRIBUTION_ONLINE = 'Oq',\n DISTRIBUTION_MOBILE = 'Mq',\n DISTRIBUTION_CONNECTED_TV = 'Tq',\n\n DEVICE_APP = 'Ay',\n DEVICE_NO_APP = 'Ky',\n\n PAID_YES = 'Pz',\n PAID_NO = 'Fz',\n\n CONTENT_TOPIC_News = '01',\n CONTENT_TOPIC_Sports = '02',\n CONTENT_TOPIC_Entertainment_Boulevard_Stars_Films_Music = '03',\n CONTENT_TOPIC_Fashion_Beauty = '04',\n CONTENT_TOPIC_Family_Children_Living_Advice = '05',\n CONTENT_TOPIC_Love_Psychology_Relationships = '06',\n CONTENT_TOPIC_Car_Traffic_Mobility = '07',\n CONTENT_TOPIC_Travel_Tourism = '08',\n CONTENT_TOPIC_Computers = '09',\n CONTENT_TOPIC_Consumer_Electronics = '10',\n CONTENT_TOPIC_Telecommunications_Internet_Services = '11',\n CONTENT_TOPIC_Games = '12',\n CONTENT_TOPIC_Residential_Living_Real_Estate_Garden_Household = '13',\n CONTENT_TOPIC_Economy_Finances_Jobs_Careers = '14',\n CONTENT_TOPIC_Health = '15',\n CONTENT_TOPIC_Food_Beverages = '16',\n CONTENT_TOPIC_Arts_Culture_Literature = '17',\n CONTENT_TOPIC_Erotic = '18',\n CONTENT_TOPIC_Science_Education_Nature_Environment = '19',\n CONTENT_TOPIC_Information_about_the_website_Service = '20',\n CONTENT_TOPIC_Mixed_multi_thematic = '21',\n CONTENT_TOPIC_Miscellaneous_mono_thematic = '22',\n CONTENT_TOPIC_General_games_page = '23',\n CONTENT_TOPIC_Casual_Games = '24',\n CONTENT_TOPIC_Core_Games = '25',\n CONTENT_TOPIC_Miscellaneous_games_sector = '26',\n CONTENT_TOPIC_Social_networking_private = '27',\n CONTENT_TOPIC_Social_networking_business = '28',\n CONTENT_TOPIC_Partner_search_Dating = '29',\n CONTENT_TOPIC_Newsletter = '30',\n CONTENT_TOPIC_EMail_SMS_ECards = '31',\n CONTENT_TOPIC_Messenger_Chat = '32',\n CONTENT_TOPIC_Miscellaneous_networking_communications_sector = '33',\n CONTENT_TOPIC_Search_engines = '34',\n CONTENT_TOPIC_Directories_Information_services = '35',\n CONTENT_TOPIC_Miscellaneous_search_engine_directories_sector = '36',\n CONTENT_TOPIC_Online_Shops_Shopping_Mall_Auctions_B2B_Market_Places = '37',\n CONTENT_TOPIC_Real_estate_classified_markets_small_ads = '38',\n CONTENT_TOPIC_Jobs_classified_markets_small_ads = '39',\n CONTENT_TOPIC_Vehicles_classified_markets_small_ads = '40',\n CONTENT_TOPIC_Miscellaneous_classified_markets_small_ads = '41',\n CONTENT_TOPIC_Miscellaneous_ecommerce_sector = '42',\n\n CHANNEL_DEFAULT = 'default',\n CHANNEL_HOME = 'home',\n CHANNEL_SERIVCE = 'service',\n CHANNEL_LIVE = 'live',\n CHANNEL_FALLBACK = 'fallback'\n}\n\nexport type AGOF_CONTENT_TYPE =\n | AgofEnum.CONTENT_TYPE_IMAGE_TEXT\n | AgofEnum.CONTENT_TYPE_AUDIO\n | AgofEnum.CONTENT_TYPE_VIDEO\n | AgofEnum.CONTENT_TYPE_OTHER;\n\nexport type AGOF_LANGUAGE =\n | AgofEnum.LANGUAGE_GERMAN\n | AgofEnum.LANGUAGE_OTHER_CONTENT_NOT_VERIFIED\n | AgofEnum.LANGUAGE_OTHER_CONTENT_VERIFIED;\n\nexport type AGOF_CONTENT_CREATOR =\n | AgofEnum.CONTENT_CREATOR_EDITOR\n | AgofEnum.CONTENT_CREATOR_USER\n | AgofEnum.CONTENT_CREATOR_UNKOWN;\n\nexport type AGOF_CONTENT_TOPIC =\n | AgofEnum.CONTENT_TOPIC_News\n | AgofEnum.CONTENT_TOPIC_Sports\n | AgofEnum.CONTENT_TOPIC_Entertainment_Boulevard_Stars_Films_Music\n | AgofEnum.CONTENT_TOPIC_Fashion_Beauty\n | AgofEnum.CONTENT_TOPIC_Family_Children_Living_Advice\n | AgofEnum.CONTENT_TOPIC_Love_Psychology_Relationships\n | AgofEnum.CONTENT_TOPIC_Car_Traffic_Mobility\n | AgofEnum.CONTENT_TOPIC_Travel_Tourism\n | AgofEnum.CONTENT_TOPIC_Computers\n | AgofEnum.CONTENT_TOPIC_Consumer_Electronics\n | AgofEnum.CONTENT_TOPIC_Telecommunications_Internet_Services\n | AgofEnum.CONTENT_TOPIC_Games\n | AgofEnum.CONTENT_TOPIC_Residential_Living_Real_Estate_Garden_Household\n | AgofEnum.CONTENT_TOPIC_Economy_Finances_Jobs_Careers\n | AgofEnum.CONTENT_TOPIC_Health\n | AgofEnum.CONTENT_TOPIC_Food_Beverages\n | AgofEnum.CONTENT_TOPIC_Arts_Culture_Literature\n | AgofEnum.CONTENT_TOPIC_Erotic\n | AgofEnum.CONTENT_TOPIC_Science_Education_Nature_Environment\n | AgofEnum.CONTENT_TOPIC_Information_about_the_website_Service\n | AgofEnum.CONTENT_TOPIC_Mixed_multi_thematic\n | AgofEnum.CONTENT_TOPIC_Miscellaneous_mono_thematic\n | AgofEnum.CONTENT_TOPIC_General_games_page\n | AgofEnum.CONTENT_TOPIC_Casual_Games\n | AgofEnum.CONTENT_TOPIC_Core_Games\n | AgofEnum.CONTENT_TOPIC_Miscellaneous_games_sector\n | AgofEnum.CONTENT_TOPIC_Social_networking_private\n | AgofEnum.CONTENT_TOPIC_Social_networking_business\n | AgofEnum.CONTENT_TOPIC_Partner_search_Dating\n | AgofEnum.CONTENT_TOPIC_Newsletter\n | AgofEnum.CONTENT_TOPIC_EMail_SMS_ECards\n | AgofEnum.CONTENT_TOPIC_Messenger_Chat\n | AgofEnum.CONTENT_TOPIC_Miscellaneous_networking_communications_sector\n | AgofEnum.CONTENT_TOPIC_Search_engines\n | AgofEnum.CONTENT_TOPIC_Directories_Information_services\n | AgofEnum.CONTENT_TOPIC_Miscellaneous_search_engine_directories_sector\n | AgofEnum.CONTENT_TOPIC_Online_Shops_Shopping_Mall_Auctions_B2B_Market_Places\n | AgofEnum.CONTENT_TOPIC_Real_estate_classified_markets_small_ads\n | AgofEnum.CONTENT_TOPIC_Jobs_classified_markets_small_ads\n | AgofEnum.CONTENT_TOPIC_Vehicles_classified_markets_small_ads\n | AgofEnum.CONTENT_TOPIC_Miscellaneous_classified_markets_small_ads\n | AgofEnum.CONTENT_TOPIC_Miscellaneous_ecommerce_sector;\n\nexport type AGOF_HOMEPAGE = AgofEnum.HOMEPAGE_YES | AgofEnum.HOMEPAGE_NO | AgofEnum.HOMEPAGE_OF_THIRD_PARTY_DOMAIN;\n\nexport type AGOF_DISTRIBUTION =\n | AgofEnum.DISTRIBUTION_CONNECTED_TV\n | AgofEnum.DISTRIBUTION_MOBILE\n | AgofEnum.DISTRIBUTION_ONLINE;\n\nexport type AGOF_DEVICE = AgofEnum.DEVICE_APP | AgofEnum.DEVICE_NO_APP;\n\nexport type AGOF_PAID = AgofEnum.PAID_YES | AgofEnum.PAID_NO;\n","export enum AppName {\n auto = 'auto',\n esports = 'esports',\n handball = 'handball',\n sportdeutschland = 'sportdeutschland',\n tischtennis = 'tischtennis',\n turn = 'turn'\n}\n","/** Only internal player errors! */\nexport enum PlayerErrorEnum {\n /** Used when source object can not be fetched from video.url */\n LIVESTREAM_OFFLINE = 'LIVESTREAM_OFFLINE',\n /** Used when source object can not be fetched from video.url */\n MISSING_VIDEO_SOURCE = 'MISSING_VIDEO_SOURCE',\n /** Used when asset has not video prop */\n MISSING_VIDEO = 'MISSING_VIDEO',\n /** Used on videojs player errors (e.g. MEDIA_ERR_NETWORK, MEDIA_ERR_DECODE etc.) */\n MEDIA_ERROR = 'MEDIEA_ERROR',\n /** Used when Player init fails */\n PLAYER_INIT_ERROR = 'PLAYER_INIT_ERROR'\n}\n","export enum PlayerStateEnum {\n LOADING = 'LOADING',\n COUNTDOWN = 'COUNTDOWN',\n SUCCESS = 'SUCCESS',\n UNAUTHORIZED = 'UNAUTHORIZED',\n REVOLVERPLAY = 'REVOLVERPLAY',\n\n INVALID_PARAMS = 'INVALID_PARAMS',\n ASSET_NOT_AVAILABLE = 'ASSET_NOT_AVAILABLE',\n LIVESTREAM_NOT_AVAILABLE = 'LIVESTREAM_NOT_AVAILABLE',\n AGE_NOT_VERIFIED = 'AGE_NOT_VERIFIED',\n AGE_NON_COMPLIANT = 'AGE_NON_COMPLIANT',\n YOUTH_PROTECTION_PIN_NOT_SET = 'YOUTH_PROTECTION_PIN_NOT_SET',\n YOUTH_PROTECTION_PIN_EXPIRED = 'YOUTH_PROTECTION_PIN_EXPIRED',\n YOUTH_PROTECTION_SESSION_MISSING = 'YOUTH_PROTECTION_SESSION_MISSING',\n WITHOUT_SUCCESSFUL_PURCHASE = 'WITHOUT_SUCCESSFUL_PURCHASE',\n CONTENT_CURRENTLY_NOT_PURCHASED = 'CONTENT_CURRENTLY_NOT_PURCHASED',\n CONTENT_NOT_ALLOWED_FOR_REGION = 'CONTENT_NOT_ALLOWED_FOR_REGION',\n TOO_MANY_CONCURRENT_ACCESS_SESSIONS = 'TOO_MANY_CONCURRENT_ACCESS_SESSIONS',\n TOKEN_INVALID = 'TOKEN_INVALID',\n AD_BLOCKER_ENABLED = 'AD_BLOCKER_ENABLED',\n\n /** PlayerErrorEnum defines type of playerError */\n PLAYER_ERROR = 'PLAYER_ERROR',\n API_ERROR = 'API_ERROR'\n}\n","// This env file is the boilerplate for ALL env files.\n// It MUST contain all env values accross all sites\n// When creating a new site just copy this file and use it as a boilerplate\n\nimport { AppName } from '../enum/app-name.enum';\n\nexport const environment = {\n appName: AppName.sportdeutschland,\n appDisplayName: 'Sportdeutschland TV',\n envName: 'production',\n hmr: false,\n production: true,\n pageTitleAppendix: ' | Sportdeutschland TV',\n\n payableContent: false,\n infiniteScroll: true,\n tracking: {\n trackUserEvents: true,\n userEventEnpoint: 'https://event-logger.sportdeutschland.tv/api/',\n customDomain: '' // keep empty if window.location.hostname should be used\n },\n searchTagFilter: {\n active: false,\n key: null,\n value: null\n },\n liveEventsFilter: {\n active: false,\n key: null,\n value: null\n },\n adyen: {\n mode: 'live', // \"live\" or \"test\" change it to 'live' when going live.\n version: '1.2.3',\n usercentricsTemplateId: 'g6VZ4jYtO'\n },\n ads: {\n useAds: true,\n blockVideosForAdBlocker: false,\n useGothaerSponsoring: true,\n somtag: {\n publisherId: 'sportdeutschlandtv',\n channels: [],\n slots: [\n { slot: 'skyscraper1', container: '#skyscraper1' },\n { slot: 'fullbanner2', container: '#fullbanner2' },\n { slot: 'rectangle1', container: '#rectangle1' },\n { slot: 'mbanner1', container: '#mbanner1' },\n { slot: 'performanceRectangle1', container: '#performanceRectangle1' },\n { slot: 'minread1', container: '#minread1' },\n { slot: 'inread1', container: '#inread1' }\n ],\n blocks: ['pre', 'mid', 'post'],\n secondsBeforeFirstMidrollBlock: 10 * 60,\n secondsBetweenMidrollBlocks: 17 * 60,\n numberOfVideosBeforePreRollAgainInPlaylist: 0 // 0 for just one preRoll\n }\n },\n player: {\n showShareButton: true,\n showPlaylistButton: true,\n showChapterButton: true,\n showPlaylistArrows: false,\n showBottomPlaylist: true,\n conferenceMode: true,\n showPlayerBranding: true,\n playerBrandingLogo: 'sportdeutschland.png',\n showMomentOfTheYearButton: false,\n useRevolverPlay: true,\n embedded: {\n showTitle: true\n }\n },\n api: {\n endpoint: 'https://backend.sportdeutschland.tv/api/',\n endpointUnauthenticated: 'https://proxy.vidibusdynamic.net/ssl/backend.sportdeutschland.tv/api/',\n domain: 'sportdeutschland.tv'\n },\n externalScripts: {\n p7iframe: {\n name: 'ProSieben Iframe API',\n src: 'https://www.prosieben.de/iframe-api.js',\n async: true,\n usercentricsTemplateId: 'ZedDryIeW'\n }\n },\n loadOnInit: [\n {\n name: 'CleverPush',\n src: 'https://static.cleverpush.com/channel/loader/QX3kdsuKmRGyL9MLX.js',\n usercentricsTemplateId: 'Hkq1Xar5V'\n }\n ],\n footer: {\n useFooter: false,\n socialTwitterUrl: 'https://twitter.com/SportDE_TV',\n socialFacebookUrl: 'https://www.facebook.com/Sportdeutschland.TV/',\n socialInstagramUrl: 'https://www.instagram.com/sportdeutschland.tv/',\n sdtvLinks: false,\n logo: 'sdtv_lang.png'\n },\n header: {\n brand: 'Sportdeutschland TV',\n style: 'light',\n useMultiSiteMenu: false,\n useSideMenu: true,\n showFooterContentInSidebar: true,\n logoLg: 'logo_sdtv_klein.png',\n logoSm: 'logo_sdtv_klein.png',\n showLogin: true,\n showLive: true,\n showSearch: true,\n showLanguagePicker: false,\n sideMenuInitiallyClosed: false,\n useSearchbar: false\n },\n home: {\n sliderDuration: 5000 // 10000 = 10 seconds , set to false to disable slider\n },\n i18n: {\n defaultLocale: 'de',\n languages: ['de']\n },\n logger: {\n useSentry: false,\n sentryConfig: 'https://ca62d86cba51457e92b53deebfbd8d2f@sentry.io/1297043'\n },\n liveEvents: {\n refreshInterval: 60000 // 60 seconds\n },\n urlSlugs: {\n newsletter: 'newsletter',\n search: 'suche',\n login: 'login',\n forgotPassword: 'passwort-vergessen',\n resetPassword: 'np/:token',\n register: 'register', // must not link to the server side page\n confirmEmail: 'registrierung-bestaetigen',\n emailConfirmed: 'konto-bestaetigen', // this URL should be set to the server side page\n livestreams: 'livestreams',\n dashboard: 'mein-konto',\n myData: 'meine-daten',\n subscribedChannels: 'meine-kanaele',\n orders: 'bestellungen',\n toc: 'agb', // this URL should be set to the value from the pages API\n dataPrivacy: 'datenschutz',\n dataPrivacyAds: 'datenschutz-werbung',\n verifyAge: 'altersnachweis',\n checkout: 'checkout'\n },\n tiles: {\n showPlayIconOnHover: false\n },\n youthProtection: {\n active: false,\n secondsAfterWhichPinNeedsToBeEnteredAgain: 60 * 5\n },\n subscribeFeature: {\n subscribeFeatureEnabled: false,\n subscribableTagCallNames: ['sportart', 'bereich', 'event', 'teams-mannschaften-z-b-heim-gast']\n }\n};\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { AlertNotificationsService } from '../services/alert-notifications.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AlertType } from '../entities/alert.entity';\nimport { environment } from '../environments/environment';\nimport { AuthenticationService } from '../services/api/methods/authentication.service';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class LoggedInGuard implements CanActivate {\n constructor(\n protected alertService: AlertNotificationsService,\n protected authenticationService: AuthenticationService,\n protected translate: TranslateService,\n protected router: Router\n ) {}\n\n public canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable | Promise | boolean {\n return this.authenticationService.isLoggedIn().pipe(\n map((isLoggedin: boolean) => {\n if (!isLoggedin) {\n this.translate.get('alert.notLoggedIn').subscribe(trans => {\n this.alertService.alert(AlertType.Error, trans, true);\n });\n this.router.navigateByUrl(\n '/' + environment.urlSlugs.login + '?redirect=' + encodeURIComponent(state.url)\n );\n }\n return isLoggedin;\n })\n );\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nconst modules = [\n BrowserModule,\n BrowserAnimationsModule,\n MatAutocompleteModule,\n MatProgressSpinnerModule,\n MatCheckboxModule\n];\n\n@NgModule({\n imports: [...modules],\n exports: [...modules]\n})\nexport class MaterialModule {}\n","interface Consent {\n categorySlug: string;\n consent: { status: boolean };\n legitimateInterestConsent: { status: boolean };\n}\n\ninterface Vendor {\n consent: { status: boolean };\n legitimateInterestConsent: Consent;\n name: string;\n id: string;\n type: 'tcf' | 'default';\n}\n\nexport interface CMP {\n clear(): void;\n\n getBundleId(): string;\n\n getConsent(consent: string): Consent;\n\n getConsentStatus(id: string): boolean;\n\n getConsents(): Consent[];\n\n getControllerId(): string;\n\n getSettingsId(): string;\n\n getVendor(id: string): Vendor;\n\n getVendorStatus(id: string): boolean;\n\n getVendors(): Vendor[];\n\n hasCrossDomainPermission(): boolean;\n\n hasFailed(): boolean;\n\n hideBackdrop(): void;\n\n hideBanner(): void;\n\n isInitialized(): boolean;\n\n setModifiers(): void;\n\n showBackdrop(): void;\n\n showBanner(): void;\n\n showStep(stepConfig: { step: 'splash' | 'configuration' | 'vendors' }): void;\n}\n\nexport enum CMP_EVENTS {\n /**\n * Emitted when the Usercentrics SDK is initialized and ready (i.e. when the data returned by other methods is safe to use and does not represent initial placeholder data).\n * Payload: { view: 'none' | 'configuration' | 'splash', controllerId: string, settingsId: string }\n */\n initialized = 'cmp:initialized',\n\n /**\n * Emitted when the Usercentrics SDK can’t be initialized, e.g. the user uses an ad-blocking extension in their browser.\n * Payload: { error: Error }\n */\n failed = 'cmp:failed',\n\n /**\n * Emitted when the Usercentrics SDK is set up.\n * Payload: { controllerId: string, settingsId: string }\n */\n settings = 'cmp:settings',\n\n /**\n * Emitted initially when the Usercentrics SDK is initialized and ready and every time consents change.\n * Payload: { data: Consent[] }\n */\n consents = 'cmp:consents',\n\n /**\n * Emitted initially when the Usercentrics SDK is initialized and ready and every time consents change.\n * Payload: { data: Vendor[] }\n */\n vendors = 'cmp:vendors',\n\n /**\n * Emitted initially when user has already given their consent or as soon they give their consent.\n */\n confirmed = 'cmp:confirmed',\n\n /**\n * Emitted when user saves their consent.\n */\n saved = 'cmp:saved',\n\n /**\n * Emitted when the UI view changes.\n\n Payload: { step: 'splash' | 'configuration' }\n */\n\n step = 'cmp:step',\n\n /**\n * Emitted when the user interacts with a tooltip (either opening or closing it).\n\n Payload: { key: string }\n */\n tooltip = 'cmp:tooltip',\n\n /**\n * Emitted when a tooltip is opened.\n * Payload: { key: string }\n */\n tooltipOpen = 'cmp:tooltipOpen',\n\n /**\n * Emitted when a tooltip is closed.\n\n Payload: { key: string }\n */\n tooltipClose = 'cmp:tooltipClose',\n\n /**\n * Emitted when the CMP banner is shown.\n */\n showBanner = 'cmp:showBanner',\n\n /**\n * Emitted when the CMP banner is hidden.\n */\n hideBanner = 'cmp:hideBanner',\n\n /**\n * Emitted when the dialog should show a preferred step.\n\n Payload: { step: 'configuration' | 'splash' }\n */\n showStep = 'cmp:showStep',\n\n /**\n * userActionRequired\n\n Emitted when user action (e.g. consent approval/configuration) is required from the CMP.\n */\n userActionRequired = 'cmp:userActionRequired',\n\n /**\n * Emitted when user action (e.g. consent approval/configuration) is not required from the CMP.\n */\n userActionNotRequired = 'cmp:userActionNotRequired',\n\n /**\n * Emitted when an URL is supposed to be shown to the user (e.g. within an in-app browser).\n\n Payload: { url: 'https://...', target: '_blank' }\n */\n openUrl = 'cmp:openUrl',\n\n /**\n * Emitted when the CMP and Usercentrics is supposed to be reset completely (e.g. because a user logged out and you want to remove any debris on that device). This will also clear the local storage.\n */\n clear = 'cmp:clear',\n\n /**\n *\n Emitted when the CMP and Usercentrics is reset completely. As operations with the local storage can fail at any time and this interferes with Usercentrics’ internal local storage, there is no way to 100% reliably tell whether the clearing was successful or not.\n */\n\n cleared = 'cmp:cleared',\n\n /**\n * Emitted when the configured Usercentrics property has TCF enabled.\n\n Payload: { data: TCFData }\n */\n\n tcfData = 'cmp:tcfData',\n\n /**\n * Emitted when the configured Usercentrics property has TCF enabled.\n\n Payload: { data: InAppTCData } (see InAppTCData: https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md#inapptcdata)\n */\n inAppTCData = 'cmp:inAppTCData',\n\n /**\n * Emitted when the Usercentrics SDK cannot complete an async operation.\n\n Payload: { type: 'someFunctionName', error: Error }\n */\n error = 'cmp:error'\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConsentService } from './consent.service';\n\n@NgModule({\n declarations: [],\n providers: [ConsentService],\n imports: [CommonModule],\n exports: [],\n})\nexport class ConsentModule {}\n","import { Inject, Injectable, PLATFORM_ID } from '@angular/core';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { CMP, CMP_EVENTS } from './cmp';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { isPlatformBrowser } from '@angular/common';\nimport { of } from 'rxjs/internal/observable/of';\ndeclare global {\n interface Window {\n cmp: CMP;\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsentService {\n public initialized$: BehaviorSubject = new BehaviorSubject(false);\n public confirmed$: BehaviorSubject = new BehaviorSubject(false);\n public events$: Subject<{ event: CMP_EVENTS; data: unknown }> = new Subject();\n private isBrowser = false;\n\n constructor(@Inject(PLATFORM_ID) platformId: Record) {\n if (isPlatformBrowser(platformId)) {\n this.isBrowser = true;\n }\n this.events$.subscribe(e => console.log('[consent service]', e));\n\n this.events$\n .pipe(\n filter(e => e.event === CMP_EVENTS.initialized),\n take(1)\n )\n .subscribe(() => this.initialized$.next(true));\n\n this.events$\n .pipe(\n filter(e => e.event === CMP_EVENTS.confirmed),\n take(1)\n )\n .subscribe(() => {\n console.log('[consent service] setting confirmed to true');\n this.confirmed$.next(true);\n });\n\n if (this.isBrowser) {\n this.listenToEvents([\n CMP_EVENTS.consents,\n CMP_EVENTS.confirmed,\n CMP_EVENTS.initialized,\n CMP_EVENTS.saved,\n CMP_EVENTS.showBanner,\n CMP_EVENTS.hideBanner\n ]);\n\n document.addEventListener(CMP_EVENTS.saved, ev => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore\n const data = ev.detail?.data;\n console.log('[consent service] consent changed. will reload', data);\n window.location.reload();\n });\n\n document.addEventListener(CMP_EVENTS.confirmed, ev => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore\n const data = ev.detail?.data;\n console.log('[consent service] consent changed. will reload', data);\n window.location.reload();\n });\n }\n }\n\n public allConsentsForSomtagGiven(): boolean {\n if (this.isBrowser) {\n if (this.initialized$.getValue() === false) {\n console.warn('[consent service] Reading consents when not yet initialized');\n }\n return (\n window.cmp.getVendors().filter(cons => cons.consent.status === false && cons.type === 'default')\n .length === 0\n );\n }\n return false;\n }\n\n public showConsentBanner(): void {\n if (this.isBrowser) {\n window.cmp.showBanner();\n }\n }\n\n public showConfigurationStep(): void {\n if (this.isBrowser) {\n window.cmp.showBanner();\n window.cmp.showStep({ step: 'configuration' });\n }\n }\n\n public hideConsentBanner(): void {\n if (this.isBrowser) {\n window.cmp.hideBanner();\n }\n }\n\n public consentChanged(serviceName: string): Observable {\n if (this.isBrowser) {\n const subject = new Subject();\n return subject.asObservable();\n }\n return of(false);\n }\n\n public consentGiven(serviceName: string): boolean {\n if (this.isBrowser) {\n console.log('consent given? ', serviceName, window.cmp.getConsentStatus(serviceName));\n return window.cmp.getConsentStatus(serviceName);\n }\n return false;\n }\n\n private listenToEvents(events: CMP_EVENTS[]): void {\n events.map(e => {\n document.addEventListener(e, ev => {\n console.log('[consent service] event ', e, ev);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore\n this.events$.next({ event: e as CMP_EVENTS, data: ev.detail?.data });\n });\n });\n }\n}\n","import { RoutingHelperService } from './../services/routing-helper.service';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Asset } from '../entities/asset.entity';\n\n@Pipe({\n name: 'assetLink'\n})\nexport class AssetLinkPipe implements PipeTransform {\n constructor(private routingHelperService: RoutingHelperService) {}\n\n public transform(value: Asset, args?: any): string {\n return this.routingHelperService.getLinkFromAsset(value);\n }\n}\n","import { RoutingHelperService } from './../services/routing-helper.service';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Asset } from '../entities/asset.entity';\nimport { environment } from '../environments/environment';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Pipe({\n name: 'assetSubtitle'\n})\nexport class AssetSubtitlePipe implements PipeTransform {\n constructor(private routingHelperService: RoutingHelperService) {}\n\n public transform(asset: Asset): string {\n if (environment.appName === AppName.sportdeutschland) {\n if (asset.sportart && asset.sportart.values) {\n return asset.sportart.values[0];\n } else {\n return 'Sport';\n }\n } else {\n if (asset.channel && asset.channel.values) {\n return asset.channel.values[0];\n } else {\n return '';\n }\n }\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport * as moment from 'moment';\n\n@Pipe({\n name: 'customDate'\n})\nexport class CustomDatePipe extends DatePipe implements PipeTransform {\n public transform(value: any, args?: any): any {\n const date = moment(value);\n if (date.isSame(moment(), 'day')) {\n return `Heute ${date.format('H:mm')}`;\n } else if (date.isSame(moment().add(1, 'day'), 'day')) {\n return `Morgen ${date.format('H:mm')}`;\n } else if (date.isAfter(moment(), 'day')) {\n return `${super.transform(value)} ${date.format('H:mm')}`;\n } else {\n return super.transform(value);\n }\n }\n}\n","import { ExtendedPageContent } from '../entities/extended-page-content';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\n@Pipe({\n name: 'epcMoreLink'\n})\nexport class EPCMoreLinkPipe implements PipeTransform {\n public transform(content: ExtendedPageContent): Observable {\n const link = content.visualization_options.find((option: { key: string; value: any }) => option.key === 'link');\n if (link) {\n return of(link.value);\n } else {\n return of('');\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'imageSize'\n})\nexport class ImageSizePipe implements PipeTransform {\n private regex = /(?:_(\\d+)?xx?(\\d+)?)?(\\.[^\\.]+(?:\\?.*)?)$/;\n\n public transform(value: string, args?: { width: number; height: number }): any {\n if (value && args.width && args.height) {\n const width = Math.ceil(args.width);\n const height = Math.ceil(args.height);\n value.replace('http:', 'https:');\n return value.replace(this.regex, '_' + width + 'x' + height + '$3');\n } else {\n return value;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'keys'\n})\nexport class KeysPipe implements PipeTransform {\n public transform(value: Object): string[] {\n return Object.keys(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'matchMinute'\n})\nexport class MatchMinutePipe implements PipeTransform {\n public transform(value: string): string {\n const val: string[] = value.split(':');\n const number = parseInt(val[0], 10);\n return number + 1 + \"'\";\n }\n}\n","import { MatchMinutePipe } from './match-minute.pipe';\nimport { KeysPipe } from './keys.pipe';\nimport { CustomDatePipe } from './custom-date.pipe';\nimport { NgModule } from '@angular/core';\nimport { ImageSizePipe } from './image-size.pipe';\nimport { TruncateStringPipe } from './truncate-string.pipe';\nimport { TrustHtmlPipe } from './trust-html.pipe';\nimport { TrustResourceUrlPipe } from './trust-resource-url.pipe';\nimport { TrustStylePipe } from './trust-style.pipe';\nimport { ShuffleArrayPipe } from './shuffle-array.pipe';\nimport { EPCMoreLinkPipe } from './extended-page-content-more-link.pipe';\nimport { AssetLinkPipe } from './asset-link.pipe';\nimport { AssetSubtitlePipe } from './asset-subtitle.pipe';\nimport { PluckPipe } from './pluk.pipe';\n\nconst pipes = [\n CustomDatePipe,\n ImageSizePipe,\n KeysPipe,\n MatchMinutePipe,\n TruncateStringPipe,\n TrustHtmlPipe,\n TrustResourceUrlPipe,\n TrustStylePipe,\n ShuffleArrayPipe,\n EPCMoreLinkPipe,\n AssetLinkPipe,\n AssetSubtitlePipe,\n PluckPipe\n];\n\n@NgModule({\n imports: [],\n declarations: [...pipes],\n exports: [...pipes],\n providers: []\n})\nexport class PipesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'pluck' })\nexport class PluckPipe implements PipeTransform {\n public transform(input: any[], key: string): any {\n return input ? input.map(value => value[key]) : undefined;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'shuffleArray'\n})\nexport class ShuffleArrayPipe implements PipeTransform {\n constructor() {}\n\n public transform(value: [], args?: { options: [{ [key: string]: string | boolean }] }): [] {\n if (args) {\n if (args.options.find(e => e.key === 'shuffle' && e.value === true)) {\n return this.shuffle(value);\n }\n return value;\n } else {\n return this.shuffle(value);\n }\n }\n\n /**\n * Shuffles array in place. ES6 version\n * @param {Array} a items An array containing the items.\n */\n private shuffle(a: []): [] {\n for (let i = a.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [a[i], a[j]] = [a[j], a[i]];\n }\n return a;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncateString'\n})\nexport class TruncateStringPipe implements PipeTransform {\n constructor() {}\n\n public transform(value: string, args?: { characters: number }): string {\n if (value.length > args.characters) {\n return value.substr(0, args.characters + 1) + '…';\n } else {\n return value;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trustHtml'\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor(protected domsan: DomSanitizer) {}\n\n public transform(value: any, args?: any): any {\n return this.domsan.bypassSecurityTrustHtml(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trustResourceUrl'\n})\nexport class TrustResourceUrlPipe implements PipeTransform {\n constructor(protected domsan: DomSanitizer) {}\n\n public transform(value: any, args?: any): any {\n return this.domsan.bypassSecurityTrustResourceUrl(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trustStyle'\n})\nexport class TrustStylePipe implements PipeTransform {\n constructor(protected domsan: DomSanitizer) {}\n\n public transform(value: any, args?: any): any {\n return this.domsan.bypassSecurityTrustStyle(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/internal/Observable';\n\n@Injectable()\nexport class AdblockDetectionService {\n public adBlockerDetected(detected = false): void {\n // todo we had an error with init somtag\n }\n\n public adBlockerActive(): Observable {\n return new Observable(sub => {\n const head = document.getElementsByTagName('head')[0];\n\n const noAdBlocker = () => {\n sub.next(false);\n };\n const hasAdBlocker = err => {\n sub.next(true);\n };\n\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = '/assets/ads.js';\n script.onload = noAdBlocker;\n script.onerror = hasAdBlocker;\n head.appendChild(script);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n AGOF_CONTENT_CREATOR,\n AGOF_CONTENT_TOPIC,\n AGOF_CONTENT_TYPE,\n AGOF_DEVICE,\n AGOF_DISTRIBUTION,\n AGOF_HOMEPAGE,\n AGOF_LANGUAGE,\n AGOF_PAID\n} from '../enum/agof.enum';\n\n@Injectable()\nexport class AgofService {\n public environment;\n\n public createCategoryCode(\n lang: AGOF_LANGUAGE,\n contentType: AGOF_CONTENT_TYPE,\n contentCreator: AGOF_CONTENT_CREATOR,\n homepage: AGOF_HOMEPAGE,\n distribution: AGOF_DISTRIBUTION,\n device: AGOF_DEVICE,\n paid: AGOF_PAID,\n contentTopic: AGOF_CONTENT_TOPIC\n ): string {\n return lang + contentType + contentCreator + homepage + distribution + device + paid + contentTopic;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { NavigationStart, Router } from '@angular/router';\nimport { Alert, AlertType } from '../entities/alert.entity';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable()\nexport class AlertNotificationsService {\n private subject = new Subject();\n private keepAfterRouteChange = false;\n\n constructor(private router: Router, private trans: TranslateService) {\n // clear alert messages on route change unless 'keepAfterRouteChange' flag is true\n router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (this.keepAfterRouteChange) {\n // only keep for a single route change\n this.keepAfterRouteChange = false;\n } else {\n // clear alert messages\n this.clear();\n }\n }\n });\n }\n\n public getAlert(): Observable {\n return this.subject.asObservable();\n }\n\n public success(message: string, keepAfterRouteChange = false): void {\n this.alert(AlertType.Success, message, keepAfterRouteChange);\n }\n\n public error(message: string, keepAfterRouteChange = false): void {\n this.alert(AlertType.Error, message, keepAfterRouteChange);\n }\n\n public info(message: string, keepAfterRouteChange = false, buttonText: string = null, callback = null): void {\n this.alert(AlertType.Info, message, keepAfterRouteChange, buttonText, callback);\n }\n\n public warn(message: string, keepAfterRouteChange = false, buttonText: string = null, callback = null): void {\n this.alert(AlertType.Warning, message, keepAfterRouteChange, buttonText, callback);\n }\n\n public warnTranslated(\n messageKey: string,\n keepAfterRouteChange = false,\n buttonText: string = null,\n callback = null\n ): void {\n this.trans.get(messageKey).subscribe(\n message => {\n this.alert(AlertType.Warning, message, keepAfterRouteChange, buttonText, callback);\n },\n () => console.error('could not retrieve translation')\n );\n }\n\n public alert(\n type: AlertType,\n message: string,\n keepAfterRouteChange = false,\n buttonText: string = null,\n callback = null\n ): void {\n this.keepAfterRouteChange = keepAfterRouteChange;\n this.subject.next({\n type: type,\n message: message,\n callback: callback,\n buttonText: buttonText\n });\n }\n\n public clear(): void {\n // clear alerts\n this.subject.next();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Angulartics2GoogleTagManager } from 'angulartics2/gtm';\nimport { Section } from '../entities/section.entity';\nimport * as sha1 from 'js-sha1';\nimport { EmbeddedModeService } from './embedded-mode.service';\nimport { environment } from '../environments/environment';\nimport { GtmOptions } from '../../../@types/VjsTrackingPluginOptions';\nimport { Asset } from '../entities/asset.entity';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Injectable()\nexport class AnalyticsService {\n private syndicationDomain = null;\n\n constructor(\n private angulartics2GoogleTagManager: Angulartics2GoogleTagManager,\n private embeddedModeService: EmbeddedModeService\n ) {\n this.embeddedModeService.syndication_origin.subscribe(\n (syndication_domain: string) => (this.syndicationDomain = syndication_domain)\n );\n }\n\n public getFormatForAsset(asset: Asset, missingFormatText: string = 'not set'): string {\n if (environment.appName === AppName.auto) {\n return (asset.auto_marke || missingFormatText).toString();\n }\n if (environment.appName === AppName.esports && asset.esport_events) {\n return (asset.esport_events.join(',') || missingFormatText).toString();\n }\n return asset.section ? asset.section.permalink : missingFormatText;\n }\n\n public getSourceCompanyForAsset(asset: Asset): string {\n if (environment.appName === AppName.auto) {\n let channel = '';\n if (asset.channel && asset.channel.values) {\n channel = asset.channel.values.toString();\n }\n return channel.toString();\n } else {\n return asset.licence_owner.toString();\n }\n }\n\n public getChannelForAsset(asset: Asset, section?: Section, missingFormatText: string = 'not set'): string {\n if (environment.appName === AppName.esports) {\n if (asset.esport_games.length > 0) {\n return asset.esport_games.join(',');\n }\n return missingFormatText;\n }\n if (section) {\n return section.title;\n }\n if (asset.sportart) {\n return asset.sportart.values[0] || missingFormatText;\n }\n\n if (asset.section) {\n return asset.section.permalink;\n }\n return '';\n }\n\n public getKanalForAsset(asset: Asset, section?: Section, missingFormatText: string = 'not set'): string {\n if (asset.channel?.values[0]) {\n return asset.channel.values[0].toLowerCase();\n }\n return missingFormatText;\n }\n\n /**\n *\n * @param channel Assigns a page or a video to a channel.\n * @param format Assigns a page, a video or an app uniquely to a TV Show or Format.\n * @param additionGtmOptions add additional options to pageView event.\n */\n public trackPageview(\n channel: string = 'not set',\n format: string = 'not set',\n additionGtmOptions: Partial = {}\n ): void {\n this.angulartics2GoogleTagManager.eventTrack('Page View', {\n event: 'Page View',\n gtmCustom: {\n domain: environment.tracking.customDomain\n ? environment.tracking.customDomain\n : window.location.hostname,\n channel: channel.toLowerCase(),\n kanal: channel.toLowerCase(),\n format: format.toLowerCase(),\n ...additionGtmOptions\n }\n });\n }\n\n /** Tracks Tagmanager Event\n * @param action\n * @param properties {\n category?: string,\n event?: string,\n label?: string,\n gtmCustom?: any These Properties will appear in GTM.dataLayer,\n }\n */\n public trackEvent(\n action: string,\n properties: {\n category?: string;\n event?: string;\n label?: string;\n value?: string;\n noninteraction?: boolean;\n gtmCustom?: Partial;\n } = null\n ): void {\n this.angulartics2GoogleTagManager.eventTrack(action, properties);\n }\n\n public setUserName(name: string | number): void {\n this.angulartics2GoogleTagManager.setUsername(sha1(name));\n }\n\n public trackPageviewForAsset(asset: Asset): void {\n const additionGtmOptions: Partial = {\n sourceCompany: this.getSourceCompanyForAsset(asset),\n productionPartner: asset.production_partner.toString(),\n teams: asset.teams.toString(),\n season: asset.saison.toString(),\n kanal: this.getKanalForAsset(asset),\n leaguesCups: asset.wettbewerb_event.toString(),\n wholesaler: this.syndicationDomain\n };\n this.trackPageview(this.getFormatForAsset(asset), this.getFormatForAsset(asset), additionGtmOptions);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../environments/environment';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport { throwError } from 'rxjs/internal/observable/throwError';\nimport { Router } from '@angular/router';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { AuthenticationService } from './methods/authentication.service';\n\n/**\n * This interceptor adds the correct API endpoint to each request.\n */\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(\n private storage: StorageMap,\n public router: Router,\n private authenticationService: AuthenticationService\n ) {}\n\n public intercept(req: HttpRequest, next: HttpHandler): Observable> {\n // do not modify requests to frontend server\n if (req.url.includes(`${window.location.protocol}//${window.location.host}`)) {\n return next.handle(req);\n }\n\n // do not modify requests for translation files\n if (req.url.includes('i18n')) {\n return next.handle(req);\n }\n\n // do not modify requests for domains\n if (req.url.startsWith('http')) {\n return next.handle(req);\n }\n let url;\n\n const headers: { Accept: string } = {\n Accept: 'application/vnd.vidibus.v5.html+json'\n };\n let params: { access_token: string; rand?: string } = { access_token: 'true' };\n\n return this.storage.get('access_token').pipe(\n switchMap((token: string) => {\n if (\n req.method === 'POST' ||\n req.method === 'post' ||\n req.method === 'put' ||\n req.method === 'PUT' ||\n req.url === 'me' ||\n req.url === 'access_token' ||\n req.url.startsWith('orders') ||\n req.url.startsWith('youth_protection') ||\n req.url.startsWith('verify_age') ||\n req.url.startsWith('subscribers') ||\n req.url === 'authorize_content_access' ||\n req.url === 'signup' ||\n // is logged in and check ip\n (req.url.startsWith('client') && token !== undefined)\n ) {\n url = environment.api.endpoint;\n // add authorization headers\n\n if (token !== undefined) {\n headers['Authorization'] = token;\n }\n params = {\n access_token: 'true',\n rand:\n Math.random().toString(16).substr(2, 16) + '-' + new Date().getUTCMilliseconds().toString()\n };\n } else {\n url = environment.api.endpointUnauthenticated;\n\n // need to add a parameter to bust the CORS Cache of the proxy\n const corsParams = { cors_origin: window.location.origin };\n req = req.clone({\n setParams: corsParams\n });\n }\n\n req = req.clone({\n url: url + req.url,\n setParams: params,\n setHeaders: headers\n });\n\n return next.handle(req).pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.error instanceof ErrorEvent) {\n // client-side playerError or network playerError\n } else {\n if (error.status === 401) {\n this.storage.delete('me').subscribe();\n this.storage.delete('access_token').subscribe();\n //this.authenticationService.$isLoggedInEvent.emit(false);\n }\n }\n return throwError(error);\n })\n );\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../environments/environment';\n\n@Injectable()\nexport abstract class ApiService {\n constructor(protected http: HttpClient) {}\n\n /**\n * Handle Http operation that failed.\n * Let the app continue.\n * @param operation - name of the operation that failed\n * @param result - optional value to return as the observable result\n */\n protected handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n if (error.status !== 404 && error.status !== 401) {\n this.error(`${operation} failed: ${error.message}`);\n }\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n\n protected error(message: string) {\n if (!environment.production) {\n console.error('Api Service Error:' + message);\n }\n }\n}\n","import { HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport * as parseCacheControl from 'parse-cache-control';\n\n@Injectable()\nexport class HttpCacheService {\n private cache = {};\n\n public get(req: HttpRequest): HttpResponse {\n if (req.method !== 'GET') {\n return null;\n }\n return this.cache[req.method + req.urlWithParams];\n }\n\n public put(req: HttpRequest, resp: HttpResponse): void {\n if (req.method !== 'GET') {\n return;\n }\n // check if caching is allowed! and how long\n if (resp.headers.get('Cache-Control')) {\n const headers = parseCacheControl(resp.headers.get('Cache-Control'));\n\n // cache only if response is public\n if (headers.public === true) {\n // cache only if max age header is set\n if (typeof headers['max-age'] === 'number') {\n this.cache[req.method + req.urlWithParams] = resp;\n\n setTimeout(() => {\n delete this.cache[req.method + req.urlWithParams];\n }, 1000 * headers['max-age']);\n }\n }\n }\n\n // Cache-Control: must-revalidate\n // Cache-Control: no-cache\n // Cache-Control: no-store\n // Cache-Control: no-transform\n // Cache-Control: public\n // Cache-Control: private\n // Cache-Control: proxy-revalidate\n // Cache-Control: max-age=\n // Cache-Control: s-maxage=\n }\n\n public deleteCache(): void {\n this.cache = {};\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { ApiService } from '../api.service';\nimport { HttpClient } from '@angular/common/http';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { User } from '../../../entities/user.entity';\n\nexport declare interface AgeVerificationRequest {\n id_country_code: string | 'D' | 'AUT' | 'CHE';\n id_type: string | 'national_id' | 'passport' | 'aufenthaltstitel';\n id_number_block_1: string;\n id_number_block_2: string;\n id_number_validator: string;\n}\n\n@Injectable()\nexport class AgeVerificationService extends ApiService {\n private endpoint = 'verify_age';\n\n constructor(protected http: HttpClient, public storage: StorageMap) {\n super(http);\n }\n\n public verifyAge(data: AgeVerificationRequest): Observable {\n const url = this.endpoint;\n return this.http.post<{}>(url, data).pipe(\n switchMap((response: User) => {\n return this.storage.set('me', response).pipe(map(() => response));\n })\n );\n }\n}\n","import { environment } from '../../../environments/environment';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApiService } from '../api.service';\nimport { UserEvent } from '../../../entities/user-event.entity';\n\n@Injectable()\nexport class ApiUserProfileService extends ApiService {\n private endpoint = environment.tracking.userEventEnpoint + 'user-events';\n\n public sendEvents(events: UserEvent[]): Observable {\n return this.http.post(this.endpoint, { events: events });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { forkJoin, Observable, throwError } from 'rxjs';\nimport { catchError, map, shareReplay, switchMap } from 'rxjs/operators';\nimport { ApiService } from '../api.service';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { HttpClient, HttpErrorResponse, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Product } from '../../../entities/product.entity';\nimport { Asset } from '../../../entities/asset.entity';\nimport { TagFacet } from '../../../entities/tag-facet.entity';\nimport { TagFilter } from '../../../entities/tag-filter.entity';\nimport { Source } from '../../../entities/video-playlist.entity';\nimport * as URLParser from 'url';\nimport { AssetAuthorizationEntity } from '../../../entities/asset-authorization.entity';\nimport { PlayerErrorEnum } from '../../../enum/player-error.enum';\nimport { AuthenticationService } from './authentication.service';\nimport { PlayerStateEnum } from '../../../enum/player-state.enum';\nimport { of } from 'rxjs/internal/observable/of';\n\n@Injectable({ providedIn: 'root', deps: [HttpClient] })\nexport class AssetsService extends ApiService {\n private endpoint = 'assets';\n\n constructor(protected http: HttpClient, private auth: AuthenticationService) {\n super(http);\n }\n\n public getRelatedAssets(asset: RawAssetFromApi, page: number = 1, perPage: number = 10): Observable {\n const url = this.endpoint + '/' + asset.uuid + '/related';\n const params: HttpParams = new HttpParams({\n fromObject: { page: page.toString(), per_page: perPage.toString() }\n });\n return this.http\n .get<{ items: RawAssetFromApi[] }>(url, { params: params })\n .pipe(\n map(response => response.items),\n map((assets: RawAssetFromApi[]) => {\n return assets.map(as => {\n return new Asset(as);\n });\n })\n );\n }\n\n public getAllAssetsWithTagFacets(): Observable<{ assets: Asset[]; tag_facets: TagFacet[] }> {\n const url = this.endpoint + '?include_tag_facets=true';\n\n return this.http.get<{ items: RawAssetFromApi[]; tag_facets: TagFacet[] }>(url).pipe(\n map((response: { items: RawAssetFromApi[]; tag_facets: TagFacet[] }) => {\n const assets = response.items.map(asset => {\n return new Asset(asset);\n });\n return {\n assets: assets,\n tag_facets: response.tag_facets\n };\n })\n );\n }\n\n public getAssetForProduct(product: Product): Observable {\n const url = this.endpoint;\n\n return this.http\n .get<{ items: RawAssetFromApi[] }>(url, {\n params: {\n // include_tag_facets: 'true',\n [`tags[products][]`]: product.tag\n }\n })\n .pipe(\n map(response => response.items),\n map((assets: RawAssetFromApi[]) => {\n return assets.map(asset => {\n return new Asset(asset);\n });\n })\n );\n }\n\n public getAssetsWithTagFilters(\n tagFilters: Array,\n page: number = 1,\n perPage: number = 20,\n includeTagFacets: boolean = false\n ): Observable<{ assets: Asset[]; total_assets_count: number; tag_facets?: TagFacet[] }> {\n let url = this.endpoint;\n\n /**\n * We are using URLSearchParams since the order of the params MUST not change\n * @see https://7sports.atlassian.net/secure/RapidBoard.jspa?rapidView=24&modal=detail&selectedIssue=SD-386\n *\n */\n const params: URLSearchParams = new URLSearchParams();\n\n params.append('page', page.toString());\n params.append('per_page', perPage.toString());\n\n if (includeTagFacets) {\n params.append('include_tag_facets', 'true');\n }\n\n if (tagFilters) {\n for (const tag of tagFilters) {\n params.append('tag_filters[][callname]', tag.callname);\n\n for (const value of tag.values) {\n params.append('tag_filters[][values][]', value);\n }\n }\n }\n\n url = url + '?' + params.toString();\n\n return this.http.get(url, { observe: 'response' }).pipe(\n map(\n (\n response: HttpResponse<{\n items: RawAssetFromApi[];\n total_assets_count: number;\n tag_facets?: TagFacet[];\n }>\n ) => {\n const re = response.body;\n re.total_assets_count = parseInt(response.headers.get('API-Total'), 10);\n return response.body;\n }\n ),\n\n map((response: { items: RawAssetFromApi[]; total_assets_count: number; tag_facets?: TagFacet[] }) => {\n return {\n assets: response.items.map(asset => {\n return new Asset(asset);\n }),\n total_assets_count: response.total_assets_count,\n tag_facets: response.tag_facets\n };\n })\n );\n }\n\n public getAssetsForTag(\n tagName: string,\n tagValue: string,\n page: number = 1,\n perPage: number = 10\n ): Observable {\n const url = this.endpoint + '?&include_tag_facets[' + tagName + ']=' + tagValue;\n const params: HttpParams = new HttpParams({\n fromObject: {\n page: page.toString(),\n per_page: perPage.toString(),\n include_tag_facets: 'true'\n }\n });\n\n return this.http\n .get<{ items: RawAssetFromApi[] }>(url, { params: params })\n .pipe(\n map(response => response.items),\n map((assets: RawAssetFromApi[]) => {\n return assets.map(asset => {\n return new Asset(asset);\n });\n })\n );\n }\n\n public getAsset(uuid: string): Observable {\n const url = this.endpoint;\n return this.http\n .get(url + '/' + uuid)\n .pipe(map((response: RawAssetFromApi) => new Asset(response)));\n }\n\n /**\n * Adds an array of source objects to every Video of an Asset. Adds an empty array, if no source can be found.\n * Only throws one of PlayerErrorEnum Errors\n * @param asset Asset which videos' should be hydrated\n */\n public hydrateVideosOfAssetWithSource(asset: Asset): Observable {\n if (!asset.videos || asset.videos.length === 0) {\n return throwError(PlayerErrorEnum.MISSING_VIDEO);\n }\n\n return of(true).pipe(\n switchMap(() => {\n if (asset.authorization_token) {\n return of(asset.authorization_token);\n } else {\n return this.getAssetAuthorizationToken(asset);\n }\n }),\n switchMap(asset_authorization_token => {\n return forkJoin([\n ...asset.videos.map(video => this.getVideoSourceForUrl(video.url, asset, asset_authorization_token))\n ]).pipe(\n map(\n (sourcesArray: Source[][]): Asset => {\n asset.videos = asset.videos.map((video, index) => ({\n ...video,\n sources: sourcesArray[index]\n }));\n return asset;\n }\n )\n );\n })\n );\n }\n\n public getAssetAuthorizationToken(asset: RawAssetFromApi): Observable {\n if (asset.contents_freely_accessible) {\n return of(null);\n }\n return this.auth.isLoggedIn().pipe(\n map((loggedIn: boolean) => {\n if (!loggedIn) {\n throw new HttpErrorResponse({\n error: { message: 'Anmeldung erforderlich', error: PlayerStateEnum.UNAUTHORIZED },\n status: 401\n });\n }\n }),\n switchMap(() =>\n this.http\n .post('authorize_content_access', { asset_id: asset.uuid })\n .pipe(shareReplay())\n )\n );\n }\n\n public shouldBeGeoBlocked(asset: RawAssetFromApi): Observable {\n if (!asset.geo || asset.geo.length === 0) {\n return of(false);\n }\n return this.auth.getCountryCode().pipe(\n map((response: { country: string | null }) => {\n return !asset.geo.includes(response.country);\n })\n );\n }\n\n private getVideoSourceForUrl(\n url: string,\n asset: Asset,\n asset_authorization_token?: AssetAuthorizationEntity\n ): Observable {\n //url = url.replace('manager.dosbnewmedia.de', 'manager.sportdeutschland.tv');\n url = url.replace('.dash.smil', '.smil');\n url = url.replace('.hls.smil', '.smil');\n url = url.replace('.mp4', '.smil');\n url = url.replace('http:', 'https:');\n\n // attach the authorization token to the url\n if (asset_authorization_token) {\n const parsedUrl = URLParser.parse(url, true, true);\n parsedUrl.query['authorization_token'] = asset_authorization_token.authorization_token;\n parsedUrl.query['expires_at'] = asset_authorization_token.expires_at.toString();\n url = URLParser.format(parsedUrl);\n }\n\n if (url.includes('?')) {\n url += '&cors_origin=' + encodeURIComponent(window.location.origin);\n } else {\n url += '?cors_origin=' + encodeURIComponent(window.location.origin);\n }\n return this.http.get(url, { responseType: 'text' }).pipe(\n catchError(() => {\n // Catch http errors and throw player errors\n if (asset.live) {\n return throwError(PlayerErrorEnum.LIVESTREAM_OFFLINE);\n } else {\n return throwError(PlayerErrorEnum.MISSING_VIDEO_SOURCE);\n }\n }),\n\n map(response => {\n if (response === null) {\n if (asset.live) {\n // this is the 204 No content playerError / live stream offline\n throw new Error(PlayerErrorEnum.LIVESTREAM_OFFLINE);\n } else {\n throw new Error(PlayerErrorEnum.MISSING_VIDEO_SOURCE);\n }\n }\n // remove all spaces\n const parsed: HTMLElement = window['jQuery'].parseHTML(response);\n\n const smil = parsed[0].children;\n\n const sources: Source[] = [];\n\n for (let i = 0; i < smil.length; i++) {\n let src = smil[i].getAttribute('src').replace('http:', 'https:');\n\n if (src.includes('?')) {\n src += '&cors_origin=' + encodeURIComponent(window.location.origin);\n } else {\n src += '?cors_origin=' + encodeURIComponent(window.location.origin);\n }\n\n sources.push({\n type: smil[i].getAttribute('type'),\n src: src\n });\n }\n if (sources.length > 0) {\n return sources;\n } else {\n if (asset.live) {\n throw new Error(PlayerErrorEnum.LIVESTREAM_OFFLINE);\n } else {\n throw new Error(PlayerErrorEnum.MISSING_VIDEO_SOURCE);\n }\n }\n })\n );\n }\n}\n","import { EventEmitter, Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\n\nimport { Observable, of } from 'rxjs';\nimport { catchError, delay, map, share, switchMap, tap } from 'rxjs/operators';\nimport { ApiService } from '../api.service';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { User } from '../../../entities/user.entity';\nimport { HttpCacheService } from '../http-cache.service';\nimport { Router } from '@angular/router';\nimport { AnalyticsService } from '../../analytics.service';\nimport { isPlatformBrowser } from '@angular/common';\nimport { fromEvent } from 'rxjs/internal/observable/fromEvent';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { environment } from '../../../environments/environment';\nimport { Asset } from '../../../entities/asset.entity';\n\n@Injectable()\nexport class AuthenticationService extends ApiService {\n public pathToRedirectAfterLogin = environment.urlSlugs.dashboard;\n public $isLoggedInEvent: EventEmitter = new EventEmitter();\n private country: string | null;\n public token: string | null = null;\n\n constructor(\n protected http: HttpClient,\n private storage: StorageMap,\n protected httpCache: HttpCacheService,\n private router: Router,\n private analyticsService: AnalyticsService,\n private injector: Injector,\n @Inject(PLATFORM_ID) platform: unknown\n ) {\n super(http);\n\n // detect network change to update country\n if (isPlatformBrowser(platform)) {\n fromEvent(window, 'offline').subscribe(() => {\n this.country = null;\n });\n }\n }\n\n public clearCache(): void {\n this.storage.delete('me').subscribe(() => {\n this.country = null;\n });\n }\n\n public adsDisabledForUser(): Observable {\n return this.me().pipe(\n switchMap((me: User) => {\n if (me.no_billing && me.no_billing === true) {\n console.warn('ADS DISABLED due to no_billing user');\n return of(true);\n } else {\n return this.userHasSubscriptionWhichRemovesAds();\n }\n }),\n catchError(() => {\n return of(false);\n })\n );\n }\n\n public getCountryCode(): Observable<{ country: string | null }> {\n if (this.country) {\n return of({ country: this.country });\n }\n return this.http.get<{ country?: string; key?: string; time?: string }>('client').pipe(\n map((response: { country?: string; key: string; time: string }) => {\n if (response.country) {\n this.country = response.country;\n return { country: response.country };\n }\n return { country: null };\n })\n );\n }\n\n public isLoggedIn(): Observable {\n return this.me().pipe(\n map((me: User) => !!me),\n\n catchError((err: HttpErrorResponse) => {\n if (err.status < 500) {\n return of(false);\n }\n\n console.error(err);\n throw err;\n })\n );\n }\n\n public register(\n data: Partial\n ): Observable<{ message: string; email: string; password: string; error?: string }> {\n const url = 'signup';\n data.real_name = data.first_name + ' ' + data.last_name;\n\n return this.http\n .post<{ message: string; email: string; password: string; error?: string }>(url, data)\n .pipe(map(response => response));\n }\n\n public requestRegistrationConfirmationMail(email: string): Observable<{ message: string; error?: string }> {\n const url = 'send_registration_confirmation';\n return this.http\n .post<{ message: string; error?: string }>(url, { email: email })\n .pipe(map(response => response));\n }\n\n public confirmRegistrationEmail(token: string): Observable<{ confirmed: boolean; email: string }> {\n const url = 'confirm_user';\n return this.http.post<{ confirmed: boolean; email: string }>(url, {\n confirmation_token: token\n });\n }\n\n public passwordUpdate(\n token: string,\n email: string,\n password: string,\n passwordConfirmation: string\n ): Observable<{ message: string; error?: string }> {\n const url = 'passwords/update/' + token;\n\n return this.http.post<{ message: string; error?: string }>(url, {\n email,\n password,\n password_confirmation: passwordConfirmation\n });\n }\n\n public requestPasswordResetMail(email: string): Observable<{ message: string; error?: string }> {\n const url = 'passwords/new';\n return this.http.post<{ message: string; error?: string }>(url, {\n email: email,\n reset_password_url: '/sdf'\n });\n }\n\n public confirmPasswordResetToken(token: string): Observable<{ message: string; error?: string }> {\n const url = 'passwords/reset/' + token;\n return this.http.get<{ message: string; error?: string }>(url);\n }\n\n public login(email: string, password: string): Observable {\n const url = 'access_token';\n return this.http\n .post<{\n access_token: string;\n me: User;\n client: { country: 'DE' | string };\n }>(url, {\n email: email,\n password: password\n })\n .pipe(\n tap((response: { access_token: string; me: User; client: { country: 'DE' | string } }) => {\n this.httpCache.deleteCache();\n this.analyticsService.setUserName(response.me.uuid);\n this.analyticsService.trackEvent('Login', {\n category: 'Login',\n label: this.router.url\n });\n }),\n switchMap(response => {\n return this.storage.set('access_token', response.access_token).pipe(map(() => response));\n }),\n switchMap(response => {\n return this.storage.set('me', response.me).pipe(map(() => response));\n }),\n delay(1000),\n switchMap(response => {\n this.$isLoggedInEvent.next(true);\n return of(true);\n })\n );\n }\n\n public loginWithToken(token: string): Observable {\n this.clearCache();\n\n return this.me().pipe(\n map((userData: User) => {\n this.httpCache.deleteCache();\n this.storage.set('me', userData).subscribe();\n this.storage.set('access_token', token).subscribe();\n this.analyticsService.setUserName(userData.uuid);\n return userData;\n })\n );\n }\n\n public getToken(): string | undefined {\n return this.token;\n }\n\n public logout(): Observable<{ access_token: string } | string> {\n const url = 'access_token';\n return this.http.delete(url).pipe(\n map((response: { access_token: string }) => response),\n tap(() => {\n this.onLoggedOut();\n }),\n catchError(() => {\n this.clearCache();\n this.storage.delete('me').subscribe();\n this.httpCache.deleteCache();\n this.clearCache();\n this.storage.delete('access_token').subscribe();\n return '';\n })\n );\n }\n\n public me(): Observable {\n return this.storage.get('access_token').pipe(\n map((token: string) => {\n if (token === undefined) {\n throw new HttpErrorResponse({\n error: 'unauthorized',\n status: 401\n });\n }\n this.token = token;\n }),\n switchMap(() => this.storage.get('me')),\n switchMap((user: User | null | undefined) => {\n if (user === null || user === undefined) {\n return this.http.get('me');\n }\n return of(user);\n }),\n switchMap((user: User) => {\n return this.storage.set('me', user).pipe(map(() => user));\n }),\n share()\n );\n }\n\n public deleteMe(): Observable {\n const url = 'me';\n return this.http.delete(url).pipe(\n tap(() => {\n this.onLoggedOut();\n })\n );\n }\n\n public updateMe(me: User): Observable {\n const url = 'me';\n return this.http.put(url, me).pipe(switchMap((response: User) => this.storage.set('me', response)));\n }\n\n public userHasSubscriptionOrPpvForAsset(asset: Asset): Observable {\n return this.me().pipe(\n map((me: User) => {\n const tags = asset.products.values.map(tagName => {\n return (\n (me.current_pay_per_views[tagName] && me.current_pay_per_views[tagName].includes(asset.uuid)) ||\n me.current_subscriptions.includes(tagName)\n );\n });\n\n console.log(tags);\n return tags.includes(true);\n })\n /*catchError(e => {\n console.log('error ', e);\n return of(false);\n })*/\n );\n }\n\n public userHasSubscriptionWhichRemovesAds(): Observable {\n return this.me().pipe(\n map((me: User) => {\n // on sportdeutschland/ handball no ads with freemium package\n if (me.current_subscriptions && me.current_subscriptions.includes('freemium')) {\n console.info('ADS DISABLED due to subscription freemium');\n return true;\n }\n return false;\n }),\n catchError(() => {\n return of(false);\n })\n );\n }\n\n private onLoggedOut(): void {\n this.storage.delete('me').subscribe();\n this.httpCache.deleteCache();\n this.clearCache();\n this.storage.delete('access_token').subscribe();\n this.$isLoggedInEvent.emit(false);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ApiService } from '../api.service';\nimport { EpgEntry } from '../../../entities/epg-entry.entity';\n\n@Injectable()\nexport class EpgService extends ApiService {\n private endpoint = 'guide_programs';\n\n public getEpg(): Observable {\n return this.http.get<{ items: EpgEntry[] }>(this.endpoint).pipe(map(response => response.items));\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { AssetsService } from './assets.service';\nimport { Injectable } from '@angular/core';\nimport { ApiService } from '../api.service';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { LiveEvent } from '../../../entities/live-event.entity';\nimport { environment } from '../../../environments/environment';\nimport { RawLiveEventFromApi } from '../../../entities/raw-live-event-from-api.entity';\nimport { TagFilter } from '../../../entities/tag-filter.entity';\nimport { Asset } from '../../../entities/asset.entity';\n\n@Injectable()\nexport class LiveEventsService extends ApiService {\n private endpoint = 'live_events';\n\n constructor(private assetsService: AssetsService, protected http: HttpClient) {\n super(http);\n }\n\n public getLiveAssets(tagFilters: TagFilter[] = [], itemsPerPage = 20, page = 1): Observable {\n let params: { [key: string]: string } = {\n page: page.toString(),\n per_page: itemsPerPage.toString()\n };\n if (environment.liveEventsFilter.active === true) {\n tagFilters.push({\n callname: environment.liveEventsFilter.key,\n values: [environment.liveEventsFilter.value]\n });\n }\n for (const tag of tagFilters) {\n params = {\n ...params,\n ['tag_filters[][callname]']: tag.callname\n };\n for (const value of tag.values) {\n params = {\n ...params,\n ['tag_filters[][values][]']: value\n };\n }\n }\n\n return this.http\n .get<{ items: RawLiveEventFromApi[] }>(this.endpoint, { params })\n .pipe(\n map(response => response.items),\n map((liveEvents: RawLiveEventFromApi[]) => liveEvents.map(ev => new LiveEvent(ev))),\n switchMap(liveEvents => {\n return forkJoin(\n liveEvents.map(liveEvent =>\n this.assetsService.getAsset(liveEvent.asset_uuid).pipe(\n map(asset => {\n asset.liveEvent = liveEvent;\n return asset;\n })\n )\n )\n );\n })\n );\n }\n\n public getAmountOfCurrentLiveEvents(): Observable {\n let params: { [key: string]: string } = {\n page: '1',\n per_page: '20',\n now: 'true'\n };\n if (environment.liveEventsFilter.active === true) {\n params = {\n ...params,\n ['tag_filters[][callname]']: environment.liveEventsFilter.key,\n ['tag_filters[][values][]']: environment.liveEventsFilter.value\n };\n }\n\n return this.http\n .get<{ items: RawLiveEventFromApi[] }>(this.endpoint, { params })\n .pipe(\n map(response => {\n return response.items.filter((liveEvent: LiveEvent) => {\n return liveEvent.now === true;\n });\n }),\n map(response => response.length),\n catchError(this.handleError('getAmountOfCurrentLiveEvents', 0))\n );\n }\n\n public getLiveEvents(itemsPerPage = 20, page = 1, includeAsset: boolean = false): Observable {\n let params: { [key: string]: string } = {\n page: page.toString(),\n per_page: itemsPerPage.toString()\n };\n if (environment.liveEventsFilter.active === true) {\n params = {\n ...params,\n ['tag_filters[][callname]']: environment.liveEventsFilter.key,\n ['tag_filters[][values][]']: environment.liveEventsFilter.value\n };\n }\n return this.http\n .get<{ items: RawLiveEventFromApi[] }>(this.endpoint, { params })\n .pipe(\n map(response => response.items),\n map((liveEvents: RawLiveEventFromApi[]) => liveEvents.map(ev => new LiveEvent(ev))),\n switchMap(liveEvents => {\n if (includeAsset) {\n return forkJoin(\n liveEvents.map(liveEvent =>\n this.assetsService.getAsset(liveEvent.asset_uuid).pipe(\n catchError(() => {\n return of(null);\n }),\n map((asset: Asset | null) => {\n if (asset) {\n liveEvent.asset = asset;\n }\n\n return liveEvent;\n })\n )\n )\n );\n } else {\n of(liveEvents);\n }\n })\n );\n }\n\n public getLiveEventsForTagFilter(\n tagFilters: TagFilter[],\n itemsPerPage = 20,\n page = 1,\n includeAsset: boolean = false\n ): Observable {\n let params: { [key: string]: string } = {\n page: page.toString(),\n per_page: itemsPerPage.toString()\n };\n for (const tag of tagFilters) {\n params = {\n ...params,\n ['tag_filters[][callname]']: tag.callname\n };\n for (const value of tag.values) {\n params = {\n ...params,\n ['tag_filters[][values][]']: value\n };\n }\n }\n return this.http\n .get<{ items: RawLiveEventFromApi[] }>(this.endpoint, { params })\n .pipe(\n map(response => response.items),\n map((liveEvents: RawLiveEventFromApi[]) => liveEvents.map(ev => new LiveEvent(ev))),\n switchMap((liveEvents: LiveEvent[]) => {\n if (!includeAsset) {\n return of(liveEvents);\n }\n return forkJoin(\n liveEvents.map((liveEvent: LiveEvent) =>\n this.assetsService.getAsset(liveEvent.asset_uuid).pipe(\n map((asset: Asset) => {\n liveEvent.asset = asset;\n return liveEvent;\n })\n )\n )\n );\n })\n );\n }\n}\n","import { Observable, timer } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { ApiService } from '../api.service';\nimport { catchError, filter, map, switchMap, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs/internal/Subject';\nimport * as moment from 'moment';\nimport { CustomPlayer } from '../../../../../@types/CustomPlayer';\n\ninterface CheckResponse {\n inventory: {\n preroll: { url: string }[];\n presenting: { url: string }[];\n midroll: { url: string; segment_id: string; start: string; stop: string }[];\n postroll: { url: string }[];\n };\n}\n\n@Injectable()\nexport class LiveMidrollService extends ApiService {\n private subj: Subject = new Subject();\n\n private alreadyTriggeredStartTimes: string[] = [];\n\n private static getDecimalSeconds(): number {\n const seconds = new Date().getSeconds();\n return Math.floor(seconds / 10);\n }\n\n public subscribeForMidroll(\n uuid: string,\n player: 'onsite' | 'embed' = 'onsite',\n videojs: CustomPlayer,\n frequency = 1000 * 5\n ): Observable<{ amount: number; segmentId: string }> {\n return timer(10, frequency).pipe(\n takeUntil(this.subj.pipe(filter(val => val === uuid))),\n switchMap(() => this.check(uuid, player, window.innerWidth > 768 ? 'desktop' : 'mobile'))\n );\n }\n\n public unsubscribe(assetUUID: string): void {\n this.subj.next(assetUUID);\n }\n\n private check(\n uuid: string,\n player: 'onsite' | 'embed' = 'onsite',\n client: 'desktop' | 'mobile' = window.innerWidth > 768 ? 'desktop' : 'mobile'\n ): Observable<{ amount: number; segmentId: string }> {\n const decimalSeconds = LiveMidrollService.getDecimalSeconds();\n const url =\n `assets/${uuid}/ads?player=${player}&client=${client}&decimal_seconds_cache_buster=` +\n decimalSeconds.toString();\n\n return this.http.get(url).pipe(\n filter(res => {\n if (res.inventory.midroll) {\n return (\n res.inventory.midroll.filter(mid => !this.alreadyTriggeredStartTimes.includes(mid.start))\n .length > 0\n );\n } else {\n return false;\n }\n }),\n map(response => {\n this.alreadyTriggeredStartTimes = [\n ...this.alreadyTriggeredStartTimes,\n ...response.inventory.midroll.map(mid => mid.start)\n ];\n const startMoment = moment(response.inventory.midroll[0].start);\n const stopMoment = moment(response.inventory.midroll[0].stop);\n const seconds = moment.duration(stopMoment.diff(startMoment)).asSeconds();\n if (seconds >= 120) {\n return { amount: 4, segmentId: response.inventory.midroll[0].segment_id };\n } else if (seconds >= 90) {\n return { amount: 3, segmentId: response.inventory.midroll[0].segment_id };\n } else if (seconds >= 60) {\n return { amount: 2, segmentId: response.inventory.midroll[0].segment_id };\n } else {\n return { amount: 1, segmentId: response.inventory.midroll[0].segment_id };\n }\n }),\n catchError(this.handleError('checkForMidroll', { amount: 0, segmentId: '' }))\n );\n }\n}\n","import { Injectable, Output } from '@angular/core';\nimport { ApiService } from '../api.service';\nimport { MenuItem } from '../../../entities/menu-item.entity';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\nimport { catchError, map } from 'rxjs/operators';\n\n@Injectable()\nexport class MenuService extends ApiService {\n @Output() public totalHeight: BehaviorSubject = new BehaviorSubject(0);\n @Output() public menuHeight: BehaviorSubject = new BehaviorSubject(0);\n private sideMenuEndpoint = 'side_menu_items';\n private footerEndpoint = 'footer_menu_items';\n private _menuHeight = 0;\n private _alertsHeight = 0;\n\n public setMenuHeight(height: number): void {\n this._menuHeight = height;\n this.emit();\n }\n\n public setAlertHeight(height: number): void {\n this._alertsHeight = height;\n this.emit();\n }\n\n public getSideMenu(): Observable {\n return this.http\n .get<{ items: MenuItem[] }>(this.sideMenuEndpoint, {\n params: {\n domain: environment.api.domain\n }\n })\n .pipe(\n map(response => response.items),\n map(items => items.map(item => this.optionallyAddPermalinkToItem(item))),\n catchError(this.handleError('getSideMenu', []))\n );\n }\n\n public getFooterLinks(): Observable {\n return this.http\n .get<{ items: MenuItem[] }>(this.footerEndpoint, {\n params: {\n domain: environment.api.domain\n }\n })\n .pipe(\n map(response => response.items),\n map(items => items.map(item => this.optionallyAddPermalinkToItem(item)))\n );\n }\n\n private emit(): void {\n this.menuHeight.next(this._menuHeight);\n this.totalHeight.next(this._menuHeight + this._alertsHeight);\n }\n\n private optionallyAddPermalinkToItem(item: MenuItem): MenuItem {\n const domain = item.domain || window.location.host;\n const replace = window.location.protocol + '//' + domain;\n if (item.submenu) {\n item.submenu = item.submenu.map(this.optionallyAddPermalinkToItem.bind(this));\n }\n if (item.url && item.url.includes(replace)) {\n return { ...item, permalink: item.url.replace(replace, '') };\n } else {\n return item;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from '../api.service';\nimport { Product } from '../../../entities/product.entity';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { map, tap } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { Order } from '../../../entities/order.entity';\nimport { environment } from '../../../environments/environment';\nimport { FullOrder } from '../../../entities/full-order.entity';\nimport { HttpClient } from '@angular/common/http';\nimport { HttpCacheService } from '../http-cache.service';\n\n@Injectable()\nexport class OrderService extends ApiService {\n private endpoint = 'orders';\n\n constructor(protected http: HttpClient, protected httpCache: HttpCacheService) {\n super(http);\n }\n\n public createOrder(product: Product, asset: RawAssetFromApi, couponIds: string[] = []): Observable {\n const params: { client: 'Web'; products: { product_id: string; asset_id: string; coupons?: string[] }[] } = {\n client: 'Web',\n products: [\n {\n product_id: product.uuid,\n asset_id: asset.uuid\n }\n ]\n };\n\n if (couponIds && couponIds.length > 0) {\n params.products[0].coupons = couponIds;\n }\n\n return this.http.post(this.endpoint, params).pipe(map(response => response));\n }\n\n public getOrders(): Observable {\n return this.http.get<{ orders: FullOrder[] }>(this.endpoint).pipe(map(response => response.orders));\n }\n\n public getOrderById(uuid: string): Observable {\n return this.http.get(this.endpoint + '/' + uuid).pipe(map(response => response));\n\n // return this.getOrders().pipe(map((response: Order[]) => response.find((order: Order) => order.uuid === uuid)));\n }\n\n public deleteOrder(order: Order): Observable<{ message: string; status: number }> {\n return this.http.delete<{ message: string; status: number }>(this.endpoint + '/' + order.uuid).pipe(\n map(response => response),\n tap(() => {\n this.httpCache.deleteCache();\n })\n );\n }\n\n public findExistingOrderByProduct(product: Product): Observable {\n return this.getOrders().pipe(\n map((response: Order[]) => {\n const order = response.find((ord: Order) => ord.products[0].uuid === product.uuid);\n if (order) {\n return order;\n } else {\n throw Error('order not found');\n }\n })\n );\n }\n\n public findExistingOrderByCoupon(coupons: string[]): Observable {\n return this.getOrders().pipe(\n map((response: Order[]) => {\n const order = response.find((ord: Order) => {\n return ord.coupons[0].uuid === coupons[0];\n });\n if (order) {\n return order;\n } else {\n throw Error('order not found');\n }\n })\n );\n }\n\n public setupPayment(order: Order): Observable {\n const params = {\n client: 'Web',\n payment_step: 'setup_payment',\n provider: 'Adyen',\n return_path: environment.urlSlugs.checkout + '?o=' + order.uuid\n };\n return this.http\n .put(this.endpoint + '/' + order.uuid + '/payment', params)\n .pipe(map(response => response));\n }\n\n public startPayment(order: Order): Observable {\n const params = {\n client: 'Web',\n payment_step: 'start_payment',\n provider: 'Adyen',\n return_path: environment.urlSlugs.checkout + '?o=' + order.uuid\n };\n return this.http.put(this.endpoint + '/' + order.uuid + '/payment', params);\n }\n\n public verifyPayment(order: Order, payload: string): Observable {\n const params = {\n client: 'Web',\n payment_step: 'verify_payment',\n provider: 'Adyen',\n payload: payload\n };\n return this.http\n .put(this.endpoint + '/' + order.uuid + '/payment', params)\n .pipe(map((response: Order) => response));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { Page } from '../../../entities/page.entity';\nimport { ApiService } from '../api.service';\nimport { environment } from '../../../environments/environment';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Injectable()\nexport class PagesService extends ApiService {\n private endpoint = 'pages';\n\n public getPages(perPage: number = 100): Observable {\n let url = this.endpoint + '?domain=' + environment.api.domain + '&per_page=' + perPage;\n if (environment.appName === AppName.tischtennis) {\n url = this.endpoint + '&per_page=' + perPage;\n }\n return this.http.get<{ items: Page[] }>(url).pipe(\n map(response => response.items),\n catchError(this.handleError('getPages', []))\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from '../api.service';\nimport { map } from 'rxjs/operators';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Page } from '../../../entities/page.entity';\nimport { Section } from '../../../entities/section.entity';\nimport { environment } from '../../../environments/environment';\nimport { Asset } from '../../../entities/asset.entity';\nimport { ExtendedPageContent } from '../../../entities/extended-page-content';\nimport { Playlist } from '../../../entities/playlist.entity';\nimport { HttpClient } from '@angular/common/http';\nimport { LiveEventsService } from './live-events.service';\nimport { PlaylistsService } from './playlists.service';\nimport { SectionsService } from './sections.service';\nimport { AssetsService } from './assets.service';\nimport { LiveEvent } from '../../../entities/live-event.entity';\n\n@Injectable()\nexport class PermalinkService extends ApiService {\n private endpoint = 'permalinks';\n\n constructor(\n public http: HttpClient,\n private liveEventsService: LiveEventsService,\n private playlistsService: PlaylistsService,\n private sectionsService: SectionsService,\n private assetsService: AssetsService\n ) {\n super(http);\n }\n\n public getLink(path): Observable<{ page?: Page; asset?: Asset; section?: Section }> {\n const url = this.endpoint;\n return this.http.get(url + path + '?domain=' + environment.api.domain).pipe(\n map((result: { page?: Page; asset?: Asset; section?: Section }) => {\n if (result.page && result.page.use_extended_page_contents === true) {\n result.page = this.createDynamicPageForPage(result.page);\n }\n return result;\n }),\n map((result: { page?: Page; asset?: Asset; section?: Section }) => {\n if (result.asset) {\n result.asset = new Asset(result.asset);\n }\n return result;\n })\n );\n }\n\n private createDynamicPageForPage(page: Page): Page {\n page.extended_page_contents.map((content: ExtendedPageContent, index) => {\n const numberOfElementsOption = content.visualization_options.find(\n (option: { key: string; value: any }) => option.key === 'number_of_elements'\n ) || {\n key: 'number_of_elements',\n value: 20\n };\n\n switch (content.content_type) {\n case 'assets':\n page.extended_page_contents[index].page = 1;\n page.extended_page_contents[index].per_page = numberOfElementsOption.value;\n page.extended_page_contents[index].assets = new BehaviorSubject<{\n items: Asset[];\n total_assets_count: number;\n }>(null);\n\n this.assetsService\n .getAssetsWithTagFilters(content.tag_filters, 1, numberOfElementsOption.value)\n .subscribe((res: { assets: Asset[]; total_assets_count: number }) => {\n page.extended_page_contents[index].assets.next({\n items: res.assets,\n total_assets_count: res.total_assets_count\n });\n });\n\n page.extended_page_contents[index].loadMore = () => {\n this.assetsService\n .getAssetsWithTagFilters(\n content.tag_filters,\n page.extended_page_contents[index].page + 1,\n page.extended_page_contents[index].per_page\n )\n .pipe(\n map((newRes: { assets: Asset[]; total_assets_count: number }) => {\n return {\n items: [\n ...page.extended_page_contents[index].assets.getValue().items,\n ...newRes.assets\n ],\n total_assets_count: newRes.total_assets_count\n };\n })\n )\n .subscribe((res: { items: Asset[]; total_assets_count: number }) => {\n page.extended_page_contents[index].page++;\n page.extended_page_contents[index].assets.next(res);\n });\n };\n\n break;\n\n case 'asset':\n page.extended_page_contents[index].page = 1;\n page.extended_page_contents[index].per_page = numberOfElementsOption.value;\n page.extended_page_contents[index].assets = new BehaviorSubject<{\n items: Asset[];\n total_assets_count: number;\n }>(null);\n this.assetsService.getAsset(content.content_uuid).subscribe((res: Asset) => {\n page.extended_page_contents[index].assets.next({ items: [res], total_assets_count: 1 });\n });\n\n page.extended_page_contents[index].loadMore = () => {\n console.error('load more is not possible for single asset');\n };\n break;\n\n case 'section':\n page.extended_page_contents[index].page = 1;\n page.extended_page_contents[index].per_page = numberOfElementsOption.value;\n page.extended_page_contents[index].assets = new BehaviorSubject<{\n items: Asset[];\n total_assets_count: number;\n }>(null);\n\n this.sectionsService\n .getAssetsForSectionID(content.content_uuid, numberOfElementsOption.value, 1)\n .subscribe((res: { items: Asset[]; total: number }) => {\n page.extended_page_contents[index].assets.next({\n items: res.items,\n total_assets_count: res.total\n });\n });\n page.extended_page_contents[index].loadMore = () => {\n this.sectionsService\n .getAssetsForSectionID(\n content.content_uuid,\n page.extended_page_contents[index].per_page,\n page.extended_page_contents[index].page + 1\n )\n .pipe(\n map((newRes: { items: Asset[]; total: number }) => {\n return {\n items: [\n ...page.extended_page_contents[index].assets.getValue().items,\n ...newRes.items\n ],\n total_assets_count: newRes.total\n };\n })\n )\n .subscribe((res: { items: Asset[]; total_assets_count: number }) => {\n page.extended_page_contents[index].page++;\n page.extended_page_contents[index].assets.next(res);\n });\n };\n\n page.extended_page_contents[index].section = this.sectionsService.getSection(content.content_uuid);\n break;\n\n case 'playlist':\n page.extended_page_contents[index].page = 1;\n page.extended_page_contents[index].per_page = numberOfElementsOption.value;\n page.extended_page_contents[index].assets = new BehaviorSubject<{\n items: Asset[];\n total_assets_count: number;\n }>(null);\n this.playlistsService.getPlaylist(content.content_uuid).subscribe((playlist: Playlist) => {\n page.extended_page_contents[index].assets.next({\n items: playlist.assets,\n total_assets_count: playlist.assets_count\n });\n });\n\n page.extended_page_contents[index].loadMore = () => {\n console.error('load more is not possible for playlist');\n };\n break;\n\n case 'live_events':\n page.extended_page_contents[index].page = 1;\n page.extended_page_contents[index].per_page = numberOfElementsOption.value;\n page.extended_page_contents[index].liveEvents = new BehaviorSubject<{\n items: LiveEvent[];\n total_assets_count: number;\n }>(null);\n\n if (content.tag_filters && content.tag_filters.length) {\n this.liveEventsService\n .getLiveEventsForTagFilter(content.tag_filters, numberOfElementsOption.value, 1, true)\n .pipe(\n // todo the totals_assets count ist not correct\n map(res => ({ items: res, total_assets_count: res.length }))\n )\n .subscribe(res => {\n page.extended_page_contents[index].liveEvents.next(res);\n });\n } else {\n this.liveEventsService\n .getLiveEvents(numberOfElementsOption.value, 1, true)\n .pipe(\n // todo the totals_assets count ist not correct\n map(res => ({ items: res, total_assets_count: res.length }))\n )\n .subscribe(res => {\n page.extended_page_contents[index].liveEvents.next(res);\n });\n }\n page.extended_page_contents[index].loadMore = () => {\n console.error('load more is not possible for live events');\n };\n break;\n\n case 'html':\n page.extended_page_contents[index] = content;\n break;\n default:\n page.extended_page_contents[index] = content;\n console.warn('unknown extended page content type', content.content_type);\n break;\n }\n });\n return page;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from '../api.service';\n\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { Playlist } from '../../../entities/playlist.entity';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { Asset } from '../../../entities/asset.entity';\n\n@Injectable()\nexport class PlaylistsService extends ApiService {\n private endpoint = 'playlists';\n\n public getPlaylist(uuid, page: number = 1, per_page: number = 10): Observable {\n const url = this.endpoint + '/' + uuid;\n return this.http\n .get(url, {\n params: { per_page: per_page.toString(), page: page.toString() }\n })\n .pipe(\n map((playlist: Playlist) => {\n playlist.assets = playlist.assets.map((asset: RawAssetFromApi) => new Asset(asset));\n return playlist;\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from '../api.service';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { Product } from '../../../entities/product.entity';\n\n@Injectable()\nexport class ProductsService extends ApiService {\n private endpoint = 'products';\n\n public getProducts(): Observable {\n const url = this.endpoint;\n return this.http.get<{ products: Product[] }>(url).pipe(map(response => response.products));\n }\n\n public getProduct(uuid: string): Observable {\n return this.getProducts().pipe(map((value: Product[], index) => value.find(prod => prod.uuid === uuid)));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { catchError, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { ApiService } from '../api.service';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { HttpResponse } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { Asset } from '../../../entities/asset.entity';\n\n@Injectable()\nexport class SearchService extends ApiService {\n private endpoint = 'search';\n\n public suggest(\n keyword: string,\n itemsPerPage = 20,\n page = 1\n ): Observable<{\n items: string[];\n }> {\n let url = this.endpoint + '/suggestions?q=' + keyword + '&page=' + page + '&per_page=' + itemsPerPage;\n\n if (\n environment.searchTagFilter.active === true &&\n environment.searchTagFilter.key &&\n environment.searchTagFilter.value\n ) {\n url = url + '&tag_filters[' + environment.searchTagFilter.key + ']=' + environment.searchTagFilter.value;\n }\n\n return this.http\n .get<{ items: string[] }>(url, { observe: 'response' })\n .pipe(\n map((response: HttpResponse<{ items: string[] }>) => {\n return response.body;\n }),\n catchError(\n this.handleError('suggestions', {\n items: []\n })\n )\n );\n }\n\n public search(\n keyword: string,\n itemsPerPage = 200,\n page = 1\n ): Observable<{\n items: Asset[];\n suggestions: string[];\n itemCount: number;\n }> {\n let url = this.endpoint + '?q=' + keyword + '&page=' + page + '&per_page=' + itemsPerPage;\n\n if (\n environment.searchTagFilter.active === true &&\n environment.searchTagFilter.key &&\n environment.searchTagFilter.value\n ) {\n url = url + '&tag_filters[' + environment.searchTagFilter.key + ']=' + environment.searchTagFilter.value;\n }\n\n return this.http\n .get<{ items: RawAssetFromApi[]; suggestions: string[]; itemCount: number }>(url, { observe: 'response' })\n .pipe(\n map(\n (\n response: HttpResponse<{ items: RawAssetFromApi[]; suggestions: string[]; itemCount: number }>\n ) => {\n const re = response.body;\n re.itemCount = parseInt(response.headers.get('API-Total'));\n return response.body;\n }\n ),\n map((result: { items: RawAssetFromApi[]; suggestions: string[]; itemCount: number }) => {\n return {\n items: result.items.map((value: RawAssetFromApi) => new Asset(value)),\n suggestions: result.suggestions,\n itemCount: result.itemCount\n };\n }),\n catchError(\n this.handleError('getSearch', {\n items: [],\n suggestions: [],\n itemCount: 0\n })\n )\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from '../api.service';\n\nimport { catchError, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { Section } from '../../../entities/section.entity';\nimport { RawAssetFromApi } from '../../../entities/raw-asset-from-api.entity';\nimport { Asset } from '../../../entities/asset.entity';\n\n@Injectable()\nexport class SectionsService extends ApiService {\n private endpoint = 'sections';\n\n public getSections(itemsPerPage = 500, page = 1): Observable {\n const url = this.endpoint + '?page=' + page + '&per_page=' + itemsPerPage;\n return this.http.get<{ items: Section[] }>(url).pipe(\n map(response => response.items),\n catchError(this.handleError('getSections', []))\n );\n }\n\n public getSection(uuid: string): Observable
    {\n const url = this.endpoint + '/' + uuid;\n return this.http.get<{ section: Section }>(url).pipe(\n map(response => response),\n catchError(this.handleError('getSection', null))\n );\n }\n\n public getAssetsForSectionID(\n uuid: string,\n itemsPerPage = 500,\n page = 1\n ): Observable<{ items: Asset[]; total: number }> {\n const url = this.endpoint + '/' + uuid + '/assets?page=' + page + '&per_page=' + itemsPerPage;\n\n return this.http.get<{ items: RawAssetFromApi[]; total: number }>(url).pipe(\n map(response => {\n const assets = response.items.map((asset: RawAssetFromApi) => new Asset(asset));\n return { total: response.total, items: assets };\n }),\n catchError(this.handleError('getAssetsForSectionID', { items: [], total: 0 }))\n );\n }\n}\n","import { environment } from '../../../environments/environment';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, defer, Observable } from 'rxjs';\nimport { catchError, filter, map, switchMap, tap } from 'rxjs/operators';\nimport { ApiService } from '../api.service';\nimport { SubscriptionTypeResponse } from '../../../entities/subscriptionType';\nimport { Subscription } from '../../../entities/subscription';\nimport { HttpClient } from '@angular/common/http';\nimport { throwError } from 'rxjs/internal/observable/throwError';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { AuthenticationService } from './authentication.service';\nimport { of } from 'rxjs/internal/observable/of';\n\n@Injectable()\nexport class SubscriptionService extends ApiService {\n /**\n * Observable which can be used to subscribe to the Subscription Store.\n * Returns all Subscriptions an user has. Should be just one with a various tag_filters\n */\n public subscriptionStore$: Observable;\n public errors$: Observable;\n private prevState: Subscription[] = [];\n private subscriptionStateSubject: BehaviorSubject;\n private errorSubject: BehaviorSubject;\n private endpointSubscriptions = 'subscribers'; // yes the api endpoint is called subscriber\n private endpointSubscriptionTypes = 'subscriptions'; // yes the api endpoint is called subscriptions\n private assetSubscriptionType: SubscriptionTypeResponse;\n\n constructor(protected http: HttpClient, private router: Router, private auth: AuthenticationService) {\n super(http);\n this.subscriptionStateSubject = new BehaviorSubject([]);\n this.errorSubject = new BehaviorSubject(null);\n\n this.subscriptionStore$ = this.subscriptionStateSubject.asObservable();\n this.errors$ = this.errorSubject.asObservable();\n\n this.setSubscriptionTypes();\n // Clear any state errors on navigation event\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.dismissError();\n }\n });\n }\n\n /**\n * Fetches the subscription data for the subscription store. Should be called once.\n * Further updates should made via update$ method.\n * @returns {Observable} Observable of subscription from the backend\n */\n public subscriptionData$(): Observable {\n return of(environment.subscribeFeature.subscribeFeatureEnabled).pipe(\n switchMap(enabled => (enabled ? of(true) : throwError('Subscriptions not enabled'))),\n switchMap(() => this.auth.isLoggedIn()),\n map(isLoggedIn => (isLoggedIn ? true : throwError('Not Logged In'))),\n switchMap(() => this.http.get<{ items: Subscription[] }>(this.endpointSubscriptions)),\n map(res => res.items),\n tap(subscriptions => {\n this.setSubscriptionStore(subscriptions);\n }),\n catchError(err => this.onError(err))\n );\n }\n\n /**\n * Updates the subscription in the backend and the subscription store.\n * * @returns {Observable} Observable of subscription from the backend\n */\n public update$(subscription: Subscription): Observable {\n return defer(() => {\n // Deferred so that the observable will\n // only be created on subscription\n subscription.tag_filters = subscription.tag_filters.map(_filter => {\n if (!_filter.values || _filter.values.length === 0) {\n return { ..._filter, _destroy: 1 };\n } else {\n return _filter;\n }\n });\n\n // Make optimistic UI updates\n this.updateSubscription(subscription);\n\n const params: {} = {\n subscription: this.assetSubscriptionType.uuid,\n interval_type: subscription.interval_type,\n tag_filters: subscription.tag_filters\n };\n\n return this.http.put(this.endpointSubscriptions + '/' + subscription.uuid, params).pipe(\n map(res => res),\n tap(res => this.updateSubscription(res)),\n filter(res => res.tag_filters.length === 0),\n tap(res => {\n this.delete$(res).subscribe();\n }),\n catchError(err => this.onError(err))\n );\n });\n }\n\n public create$(subscription: Subscription): Observable {\n return defer(() => {\n this.createSubscription(subscription);\n const params = {\n subscription: this.assetSubscriptionType.uuid,\n interval_type: 'week',\n tag_filters: subscription.tag_filters\n };\n return this.http.post(this.endpointSubscriptions, params).pipe(\n map(res => res),\n tap(res => this.updateSubscription(res)),\n catchError(err => this.onError(err))\n );\n });\n }\n\n public delete$(subscription: Subscription): Observable<{}> {\n return defer(() => {\n this.deleteSubscription(subscription);\n const params = {\n id: subscription.uuid\n };\n return this.http.delete<{}>(this.endpointSubscriptions + '/' + subscription.uuid, { params });\n });\n }\n\n private setPrevState() {\n this.prevState = this.subscriptionStateSubject.getValue();\n }\n\n /**\n * Sets the store\n * @param subscription the subscription, which should be set as the state of the subscription store\n */\n private setSubscriptionStore(subscription: Subscription[]) {\n this.setPrevState();\n this.subscriptionStateSubject.next(subscription);\n this.dismissError();\n }\n\n private createSubscription(subscription: Subscription) {\n this.setPrevState();\n const newState = [...this.prevState, subscription];\n this.subscriptionStateSubject.next(newState);\n this.dismissError();\n }\n\n private deleteSubscription(subscription: Subscription) {\n this.setPrevState();\n const newState = this.prevState.filter(sub => sub.uuid !== subscription.uuid);\n this.subscriptionStateSubject.next(newState);\n this.dismissError();\n }\n\n private stateError(errMsg: string) {\n this.errorSubject.next(errMsg);\n this.subscriptionStateSubject.next(this.prevState);\n }\n\n private dismissError() {\n this.errorSubject.next(null);\n }\n\n private onError(err: any) {\n const errorMsg = err.message ? err.message : err;\n this.stateError(errorMsg);\n return throwError(errorMsg);\n }\n\n /**\n * Updates the subscription in the store based on the current state and the passed subscription.\n * Does not update the subscription in the backend. Use update$ instead\n * @param subscription the subscription, which should be updated\n */\n private updateSubscription(subscription: Subscription) {\n this.setPrevState();\n const newState = this.prevState.map(current => {\n if (!current.uuid || current.uuid === subscription.uuid) {\n return { ...current, ...subscription };\n }\n return current;\n });\n this.subscriptionStateSubject.next(newState);\n this.dismissError();\n }\n\n private setSubscriptionTypes() {\n return this.auth\n .isLoggedIn()\n .pipe(\n map((isLoggedInd: boolean) => {\n if (!isLoggedInd) {\n throwError('Not Logged In');\n }\n }),\n switchMap(() => {\n return this.http.get<{ items: SubscriptionTypeResponse[] }>(this.endpointSubscriptionTypes);\n })\n )\n .subscribe(res => {\n this.assetSubscriptionType = res.items.find(type => type.type === 'AssetSubscription');\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApiService } from '../api.service';\nimport { SyndicationPlayer } from '../../../entities/syndication-player.entity';\n\n@Injectable()\nexport class SyndicationPlayerService extends ApiService {\n public getSyndicationPlayer(uuid: string): Observable {\n return this.http.get('syndications/' + uuid);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from '../api.service';\nimport { map, switchMap } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { StorageMap } from '@ngx-pwa/local-storage';\n\n@Injectable()\nexport class YouthProtectionPinService extends ApiService {\n private endpoint = 'youth_protection_pin';\n\n private STORAGE_KEY_NAME = 'youth_protection_session_expires_at';\n\n private youth_protection_session_expires_at: number = null;\n\n constructor(protected http: HttpClient, protected storage: StorageMap) {\n super(http);\n }\n\n /**\n * Only callable until 5 min after verify age\n * @param pin\n * @param pin_activity\n */\n public setPin(\n pin: string,\n pin_activity: 'active' | 'inactive'\n ): Observable<{ youth_protection_session_expires_at }> {\n return this.http\n .post<{ youth_protection_session_expires_at }>(this.endpoint, {\n pin: pin.toString(),\n pin_activity: pin_activity\n })\n .pipe(\n switchMap(res => {\n return this.setYouthProtectionExpiration(res.youth_protection_session_expires_at);\n })\n );\n }\n\n public changePinWithPassword(\n pin: string,\n password: string\n ): Observable<{ youth_protection_session_expires_at: string }> {\n return this.http\n .post<{ youth_protection_session_expires_at: string }>(this.endpoint, {\n pin: pin.toString(),\n password: password\n })\n .pipe(\n switchMap(res => {\n return this.setYouthProtectionExpiration(res.youth_protection_session_expires_at);\n })\n );\n }\n\n public verifyPin(pin: string): Observable {\n const url = 'youth_protection_session';\n\n return this.http\n .post<{ youth_protection_session_expires_at }>(url, {\n pin: pin.toString()\n })\n .pipe(\n switchMap(res => {\n return this.setYouthProtectionExpiration(res.youth_protection_session_expires_at);\n }),\n map(() => true)\n );\n }\n\n public extendYouthProtectionSession(): Observable<{ youth_protection_session_expires_at: string }> {\n const url = 'youth_protection_session';\n\n return this.hasYouthProtectionSession().pipe(\n switchMap((hasSession: boolean) => {\n if (!hasSession) {\n // return throwError('no session');\n }\n return this.http.post<{ youth_protection_session_expires_at: string }>(url, {});\n }),\n switchMap(res => {\n return this.setYouthProtectionExpiration(res.youth_protection_session_expires_at);\n })\n );\n }\n\n public hasYouthProtectionSession(): Observable {\n return this.storage.get(this.STORAGE_KEY_NAME).pipe(\n map(() => {\n return false;\n })\n );\n }\n\n private setYouthProtectionExpiration(\n expires_at: string\n ): Observable<{ youth_protection_session_expires_at: string }> {\n return this.storage.set(this.STORAGE_KEY_NAME, expires_at).pipe(\n map(() => {\n return { youth_protection_session_expires_at: expires_at };\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as browserUpdate from 'browser-update';\n\n@Injectable()\nexport class BrowserWarningService {\n public static checkBrowser(): void {\n if (window.navigator.userAgent.includes('Windows NT 6.1')) {\n browserUpdate({\n required: {\n i: 12\n }\n });\n } else {\n browserUpdate({\n required: {\n i: 11\n }\n });\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { environment } from '../environments/environment';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanonicalTagService {\n public updateCanonicalURL(permalink: string): void {\n const link = this.getHtmlElement();\n if (permalink.startsWith('http')) {\n link.setAttribute('href', permalink);\n } else {\n let origin;\n switch (environment.appName) {\n case AppName.turn:\n case AppName.tischtennis:\n case AppName.handball:\n origin = 'https://sportdeutschland.tv';\n break;\n default:\n origin = window.location.origin;\n }\n link.setAttribute('href', origin + '/' + permalink);\n }\n }\n\n private getHtmlElement(): HTMLLinkElement {\n if (document.querySelector('link[rel=canonical]')) {\n return document.querySelector('link[rel=canonical]');\n }\n const link: HTMLLinkElement = this.dom.createElement('link');\n link.setAttribute('rel', 'canonical');\n this.dom.head.appendChild(link);\n return link;\n }\n\n constructor(@Inject(DOCUMENT) private dom) {}\n}\n","import { Injectable } from '@angular/core';\nimport { ConfirmationDialogComponent } from '../components/elements/confirmation-dialog/confirmation-dialog.component';\nimport { Observable } from 'rxjs';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap';\n\n@Injectable()\nexport class ConfirmationDialogService {\n constructor(private modalService: BsModalService) {}\n\n public confirm(\n title: string,\n message: string,\n btnOkText: string = 'OK',\n btnCancelText: string = 'Abbrechen',\n dialogSize: 'sm' | 'lg' = 'sm'\n ): Observable {\n const modalRef: BsModalRef = this.modalService.show(ConfirmationDialogComponent, {\n class: dialogSize === 'lg' ? 'modal-lg' : 'modal-sm',\n animated: false\n });\n const component: ConfirmationDialogComponent = modalRef.content;\n component.title = title;\n component.message = message;\n component.btnOkText = btnOkText;\n component.btnCancelText = btnCancelText;\n\n component.close.subscribe(() => modalRef.hide());\n\n return component.result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Asset } from '../entities/asset.entity';\nimport { Observable } from 'rxjs';\nimport { DonationEntity } from '../entities/donation.entity';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class DonationService {\n constructor(private http: HttpClient) {}\n\n public getTotalAmount(): Observable {\n return this.http.get<{ total_donated: string }>('donations').pipe(\n map(amount => {\n amount.total_donated = amount.total_donated.replace('€', '');\n amount.total_donated = amount.total_donated.replace('.', '');\n return parseFloat(amount.total_donated.replace(',', '.'));\n })\n );\n }\n\n public createDonationObject(donation: DonationEntity) {\n return this.http.post('donations', donation);\n }\n\n public getDonation(donationUUID: string) {\n return this.http.get('donations/' + donationUUID);\n }\n\n public getAssetAmount(asset: Asset): Observable<{ total_donated: string }> {\n return this.http.get<{ total_donated: string }>('assets/' + asset.uuid + '/donations');\n }\n\n public setupPayment(donationUuid: string): Observable {\n return this.http.put('donations/' + donationUuid + '/payment', {\n provider: 'Adyen',\n payment_step: 'setup_payment',\n client: 'Web',\n return_path: 'spenden?donation=' + donationUuid\n });\n }\n\n public startPayment(donationUuid: string): Observable {\n return this.http.put('donations/' + donationUuid + '/payment', {\n provider: 'Adyen',\n payment_step: 'start_payment',\n client: 'Web'\n });\n }\n\n public verifyPayment(donationUuid: string, payload: string): Observable {\n return this.http.put('donations/' + donationUuid + '/payment', {\n provider: 'Adyen',\n payment_step: 'verify_payment',\n client: 'Web',\n payload: payload\n });\n }\n}\n","import { Injectable, Output } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\n\n@Injectable()\nexport class EmbeddedModeService {\n @Output() public embedded: BehaviorSubject = new BehaviorSubject(false);\n @Output() public syndication_origin: BehaviorSubject = new BehaviorSubject(undefined);\n\n public enable(): void {\n this.embedded.next(true);\n }\n\n public disable(): void {\n this.embedded.next(false);\n }\n\n public setSyndicationOrigin(origin: string): void {\n this.syndication_origin.next(origin);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\nimport { environment } from '../environments/environment';\nimport { ConsentService } from '../modules/consent/consent.service';\nimport { filter, take, takeUntil } from 'rxjs/operators';\n\nexport interface ScriptModel {\n src: string;\n name: string;\n loaded?: boolean;\n loading?: boolean;\n integrity?: string;\n crossorigin?: string;\n async?: boolean;\n allowMultiple?: boolean;\n attributes?: { name: string; value: string }[];\n usercentricsTemplateId: string;\n}\n\n@Injectable()\nexport class ExternalScriptsLoaderService {\n private scripts: ScriptModel[] = [];\n\n public constructor(private consentService: ConsentService) {\n consentService.initialized$\n .pipe(\n filter(init => init === true),\n take(1)\n )\n .subscribe(init => {\n environment.loadOnInit.map((script: ScriptModel) => {\n if (consentService.consentGiven(script.usercentricsTemplateId)) {\n this.load(script).subscribe(() => {\n console.log('script loaded after initial load', script.name);\n });\n } else {\n consentService.consentChanged(script.usercentricsTemplateId).subscribe(consentGiven => {\n if (consentGiven === true && !this.isScriptLoaded(script)) {\n this.load(script).subscribe(() => {\n console.log('script loaded after consent change', script.name);\n });\n } else if (consentGiven === false && this.isScriptLoaded(script)) {\n window.location.reload();\n }\n });\n }\n });\n });\n }\n private isScriptLoaded(script: ScriptModel): boolean {\n const existingScript = this.scripts.find(s => s.src === script.src);\n return existingScript && (existingScript.loaded || existingScript.loading);\n }\n\n public load(script: ScriptModel): Observable {\n return new Observable((observer: Observer) => {\n const existingScript = this.scripts.find(s => s.src === script.src);\n\n // Complete if already loaded\n if (existingScript && (existingScript.loaded || existingScript.loading) && script.allowMultiple !== true) {\n observer.next(existingScript);\n observer.complete();\n } else {\n // Add the script\n script.loaded = false;\n script.loading = true;\n this.scripts = [...this.scripts, script];\n\n // Load the script\n const scriptElement = document.createElement('script');\n scriptElement.type = 'text/javascript';\n scriptElement.id = 'script-' + btoa(script.name);\n scriptElement.src = script.src;\n if (script.async) {\n scriptElement.async = true;\n }\n if (script.attributes) {\n script.attributes.forEach((attribute: { name: string; value: string }) => {\n scriptElement.setAttribute(attribute.name, attribute.value);\n });\n }\n if (script.integrity) {\n scriptElement.integrity = script.integrity;\n }\n if (script.crossorigin) {\n scriptElement.crossOrigin = script.crossorigin;\n }\n\n scriptElement.onload = () => {\n script.loaded = true;\n script.loading = false;\n observer.next(script);\n observer.complete();\n };\n\n scriptElement.onerror = (error: any) => {\n console.error('error loading script');\n observer.error('Could not load script ' + script.src);\n script.loading = false;\n observer.error(error);\n };\n\n document.head.appendChild(scriptElement);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ValidationService {\n public static getValidatorErrorMessage(validatorName: string, validatorValue?: any) {\n const config = {\n required: 'Pflichtfeld',\n minlength: `Mindestens ${validatorValue.requiredLength} Zeichen`,\n email: 'Keine gültige E-Mail Adresse',\n equalTo: 'Stimmt nicht überein',\n equal: 'Pflichtfeld'\n };\n return config[validatorName];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { User } from '../entities/user.entity';\nimport { AuthenticationService } from './api/methods/authentication.service';\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\nimport { debounceTime, filter, switchMap } from 'rxjs/operators';\nimport { YouthProtectionPinService } from './api/methods/youth-protection-pin.service';\nimport { environment } from '../environments/environment';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Injectable()\nexport class InactivityService {\n private lastActivityTimeStamp: number;\n private timer = null;\n private microsecondsAfterUserIsConsideredInactive = 15 * 60 * 1000;\n private activityObserver: BehaviorSubject = new BehaviorSubject(true);\n\n public init(): void {\n window.addEventListener('scroll', () => this.pingActivity(), {\n passive: true\n });\n window.addEventListener('click', () => this.pingActivity(), {\n passive: true\n });\n window.addEventListener('touch', () => this.pingActivity(), {\n passive: true\n });\n }\n\n public pingActivity(): void {\n this.activityObserver.next(true);\n }\n\n private loginStateChanged(): void {\n if (this.authenticationService.isLoggedIn()) {\n this.authenticationService.me().subscribe(\n (me: User) => {\n this.monitorUserInactivity(me);\n },\n () => {\n this.stopMonitoringUserInactivity();\n }\n );\n } else {\n this.stopMonitoringUserInactivity();\n }\n }\n\n private monitorUserInactivity(me: User): void {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = setInterval(\n () => this.sendActivityStatusToServer(),\n (me.youth_protection_session_activity_interval_in_seconds || 500) * 1000\n );\n }\n\n // users is considered inactive if there has been no\n\n private stopMonitoringUserInactivity(): void {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n\n // user interaction fot at least 15 minutes (this.microsecondsAfterUserIsConsideredInactive)\n private userIsActive(): boolean {\n return this.lastActivityTimeStamp >= Date.now() - this.microsecondsAfterUserIsConsideredInactive;\n }\n\n // gets called all 500 seconds\n private sendActivityStatusToServer(): void {\n return;\n\n // since ranfighting was killed we do not need this feature anymore\n /*this.authenticationService\n .isLoggedIn()\n .pipe(\n filter(loggedIn => loggedIn),\n filter(() => this.userIsActive()),\n switchMap(() => this.youthProtectionService.extendYouthProtectionSession())\n )\n .subscribe(() => {\n // user is active, extended YP PIN pin session\n });*/\n }\n\n constructor(\n private authenticationService: AuthenticationService,\n private youthProtectionService: YouthProtectionPinService\n ) {\n // only set the last activity timestamp every second\n this.activityObserver\n .asObservable()\n .pipe(debounceTime(1000))\n .subscribe(() => {\n this.lastActivityTimeStamp = Date.now();\n });\n\n this.authenticationService.$isLoggedInEvent.subscribe(() => this.loginStateChanged);\n this.loginStateChanged();\n this.init();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { Observable } from 'rxjs/internal/Observable';\n\n@Injectable()\nexport class PageVisibilityService {\n private static HIDDEN = 'hidden';\n private static MS_HIDDEN = 'msHidden';\n private static WEB_KIT_HIDDEN = 'webkitHidden';\n private onPageVisibleSource: Subject = new Subject();\n public $onPageVisible: Observable = this.onPageVisibleSource.asObservable();\n private onPageHiddenSource: Subject = new Subject();\n public $onPageHidden: Observable = this.onPageHiddenSource.asObservable();\n private onPageVisibilityChangeSource: Subject = new Subject();\n private hidden: string;\n private visibilityChange: string;\n\n constructor() {\n this.init();\n this.listenPageVisibility();\n }\n\n public isPageVisible(): boolean {\n return !this.isPageHidden();\n }\n\n public isPageHidden(): boolean {\n return document[this.hidden];\n }\n\n private init(): void {\n if (typeof document[PageVisibilityService.HIDDEN] !== 'undefined') {\n // Opera 12.10 and Firefox 18 and later support\n this.hidden = PageVisibilityService.HIDDEN;\n this.visibilityChange = 'visibilitychange';\n } else if (typeof document[PageVisibilityService.MS_HIDDEN] !== 'undefined') {\n this.hidden = PageVisibilityService.MS_HIDDEN;\n this.visibilityChange = 'msvisibilitychange';\n } else if (typeof document[PageVisibilityService.WEB_KIT_HIDDEN] !== 'undefined') {\n this.hidden = PageVisibilityService.WEB_KIT_HIDDEN;\n this.visibilityChange = 'webkitvisibilitychange';\n }\n }\n\n private listenPageVisibility(): void {\n document.addEventListener(\n this.visibilityChange,\n () => {\n if (this.isPageVisible()) {\n this.onPageVisibilityChangeSource.next(true);\n this.onPageVisibleSource.next();\n return;\n }\n this.onPageVisibilityChangeSource.next(false);\n this.onPageHiddenSource.next();\n },\n { passive: true }\n );\n }\n}\n","import { VideoPlaylist } from '../entities/video-playlist.entity';\nimport { EventEmitter, Injectable, Output } from '@angular/core';\n\n@Injectable()\nexport class PlaylistHandlerService {\n @Output() public activePlaylistIndex: EventEmitter<{\n index: number;\n play: boolean;\n }> = new EventEmitter();\n @Output() public playlist: EventEmitter = new EventEmitter();\n @Output() public sidePlaylistOpen: EventEmitter = new EventEmitter();\n\n public setPlaylist(playlist: VideoPlaylist): void {\n this.playlist.emit(playlist);\n }\n\n public goToPlaylistIndex(index: number, play: boolean = false): void {\n this.activePlaylistIndex.emit({ index: index, play: play });\n }\n\n public toggleSidePlaylist(open: boolean): void {\n this.sidePlaylistOpen.emit(open);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { RawAssetFromApi } from '../entities/raw-asset-from-api.entity';\nimport { environment } from '../environments/environment';\nimport { AppName } from 'src/common/enum/app-name.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RoutingHelperService {\n private autoplay = false;\n /**\n * All assets from these sections will be redirect to handball-deutschland.tv on sportdeutschland\n */\n private handballExclusiveUrls = [\n 'wm-maenner-2019',\n 'hbl-2',\n 'hbf',\n 'em-frauen-2018',\n '2018-ehf-cup',\n 'wm-frauen-2017',\n 'handball-royal',\n 'tussies',\n 'beachhandball-2'\n ];\n\n private tischtennisExclusiveUrls = ['ttbl', 'dttb-veranstaltungen', 'german-open'];\n\n private turnExclusiveUrls = [\n 'geraetturnen',\n 'trampolinturnen',\n 'rhythmische-sportgymnastik',\n 'weitere-events',\n 'turnen-wm-2018'\n ];\n\n constructor(private router: Router) {}\n\n public goToAssetPage(asset: RawAssetFromApi, autoplay = false, routedWithoutUserInteraction = false): void {\n const link = this.getLinkFromAsset(asset);\n if (autoplay) {\n this.activateAutoplay();\n }\n if (link.startsWith('http')) {\n window.location.href = link;\n } else {\n this.router\n .navigateByUrl(link, {\n state: {\n routedWithoutUserInteraction\n }\n })\n .then();\n }\n }\n\n public activateAutoplay(): void {\n this.autoplay = true;\n }\n\n public shouldAutoplay(): boolean {\n return this.autoplay;\n }\n\n public getLinkFromAsset(asset: RawAssetFromApi, forceAbsoluteSDTVURL: boolean = false): string {\n let link = '/';\n if (environment.appName === AppName.sportdeutschland) {\n if (asset.section && this.handballExclusiveUrls.includes(asset.section.permalink)) {\n link = 'https://handball-deutschland.tv/';\n } else if (asset.section && this.tischtennisExclusiveUrls.includes(asset.section.permalink)) {\n link = 'https://tischtennis-deutschland.tv/';\n } else if (asset.section && this.turnExclusiveUrls.includes(asset.section.permalink)) {\n link = 'https://turn-deutschland.tv/';\n } else if (forceAbsoluteSDTVURL) {\n link = 'https://sportdeutschland.tv/';\n }\n\n if (environment.envName === 'local') {\n // console.debug('You are in local env: Did not replace link for domain: ' + link);\n link = '/';\n }\n }\n\n if (asset.section && asset.section.permalink) {\n link += asset.section.permalink + '/';\n }\n if (asset.permalink) {\n link += asset.permalink;\n }\n return link;\n }\n}\n","import { ValidationService } from './form/validation.service';\nimport { MenuService } from './api/methods/menu.service';\nimport { LiveMidrollService } from './api/methods/live-midroll.service';\nimport { LiveEventsService } from './api/methods/live-events.service';\nimport { AssetsService } from './api/methods/assets.service';\nimport { AgeVerificationService } from './api/methods/age-verification.service';\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { AuthenticationService } from './api/methods/authentication.service';\nimport { EpgService } from './api/methods/epg.service';\nimport { OrderService } from './api/methods/order.service';\nimport { PagesService } from './api/methods/pages.service';\nimport { PermalinkService } from './api/methods/permalink.service';\nimport { PlaylistsService } from './api/methods/playlists.service';\nimport { ProductsService } from './api/methods/products.service';\nimport { SearchService } from './api/methods/search.service';\nimport { SectionsService } from './api/methods/sections.service';\nimport { SubscriptionService } from './api/methods/subscription.service';\nimport { SyndicationPlayerService } from './api/methods/syndication-player.service';\nimport { YouthProtectionPinService } from './api/methods/youth-protection-pin.service';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ApiInterceptor } from './api/api.interceptor';\nimport { environment } from '../environments/environment';\nimport { HttpCacheService } from './api/http-cache.service';\nimport { AdblockDetectionService } from './adblock-detection.service';\nimport { AgofService } from './agof.service';\nimport { AlertNotificationsService } from './alert-notifications.service';\nimport { BrowserWarningService } from './browser-warning.service';\nimport { AnalyticsService } from './analytics.service';\nimport { EmbeddedModeService } from './embedded-mode.service';\nimport { ExternalScriptsLoaderService } from './external-scripts-loader.service';\nimport { InactivityService } from './inactivity.service';\nimport { PageVisibilityService } from './page-visibility.service';\nimport { PlaylistHandlerService } from './playlist-handler.service';\nimport { RoutingHelperService } from './routing-helper.service';\nimport { SomtagService } from './somtag.service';\nimport { VersionCheckService } from './version-check.service';\nimport { APP_BASE_HREF } from '@angular/common';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { SidebarService } from './sidebar.service';\nimport { UserProfileService } from './user-profile.service';\nimport { DeviceDetectorModule } from 'ngx-device-detector';\nimport { ApiUserProfileService } from './api/methods/api-user-profile.service';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CanonicalTagService } from './canonical-tag.service';\nimport { ConfirmationDialogService } from './confirmation-dialog.service';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { LoginFormService } from '../components/elements/form/login-form/login-form.service';\nimport { RegisterFormService } from '../components/elements/form/register-form/register-form.service';\nimport { AdContainerService } from '../components/elements/ad-container/ad-container.service';\nimport { WebsocketService } from './websocket.service';\nimport { DonationService } from './donation.service';\n\n@NgModule({\n imports: [DeviceDetectorModule, OverlayModule],\n declarations: [],\n exports: [],\n providers: [\n AgeVerificationService,\n AssetsService,\n AuthenticationService,\n EpgService,\n LiveEventsService,\n LiveMidrollService,\n MenuService,\n OrderService,\n PagesService,\n PermalinkService,\n PlaylistsService,\n ProductsService,\n SearchService,\n SectionsService,\n SubscriptionService,\n SyndicationPlayerService,\n ApiUserProfileService,\n YouthProtectionPinService,\n CanonicalTagService,\n HttpCacheService,\n ValidationService,\n AdblockDetectionService,\n AgofService,\n AlertNotificationsService,\n AnalyticsService,\n BrowserWarningService,\n EmbeddedModeService,\n DonationService,\n ExternalScriptsLoaderService,\n InactivityService,\n PageVisibilityService,\n PlaylistHandlerService,\n RoutingHelperService,\n SomtagService,\n VersionCheckService,\n SidebarService,\n UserProfileService,\n ConfirmationDialogService,\n LoginFormService,\n RegisterFormService,\n AdContainerService,\n WebsocketService,\n\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiInterceptor,\n deps: [StorageMap],\n multi: true\n },\n /*{\n provide: HTTP_INTERCEPTORS,\n useClass: FakeApiInterceptor,\n deps: [StorageMap],\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiTestErrorInterceptor,\n deps: [StorageMap],\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: RequestCacheInterceptor,\n multi: true\n },*/\n { provide: LOCALE_ID, useValue: environment.i18n.defaultLocale },\n\n {\n provide: APP_BASE_HREF,\n useValue: '/'\n },\n {\n provide: 'externalUrlRedirectResolver',\n useValue: (route: ActivatedRouteSnapshot) => {\n window.location.href = (route.data as { externalUrl: string }).externalUrl;\n }\n }\n ]\n})\nexport class ServicesModule {}\n","import { Injectable, Output } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { environment } from '../environments/environment';\n\n@Injectable()\nexport class SidebarService {\n @Output() public isOpen: BehaviorSubject = new BehaviorSubject(false);\n private _isOpen = false;\n\n // must match the sass var $elements-sidebar-breakpoint\n private breakpoint = 1124;\n\n constructor(private router: Router) {\n if (!environment.header.useSideMenu) {\n return;\n }\n window.addEventListener('resize', () => {\n if (window.innerWidth <= this.breakpoint && this._isOpen) {\n this.toggle();\n } else if (window.innerWidth >= this.breakpoint + 1 && !this._isOpen) {\n this.toggle();\n }\n });\n this.router.events.subscribe(val => {\n if (\n val instanceof NavigationEnd &&\n window.innerWidth >= this.breakpoint &&\n !this._isOpen &&\n !environment.header.sideMenuInitiallyClosed\n ) {\n this.toggle();\n }\n });\n }\n\n public toggle(): void {\n if (!environment.header.useSideMenu) {\n return;\n }\n this._isOpen = !this._isOpen;\n this.isOpen.next(this._isOpen);\n }\n\n public close(): void {\n if (!environment.header.useSideMenu) {\n return;\n }\n this._isOpen = false;\n this.isOpen.next(this._isOpen);\n }\n}\n","import { Page } from '../entities/page.entity';\nimport { Section } from '../entities/section.entity';\nimport { Injectable } from '@angular/core';\nimport { environment } from '../environments/environment';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { VastClient, VastResponse } from '../../../@types/vast-client';\nimport { AuthenticationService } from './api/methods/authentication.service';\nimport { of } from 'rxjs/internal/observable/of';\nimport { filter, map, switchMap, take, takeWhile, tap } from 'rxjs/operators';\nimport { EmbeddedModeService } from './embedded-mode.service';\nimport { BehaviorSubject } from 'rxjs';\nimport { AnalyticsService } from './analytics.service';\nimport { NavigationStart, Router, RouterEvent } from '@angular/router';\nimport { fromPromise } from 'rxjs/internal-compatibility';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { Asset } from '../entities/asset.entity';\nimport { Tag } from '../entities/tag.entity';\nimport { AdblockDetectionService } from './adblock-detection.service';\nimport { AppName } from '../enum/app-name.enum';\nimport { ConsentService } from '../modules/consent/consent.service';\n\ndeclare interface MyWindow extends Window {\n somtag?: any;\n VAST?: any;\n usercentrics?: any;\n}\n\n@Injectable()\nexport class SomtagService {\n public environment;\n public myWindow: MyWindow = window;\n public authenticationService: AuthenticationService;\n\n public somtag: any = null;\n public VAST: any = null;\n public displayAdChannels: string[] = [];\n\n public loadDisplayAdsSource: BehaviorSubject = new BehaviorSubject(false);\n\n public deviceBreakpoint = 728;\n\n constructor(\n private auth: AuthenticationService,\n private analyticsService: AnalyticsService,\n private embeddedModeService: EmbeddedModeService,\n private consentService: ConsentService,\n private router: Router,\n private deviceService: DeviceDetectorService,\n private adblockDetectionService: AdblockDetectionService\n ) {\n this.environment = environment;\n this.somtag = this.myWindow.somtag;\n this.VAST = this.myWindow.VAST;\n\n this.router.events.subscribe((event: RouterEvent) => {\n if (event instanceof NavigationStart) {\n this.loadDisplayAdsSource.next(false);\n this.displayAdChannels = [];\n }\n });\n }\n\n public initVideoAds(asset: Asset, longplay: boolean): Observable<{}> {\n return this.adsDisabled().pipe(\n takeWhile((adsDisabled: boolean) => {\n return !adsDisabled;\n }),\n switchMap(() => {\n return this.embeddedModeService.embedded;\n }),\n map((isEmbedded: boolean) => {\n const privChannels = this.getSomChannelsForAsset(asset);\n if (isEmbedded) {\n privChannels.push(this.embeddedModeService.syndication_origin.getValue());\n privChannels.push('de_sportdeutschland.syndication');\n }\n\n return privChannels;\n }),\n map((privChannels: (Tag | string)[]) => {\n const keywords = this.getKeywordsForSom(asset);\n return {\n enabled: true,\n taxonomy: {\n content: 'video',\n channels: privChannels\n },\n keywords,\n config: {\n id: environment.ads.somtag.publisherId,\n consent: {\n optOutUncertifiedVendors: !this.consentService.allConsentsForSomtagGiven()\n }\n },\n video: {\n longplay: longplay,\n blocks: {}\n }\n };\n }),\n map((config: any) => {\n const device = {\n mode: window.innerWidth <= this.deviceBreakpoint ? 'mobile' : 'desktop',\n breakpoint: this.deviceBreakpoint\n };\n return { ...config, device };\n }),\n map((config: any) => {\n if (environment.appName === AppName.auto && asset && asset.channel) {\n // sind die Kanäle im linken Menü z.B. „autodeuschlandtv_Daniel Abt“ oder „autodeuschlandtv_Autotester“\n const syndication = {\n content: 'autodeutschlandtv_' + asset.channel.values.toString(),\n partner: 'Auto-Deutschland.tv'\n };\n return { ...config, syndication };\n }\n\n // if (this.embeddedModeService.embedded.getValue() === true) {\n // const syndication = {\n // // content: 'autodeutschlandtv_' + asset.channel.values.toString(),\n // partner: this.embeddedModeService.syndication_origin.getValue()\n // };\n // return { ...config, syndication };\n // }\n return config;\n }),\n\n switchMap((config: any) => {\n console.log('SOMTAG init Video Ads WITH config', config);\n environment.ads.somtag.blocks.forEach(videoAd => (config.video.blocks[videoAd] = { enabled: true }));\n // @ts-ignore\n return fromPromise(this.somtag.cmd('init', config));\n })\n );\n }\n\n public setDisplayAdChannelsForSection(section?: Section): void {\n this.displayAdChannels = this.getSomChannelFromSection(section);\n this.initDisplayAds().subscribe(() => this.loadDisplayAdsSource.next(true));\n }\n\n public setDisplayAdChannelsForPage(page?: Page): void {\n this.displayAdChannels = this.getSomChannelFromPage(page);\n this.initDisplayAds().subscribe(() => this.loadDisplayAdsSource.next(true));\n }\n\n public setDisplayAdChannelsFromString(string: string = ''): void {\n this.displayAdChannels = [string];\n this.initDisplayAds().subscribe(() => this.loadDisplayAdsSource.next(true));\n }\n\n public setDisplayAdChannelsFromArray(array: string[]): void {\n this.displayAdChannels = array;\n this.initDisplayAds().subscribe(() => this.loadDisplayAdsSource.next(true));\n }\n\n public loadDisplayAds(): void {\n this.initDisplayAds().subscribe(() => this.loadDisplayAdsSource.next(true));\n }\n\n public getKeywordsForSom(asset: Asset): string[] {\n const keywords = [];\n\n asset.som_targeting_keywords.forEach((tag: string) => {\n keywords.push(tag);\n });\n\n if (environment.appName === AppName.auto) {\n if (asset.channel) {\n asset.channel.values.forEach((tag: string) => {\n keywords.push(tag);\n });\n }\n\n asset.auto_marke.forEach((tag: string) => {\n keywords.push(tag);\n });\n asset.auto_modell.forEach((tag: string) => {\n keywords.push(tag);\n });\n asset.auto_typ.forEach((tag: string) => {\n keywords.push(tag);\n });\n asset.auto_krafstoff.forEach((tag: string) => {\n keywords.push(tag);\n });\n asset.auto_farbe.forEach((tag: string) => {\n keywords.push(tag);\n });\n }\n return keywords;\n }\n\n public reloadDisplayAds(): void {\n this.somtag.cmd('reloadDisplaySlots');\n }\n\n public initDisplayAds(): Observable {\n console.log('initDisplayAds');\n return this.adsDisabled().pipe(\n takeWhile(adsDisabled => {\n return !adsDisabled;\n }),\n switchMap(() => this.consentService.initialized$),\n filter(i => !!i),\n take(1),\n tap(() => console.log('in initDisplayAds, consent initialized')),\n map(() => {\n return this.deviceService.isMobile();\n }),\n map((isMobile: boolean) => {\n const config = {\n enabled: true,\n taxonomy: {\n channels: this.displayAdChannels\n },\n config: {\n id: environment.ads.somtag.publisherId,\n consent: {\n optOutUncertifiedVendors: !this.consentService.allConsentsForSomtagGiven()\n }\n },\n display: {\n slots: {}\n },\n device: {\n mode: isMobile ? 'mobile' : 'desktop', // values: 'mobile', 'desktop', 'auto'. default value. 'auto'\n breakpoint: this.deviceBreakpoint // threshold value to switch between mobile and desktop\n // when mode is 'auto'\n // it is the last width which is considered as mobile\n }\n };\n environment.ads.somtag.slots.forEach(ad => (config.display.slots[ad.slot] = { enabled: true }));\n return config;\n }),\n switchMap(config => {\n console.log('SOMTAG init display ads with config', config);\n const promise = this.somtag.cmd('init', config);\n if (!promise) {\n this.adblockDetectionService.adBlockerDetected(true);\n throw Error('Somtag Init Promise not defined. Seems like Adblocker is used');\n }\n return fromPromise(promise);\n })\n );\n }\n\n public loadDisplayAdForSlot(\n slot:\n | 'fullbanner2'\n | 'skyscraper1'\n | 'rectangle1'\n | 'mbanner1'\n | 'mbanner2'\n | 'inread1'\n | 'minread1'\n | 'performanceRectangle1'\n | 'promo2'\n | 'promo3'\n | 'promo4'\n | 'promo5',\n container: string\n ): Observable<{ ad: any; result: any; error: any }> {\n return this.adsDisabled().pipe(\n take(1),\n map(adsDisabled => {\n const subject = new Subject<{ ad: any; result: any; error: any }>();\n if (adsDisabled) {\n subject.error('ads disabled');\n }\n return subject;\n }),\n map((subject: Subject<{ ad: any; result: any; error: any }>) => {\n const index = environment.ads.somtag.slots.findIndex(\n (value: { slot: string; container: string }) => value.slot === slot\n );\n if (index === -1) {\n subject.error('ad slot \"' + slot + '\" not enabled');\n return subject;\n }\n return subject;\n }),\n map((subject: Subject<{ ad: any; result: any; error: any }>) => {\n if (!this.slotAllowedForCurrentDevice(slot)) {\n subject.error('SOMTAG: prevented slot \"' + slot + '\" not loadable on current device width');\n }\n return subject;\n }),\n switchMap((subject: Subject<{ ad: any; result: any; error: any }>) => {\n console.log('insert ad ', container);\n this.somtag.cmd('insertAd', slot, { container: container }, (error, result) => {\n if (error) {\n subject.error(error);\n return subject;\n }\n subject.next({\n ad: { slot, container },\n result: result,\n error: error\n });\n });\n return subject;\n })\n );\n }\n\n public loadVideoAds(\n block: string,\n amountOfClips: number | null,\n callback: (err: Error, vastResponses: (VastResponse | {})[], vastClient: VastClient) => void\n ): void {\n const vastClient = new this.VAST.VASTClient();\n if (!environment.ads.useAds) {\n return;\n }\n this.analyticsService.trackEvent('DebugAdsRequestVideoAds', {\n category: 'DebugAdsRequestVideoAds',\n event: 'DebugAdsRequestVideoAds',\n noninteraction: true,\n gtmCustom: {\n label: block\n }\n });\n\n // todo add amount of clips\n this.somtag.cmd('getVideoBlock', block, {}, function (err?, results?: string[]) {\n if (err || !results) {\n callback(err, null, vastClient);\n return;\n }\n const promises = [];\n results.forEach(result => {\n promises.push(vastClient.get(result, { withCredentials: true }));\n });\n const errorFreePromises = promises.map(promise => promise.catch(error => ({})));\n Promise.all(errorFreePromises).then(\n (response: (VastResponse | {})[]) => {\n callback(null, response, vastClient);\n },\n error => {\n console.error('SOMTAG error: rejected loading ', error);\n callback(error, null, vastClient);\n }\n );\n });\n }\n\n public adsDisabled(): Observable {\n if (this.router.url.includes('erlebe-kraft-gemeinschaft-live')) {\n console.info('ADS DISABLED for /erlebe-kraft-gemeinschaft-live');\n return of(true);\n }\n if (this.router.url.includes('gemeinsamfuerdensport')) {\n console.info('ADS DISABLED for /gemeinsamfuerdensport');\n return of(true);\n }\n if (this.router.url.includes('trikotkonfigurator')) {\n console.info('ADS DISABLED for /trikotkonfigurator');\n return of(true);\n }\n\n if (this.router.url.includes('handball-wm-2021-uebertragung')) {\n console.info('ADS DISABLED for /handball-wm-2021-uebertragung');\n return of(true);\n }\n if (this.router.url.includes('handball-wm-2021-tickets')) {\n console.info('ADS DISABLED for /handball-wm-2021-tickets ');\n return of(true);\n }\n if (this.router.url.includes('weihnachtsaktion-handball-wm')) {\n console.info('ADS DISABLED for /weihnachtsaktion-handball-wm');\n return of(true);\n }\n if (this.router.url.includes('/thw-kiel')) {\n console.info('ADS DISABLED for /thw-kiel');\n return of(true);\n }\n if (document.cookie.includes('sdtv_no_ads=true')) {\n return of(true);\n }\n if (environment.ads.useAds === false) {\n return of(true);\n }\n return this.auth.adsDisabledForUser();\n }\n\n private getSomChannelsForAsset(asset: Asset): string[] {\n const channels = [];\n asset.tags.forEach((tag: Tag) => {\n tag.values.forEach(value => {\n let channel = tag.callname + '_' + value;\n channel = channel\n .toString()\n .toLowerCase()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/[^\\w\\-]+/g, '') // Remove all non-word chars\n .replace(/\\-\\-+/g, '-') // Replace multiple - with single -\n .replace(/^-+/, '') // Trim - from start of text\n .replace(/-+$/, ''); // Trim - from end of text\n channels.push(channel);\n });\n });\n if (asset.contents_freely_accessible === false) {\n channels.push('paid_yes');\n } else {\n channels.push('paid_no');\n }\n return channels;\n }\n\n private addDefaultAppChannels(channels: string[]): string[] {\n switch (environment.appName) {\n case AppName.handball:\n channels.push('handball');\n break;\n case AppName.turn:\n channels.push('turn');\n break;\n case AppName.tischtennis:\n channels.push('tischtennis');\n break;\n case AppName.auto:\n channels.push('autodeutschlandtv');\n break;\n }\n return channels;\n }\n\n /**\n * used for display ads\n * @param section\n */\n private getSomChannelFromSection(section?: Section): string[] {\n const channels = this.addDefaultAppChannels([]);\n if (!section) {\n return channels;\n }\n\n // special case for hbl-2 \"Kanal\"\n if (environment.appName === AppName.handball || environment.appName === AppName.sportdeutschland) {\n const kanal = section.tag_filters.find((value: Tag, index: number) => {\n return value.callname === 'bereich';\n });\n if (kanal && kanal.values.includes('2. HBL')) {\n if (!channels.includes('handball')) {\n channels.push('handball');\n }\n channels.push('hbl-2');\n return channels;\n }\n if (kanal && kanal.values.includes('DHB-Pokal')) {\n channels.push('dhb-pokal');\n return channels;\n }\n }\n channels.push(this.getDefaultChannelForSection(section));\n return channels;\n }\n\n private getDefaultChannelForSection(sec: Section): string {\n if (!sec.tag_filters) {\n return sec.permalink;\n }\n const sportart = sec.tag_filters.find((value: Tag) => {\n return value.callname === 'sportart';\n });\n\n if (sportart && sportart.values && sportart.values[0]) {\n return sportart.values[0].toLowerCase();\n }\n return sec.permalink;\n }\n\n /**\n * only used for display ads\n * @param page\n */\n private getSomChannelFromPage(page?: Page): string[] {\n const channels = this.addDefaultAppChannels([]);\n if (page.permalink) {\n // workaround for https://7sports.atlassian.net/browse/SD-287\n if (page.permalink === 'handball-wm-maenner-2021') {\n channels.push('handball', 'handball-wm-maenner-2021');\n } else if (page.permalink === 'barmer-2-basketball-bundesliga') {\n channels.push('basketball');\n channels.push('barmer-2');\n } else if (page.permalink === 'handball-em-maenner-2020' && environment.appName !== AppName.handball) {\n channels.push('handball');\n } else if (page.permalink === 'handball-wm-frauen-2019') {\n channels.push('handball');\n } else if (page.permalink === 'handball-em-maenner-2020') {\n channels.push('em-maenner');\n } else {\n channels.push(page.permalink);\n }\n } else {\n channels.push('other');\n }\n return channels;\n }\n\n private slotAllowedForCurrentDevice(\n slot:\n | 'fullbanner2'\n | 'skyscraper1'\n | 'rectangle1'\n | 'mbanner1'\n | 'mbanner2'\n | 'inread1'\n | 'minread1'\n | 'performanceRectangle1'\n | 'promo2'\n | 'promo3'\n | 'promo4'\n | 'promo5'\n ): boolean {\n if (window.innerWidth <= this.deviceBreakpoint) {\n // mobile\n switch (slot) {\n case 'fullbanner2':\n case 'skyscraper1':\n return false;\n }\n } else {\n // desktop\n switch (slot) {\n case 'mbanner1':\n case 'mbanner2':\n return false;\n }\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { interval } from 'rxjs';\nimport { Action, ObjectType, Teaser, UserEvent } from '../entities/user-event.entity';\nimport { Playlist } from '../entities/playlist.entity';\nimport { Section } from '../entities/section.entity';\nimport { RawAssetFromApi } from '../entities/raw-asset-from-api.entity';\nimport { Page } from '../entities/page.entity';\nimport * as Fingerprint2 from 'fingerprintjs2';\nimport { AuthenticationService } from './api/methods/authentication.service';\nimport { EmbeddedModeService } from './embedded-mode.service';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { ApiUserProfileService } from './api/methods/api-user-profile.service';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { filter, switchMap, tap } from 'rxjs/operators';\nimport { environment } from '../environments/environment';\nimport { AssetsService } from './api/methods/assets.service';\n\n@Injectable()\nexport class UserProfileService {\n public delayHoverEvents = 400;\n\n private timer: Observable;\n private user_uuid: string;\n private device_id: string;\n private device_type: string;\n private os: string;\n private country: string | null;\n private source: 'web' | 'app';\n\n constructor(\n protected embeddedModeService: EmbeddedModeService,\n protected userProfileApiService: ApiUserProfileService,\n public auth: AuthenticationService,\n private storageService: StorageMap,\n private assetsService: AssetsService,\n private deviceService: DeviceDetectorService\n ) {}\n\n /**\n * Track a user Event\n * @param objectType\n * @param action\n * @param object\n * @param extras\n * @param custom\n */\n public trackEvent(\n objectType: ObjectType,\n action: Action,\n object: RawAssetFromApi | Playlist | Section | Page | Teaser | any,\n extras?: {\n position?: number;\n total_view_time?: number;\n ads?: boolean;\n full_screen?: boolean;\n },\n custom?: JSON\n ): void {\n if (!environment.tracking.trackUserEvents) {\n return;\n }\n const event: UserEvent = {\n object_type: objectType,\n action: action,\n object_id: this.getUuid(object, objectType),\n object: this.reduceObject(object, objectType),\n\n user_id: this.user_uuid,\n device_id: this.device_id,\n device_type: this.device_type,\n os: this.os,\n country: this.country,\n source: this.source,\n ads: extras ? extras.ads : null,\n position: extras ? extras.position : null,\n total_view_time: extras ? extras.total_view_time : null,\n full_screen: extras ? extras.full_screen : null,\n\n timestamp: +new Date(),\n\n url: window.location.href,\n custom: custom\n };\n this.addEvent(event);\n }\n\n public init() {\n if (this.timer !== undefined || !environment.tracking.trackUserEvents) {\n return;\n }\n\n if (window.hasOwnProperty('requestIdleCallback')) {\n // @ts-ignore\n window.requestIdleCallback(() => {\n this.calculateDeviceHash();\n });\n } else {\n setTimeout(() => {\n this.calculateDeviceHash();\n }, 2000);\n }\n\n this.auth.me().subscribe(\n me => {\n if (me.uuid) {\n this.user_uuid = me.uuid;\n }\n },\n () => {}\n );\n\n const deviceInfo = this.deviceService.getDeviceInfo();\n\n this.device_type = deviceInfo.device;\n this.os = deviceInfo.os;\n\n this.auth.getCountryCode().subscribe((res: { country: string | null }) => {\n this.country = res.country;\n });\n\n this.embeddedModeService.embedded.subscribe((embedded: boolean) => {\n if (embedded) {\n this.source = 'app';\n } else {\n this.source = 'web';\n }\n });\n this.timer = interval(5000);\n this.timer.subscribe(this.checkAndSendEvents.bind(this));\n }\n\n private getUuid(object: RawAssetFromApi | Playlist | Section | Page | any, objectType: ObjectType) {\n switch (objectType) {\n case ObjectType.live_event:\n return object.asset_uuid;\n case ObjectType.account:\n case ObjectType.asset:\n case ObjectType.section:\n case ObjectType.playlist:\n return object.uuid;\n default:\n if (object.hasOwnProperty('uuid')) {\n return object.uuid;\n }\n return null;\n }\n }\n\n private reduceObject(object: RawAssetFromApi | any, objectType: ObjectType) {\n let reduced;\n if (objectType === ObjectType.asset) {\n reduced = {\n uuid: object.uuid,\n tags: object.tags,\n title: object.label,\n duration: object.duration,\n body: object.description,\n id: object.uuid,\n contents_freely_accessible: object.contents_freely_accessible,\n section: object.section,\n version_number: object.version_number,\n date: object.published_at,\n seconds: object.seconds,\n flags: object.flags,\n live_at: object.live_at,\n live: object.live\n };\n } else {\n reduced = object;\n }\n return JSON.parse(JSON.stringify(reduced));\n }\n\n private addEvent(event: UserEvent) {\n this.storageService\n .get('user-events')\n .pipe(\n switchMap((response: { value: UserEvent[] | undefined }) => {\n let events = [];\n if (response && response.value) {\n events = response.value;\n }\n events.push(event);\n return this.storageService.set('user-events', events);\n })\n )\n .subscribe(() => {});\n }\n\n private checkAndSendEvents() {\n if (!this.fixedDataCalculated()) {\n return;\n }\n\n this.storageService\n .get('user-events')\n .pipe(\n filter((events: UserEvent[]) => events && events.length > 0),\n switchMap((events: UserEvent[]) => {\n return this.userProfileApiService.sendEvents(events);\n }),\n switchMap(() => {\n return this.storageService.set('user-events', []);\n })\n )\n .subscribe(() => {});\n }\n\n private fixedDataCalculated(): boolean {\n if (this.device_id === undefined) {\n return false;\n }\n if (this.country === undefined) {\n return false;\n }\n if (this.device_type === undefined) {\n return false;\n }\n\n if (this.os === undefined) {\n return false;\n }\n\n return true;\n }\n\n private calculateDeviceHash(): void {\n Fingerprint2.get({}, (components: { key: any; value: any }[]) => {\n const values = components.map(component => component.value);\n const hash = Fingerprint2.x64hash128(values.join(''), 31);\n this.device_id = hash;\n\n this.storageService\n .get('device_id')\n .pipe(\n tap((old: string | undefined) => {\n if (old !== hash || !old) {\n this.trackEvent(ObjectType.device_id, Action.update, { old: old, new: hash });\n }\n }),\n switchMap(() => this.storageService.set('device_id', hash))\n )\n .subscribe(() => {});\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AlertNotificationsService } from './alert-notifications.service';\nimport { environment } from '../environments/environment';\nimport { Router, RouterEvent } from '@angular/router';\nimport { timer } from 'rxjs/internal/observable/timer';\n\ndeclare const COMMIT_REF: string;\n\n@Injectable()\nexport class VersionCheckService {\n private currentHash: string;\n\n private url = `${window.location.protocol}//${window.location.host}/version_check`;\n private updateHandled = false;\n\n constructor(private http: HttpClient, private alertService: AlertNotificationsService, private router: Router) {\n this.currentHash = COMMIT_REF;\n }\n\n // default refresh every 5 minutes\n public initVersionCheck(frequency = 1000 * 60) {\n this.currentHash = COMMIT_REF;\n\n const source = timer(frequency, frequency);\n\n const subscribe = source.subscribe(val => {\n this.checkVersion();\n });\n }\n\n private checkVersion() {\n if (environment.envName === 'local' || this.updateHandled === true) {\n return;\n }\n\n // timestamp these requests to invalidate caches\n this.http\n .get<{\n version: string;\n version_update_method: 'notice' | 'none' | 'next_route' | 'force';\n }>(this.url + '?t=' + new Date().getTime())\n .subscribe(\n response => {\n const hashChanged = this.currentHash !== response.version;\n\n const version_update_method = response.version_update_method;\n\n // If new version, do something\n if (hashChanged === true) {\n this.updateHandled = true;\n switch (version_update_method) {\n case 'force':\n window.location.reload();\n break;\n\n case 'none':\n return;\n case 'notice':\n this.alertService.warn(\n 'Es steht eine neue Version der Seite zur Verfügung. Bitte aktualisiere die Seite.',\n true,\n 'Seite neu laden',\n () => {\n window.location.reload();\n }\n );\n break;\n case 'next_route':\n default:\n this.router.events.subscribe((routerEvent: RouterEvent) => {\n window.location.reload();\n });\n\n break;\n }\n }\n },\n e => {}\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { WebsocketMessage } from '../entities/websocket-message.entity';\nimport { Asset } from '../entities/asset.entity';\nimport { of } from 'rxjs';\n\n@Injectable()\nexport class WebsocketService {\n public currentRooms = [];\n\n public join(room: string): Observable {\n return;\n /*this.currentRooms.push(room);\n return this.socket.emit('join-room', {room: room}, () => {\n console.log('joined room', room);\n });*/\n }\n\n public leave(room: string): Observable {\n return;\n /*if (this.currentRooms.includes(room)) {\n const idx = this.currentRooms.findIndex((elem) => elem === room);\n this.currentRooms.splice(idx, 1);\n }\n return this.socket.emit('leave-room', {room: room}, () => {\n console.log('left room', room);\n });*/\n }\n\n // todo add a better subscription process\n public viewers(asset: Asset): Observable<{ room: string; amount: number }> {\n return of({ room: 'asset-uuid', amount: 0 });\n /*return this.socket\n .fromEvent('viewers')\n .pipe(\n filter((event: {room: string, amount: number}) => event.room === 'asset-' + asset.uuid)\n );*/\n }\n\n public connect() {\n return false;\n /*// todo better handling of disconnections\n this.socket.connect();\n this.socket.on('reconnect', () => {\n console.warn('socket reconnected');\n this.enterRooms();\n });*/\n }\n\n private enterRooms() {\n return;\n this.currentRooms.map(room => this.join(room));\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/sportdeutschland/$$_lazy_route_resource lazy recursive\";","import {NgModule} from '@angular/core';\nimport {Router, RouterModule, Routes} from '@angular/router';\nimport {SyndicationPlayerComponent} from '../../common/components/pages/embedded/syndication-player/syndication-player.component';\nimport {SomtagService} from '../../common/services/somtag.service';\n// tslint:disable-next-line:max-line-length\n\nconst routes: Routes = [\n\n {path: 'sp/:playerId', component: SyndicationPlayerComponent},\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, {\n initialNavigation: true,\n enableTracing: false, // !environment.production,\n onSameUrlNavigation: 'reload'\n })\n ],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n constructor(protected router: Router, protected somtagService: SomtagService) {\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { AppComponent } from '../../common/components/app.component';\nimport { AppCommonModule } from '../../common/app-common.module';\nimport { AppRoutingModule } from './app-routing.module';\nimport { SporttypesPageComponent } from './components/pages/sporttypes-page/sporttypes-page.component';\nimport { ChannelsPageComponent } from './components/pages/channels-page/channels-page.component';\n\n@NgModule({\n declarations: [SporttypesPageComponent, ChannelsPageComponent],\n imports: [AppRoutingModule, AppCommonModule],\n bootstrap: [AppComponent]\n})\nexport class AppModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { SectionsService } from '../../../../../common/services/api/methods/sections.service';\nimport { Section } from '../../../../../common/entities/section.entity';\nimport { AnalyticsService } from '../../../../../common/services/analytics.service';\nimport { AgofService } from '../../../../../common/services/agof.service';\nimport { AgofEnum } from '../../../../../common/enum/agof.enum';\nimport { SomtagService } from '../../../../../common/services/somtag.service';\nimport { map } from 'rxjs/operators';\nimport { Tag } from '../../../../../common/entities/tag.entity';\n\n@Component({\n selector: 'app-channels-page',\n templateUrl: './channels-page.component.html'\n})\nexport class ChannelsPageComponent implements OnInit {\n public sections: Section[];\n\n constructor(\n private sectionsService: SectionsService,\n private analyticsService: AnalyticsService,\n private agofService: AgofService,\n private somtagService: SomtagService\n ) {\n this.somtagService.setDisplayAdChannelsFromString('kanaele');\n sectionsService\n .getSections()\n .pipe(\n map((sections: Section[]) => {\n return sections.sort((a, b) => {\n if (a.title > b.title) {\n return 1;\n }\n if (a.title < b.title) {\n return -1;\n }\n\n return 0;\n });\n })\n )\n .subscribe((sections: Section[]) => {\n this.sections = sections.filter(section => {\n return (\n section.tag_filters.findIndex((tag: Tag) => {\n return tag.callname === 'bereich';\n }) > -1\n );\n });\n });\n }\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: '/kanaele/',\n survey: true\n }\n }\n });\n window['prerenderReady'] = true;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { SectionsService } from '../../../../../common/services/api/methods/sections.service';\nimport { Section } from '../../../../../common/entities/section.entity';\nimport { AgofEnum } from '../../../../../common/enum/agof.enum';\nimport { AnalyticsService } from '../../../../../common/services/analytics.service';\nimport { AgofService } from '../../../../../common/services/agof.service';\nimport { SomtagService } from '../../../../../common/services/somtag.service';\nimport { map } from 'rxjs/operators';\nimport { Tag } from '../../../../../common/entities/tag.entity';\n\n@Component({\n selector: 'app-sporttypes-page',\n templateUrl: './sporttypes-page.component.html'\n})\nexport class SporttypesPageComponent implements OnInit {\n public sections: Section[];\n\n constructor(\n private sectionsService: SectionsService,\n private analyticsService: AnalyticsService,\n private agofService: AgofService,\n private somtagService: SomtagService\n ) {\n this.somtagService.setDisplayAdChannelsFromString('sportarten');\n\n sectionsService\n .getSections()\n .pipe(\n map((sections: Section[]) => {\n return sections.sort((a, b) => {\n if (a.title > b.title) {\n return 1;\n }\n if (a.title < b.title) {\n return -1;\n }\n\n return 0;\n });\n })\n )\n .subscribe((sections: Section[]) => {\n this.sections = sections.filter(section => {\n return (\n section.tag_filters.findIndex((tag: Tag) => {\n return tag.callname === 'sportart';\n }) > -1\n );\n });\n });\n }\n\n public ngOnInit(): void {\n this.analyticsService.trackPageview();\n\n this.analyticsService.trackEvent('AGOF_IMPRESSION', {\n category: 'AGOF_IMPRESSION',\n event: 'AGOF_IMPRESSION',\n gtmCustom: {\n agof: {\n cpFirstPart: this.agofService.createCategoryCode(\n AgofEnum.LANGUAGE_GERMAN,\n AgofEnum.CONTENT_TYPE_IMAGE_TEXT,\n AgofEnum.CONTENT_CREATOR_EDITOR,\n AgofEnum.HOMEPAGE_NO,\n AgofEnum.DISTRIBUTION_ONLINE,\n AgofEnum.DEVICE_NO_APP,\n AgofEnum.PAID_NO,\n AgofEnum.CONTENT_TOPIC_Sports\n ),\n cpChannel: AgofEnum.CHANNEL_DEFAULT,\n coSecondPart: '/sportarten/',\n survey: true\n }\n }\n });\n window['prerenderReady'] = true;\n }\n}\n","import { enableProdMode } from '@angular/core';\n\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from '../common/environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .then(() => {\n window['SILVERMINE_VIDEOJS_CHROMECAST_CONFIG'] = {\n preloadWebComponents: true\n };\n })\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}