Tapahtui veden äärellä
Yle Areena
Michael Marcimain ohjasi Kerstin Ekmanin romaanista kuusiosaisen ruotsalaissarjan, jossa ahdistus kouristaa kurkkua myös suomalaisille maalaisdraamoille tuttuun tapaan. Jopa koko tarinan leikkaavana tragediana tulee vastaan tapaus, joka muistuttaa Bodomin järven surullisen kuuluisia murhia.
Juhannusaattona 1973 tukholmalainen opettaja Annie Raft saapuu pienen tyttärensä kanssa jämtlantilaiseen pikkukylään.
Tutustu, voit peruuttaa tilauksen koska tahansa.
{ if (window.LorienDispatch) { const payload = { structuredEvent: { eventCategory: ’Funnel Tracking’, eventAction: action, }, }; if (typeof cb === ’function’) { // Never wait longer than CALLBACK_MAX_WAIT setTimeout(() => { cb(); }, CALLBACK_MAX_WAIT); payload.eventTimeout = CALLBACK_EVENT_TIMEOUT; payload.eventCallback = cb; } window.LorienDispatch.dispatchEvent(’loginWallEvent’, payload); } else if (typeof cb === ’function’) { cb(); } }; const trackLoginWallClick = (elem, action) => { elem.addEventListener(’click’, function (event) { event.preventDefault(); const url = event.currentTarget.href; const callbackToRedirectUser = () => { setTimeout(() => { window.location.href = url; }, CALLBACK_DELAY); }; trackLoginPaywallEvent(action, callbackToRedirectUser); }); }; const loginRequiredPaywall = (options) => { const trxId = KalevaPaywallUtils.generateTransactionId(); const pwCreateLink = document.querySelector(’.js-create-account-link’); const pwLoginLink = document.querySelector(’.js-login-link’); const createLinkUrlParams = KalevaPaywallUtils.getLoginwallUrlParams( options.channel, ’login-paywall-signup’, trxId, ); if (pwCreateLink.href.includes(’luotunnus’)) { pwCreateLink.href = pwCreateLink.href + createLinkUrlParams; } else { const newParams = createLinkUrlParams.replace( ’next=’, ’content_url=’ + encodeURIComponent(window.location.origin), ); const hasParams = pwCreateLink.href.includes(’?’); pwCreateLink.href = pwCreateLink.href + (hasParams ? newParams : newParams.replace(’&’, ’?’)); } const loginLinkUrl = pwLoginLink.href + KalevaPaywallUtils.getLoginwallUrlParams(options.channel, ’login-paywall-logins’, trxId); pwLoginLink.href = loginLinkUrl; window.dataLayer.push({ logintxid: trxId, }); trackLoginPaywallEvent(’Login Walled Page Landed’); trackLoginWallClick(pwCreateLink, ’Signup link clicked’); trackLoginWallClick(pwLoginLink, ’Login link clicked’); }; window.login_html_utils = { loginRequiredPaywall, }; })(); function initLoginwall() { !isProd && console.log(’initLoginwall’); // old implementation window.login_html_utils.loginRequiredPaywall({ channel: window.digitalData.channel.title, }); // new zephr stuff const darkTheme = [’body.videosite’, ’body.gallery’, ’.article.-rich’].some((cls) => document.querySelector(cls)); document.querySelector(’.paywall__cta’).classList.add(’km-button-rounded’); document.querySelector(’.paywall__cta’).classList.add(’km-button-rounded__brown’); document.querySelector(’.js-login-link’).classList.add(’no-link-styles’); document.querySelector(’.js-login-link’).classList.add(’km-button-rounded’); document .querySelector(’.js-login-link’) .classList.add(darkTheme ? ’km-button-rounded__black-outlined’ : ’km-button-rounded__white-outlined’); document.querySelector(’.paywall-css-container’).classList.add(darkTheme ? ’-theme-dark’ : ’-theme-normal’); if (darkTheme) { document.querySelector(’.article.-rich’)?.classList.add(’-with-paywall-dark’); } } ]]> { ctaLink.href = KalevaPaywallUtils.setUrlParameter(ctaLink.href, key, value); }); const currentUrlWithKvatxid = KalevaPaywallUtils.setUrlParameter(document.location.href, ’kvatxid’, kvatxid); ctaLink.href = KalevaPaywallUtils.setUrlParameter(ctaLink.href, ’kvatxid’, kvatxid); ctaLink.href = KalevaPaywallUtils.setUrlParameter(ctaLink.href, ’content_url’, currentUrlWithKvatxid); const loginLink = document.querySelector(’a.js-login-link’); if (loginLink) { loginLink.href = KalevaPaywallUtils.setUrlParameter(loginLink.href, ’next’, currentUrlWithKvatxid); } // KalevaPaywallContent.bindListeners(); const parentFrameLinks = document.querySelectorAll(’a.js-parent-frame-link’); Array.prototype.forEach.call(parentFrameLinks, function (element) { element.addEventListener(’click’, function (e) { e.preventDefault(); if (e.target.className.indexOf(’js-cta-link’) > -1) { window.dataLayer.push({ event: ’Paywall CTA click’, }); setTimeout(function () { document.location.href = e.target.getAttribute(’href’); }, 100); } else { document.location.href = e.target.getAttribute(’href’); } }); }); } ]]> t.trim()) .filter(Boolean) .forEach((benefit) => { container.innerHTML += ` ${benefit} ]]>
Lähde