import { RequestCluster } from '../../request-cluster'; import deduceProblems from './deduce-problems'; import { Explainers } from './explainers'; import { ParsedAnswers } from './parse-answers'; import { v } from './verbs'; import './email-content.scss'; import { Fragment, useState } from 'react'; import emailIntro from './email-intro'; import { reportIntro } from './report-intro'; import { downloadText } from '../../util'; import { getFakeClusterData } from './fake-clusters'; const SS_URL = 'http://65.108.60.135:3000'; export default function EmailContent({ answers, visited_url, clusters, scrRequestPath, downloadFiles, user_role, }: { answers: ParsedAnswers; visited_url: string; clusters: Record; scrRequestPath: string; downloadFiles: Function; user_role: string; }) { const _ = (key: string) => v(key, answers.zaimek); const problems = deduceProblems(answers, clusters); const explainers = Array.from( new Set( problems .map((problem) => problem.getNecessaryExplainers()) .reduce((a, b) => a.concat(b), []) ) ).map((explainer_key) => Explainers[explainer_key]); const [copied, setCopy] = useState(false); function copyTextToClipboard() { // Should be changed in the future to Clipboard API (https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/write#browser_compatibility) let r = document.createRange(); const container = document.querySelector('.mail-container__content'); if (!container) return; r.selectNode(container); window.getSelection()?.addRange(r); document.execCommand('copy'); window.getSelection()?.removeAllRanges(); setCopy(true); } const mode = answers.user_role === 'user' ? 'email' : 'report'; const email_tone = answers.email_type === 'polite_information' ? 'polite' : 'official'; return (

Treść {mode === 'email' ? 'maila' : 'raportu'}

{mode === 'email' ? emailIntro(email_tone, _, visited_url) : reportIntro(visited_url)} {problems.map((problem, index) => { const Component = problem.getEmailContent.bind(problem); return ; })} {explainers.map((explainer) => explainer(answers.zaimek))}

Państwa rola jako współadministratora danych osobowych

{mode == 'email' ? (

{_('Zwracam')} Państwa uwagę na fakt, że w myśl{' '} treści wyroku TSUE w sprawie C-40/17 {' '} poprzez wysyłanie moich danych w wyżej opisanym zakresie stają się Państwo współadministratorem {_('moich')} danych osobowych, nawet jeżeli nie są Państwo bezpośrednimi autorami osadzonych na Państwa stronie skryptów czy innych zasobów ujawniających dane użytkowników Państwa strony podmiotom trzecim. Dlatego ciąży na Państwu obowiązek odpowiedzi na {_('moje')} pytania na mocy Art. 12 i 13 Rozporządzenia 2016/679 Parlamentu Europejskiego i Rady (UE) z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (ogólne rozporządzenie o ochronie danych) – RODO

) : (

W myśl{' '} treści wyroku TSUE w sprawie C-40/17 , ponoszą Państwo współodpowiedzialność za skrypty i inne zasoby ujawniajace dane osobowe na Państwa stronie, nawet jeżeli nie są Państwo ich bezpośrednimi autorami.

)}
{scrRequestPath ? ( ) : null}
{copied && user_role === 'user' ? (
Przed Tobą ostatni krok! 😊

Przejdź do swojego klienta pocztowego , załącz zrzuty ekranów, wklej treść wiadomości i wyślij ją do administratorów witryny {visited_url.split('/').slice(0, 3).join('/')}.

) : null}
downloadText( 'diag.json', JSON.stringify({ answers, fake_clusters_data: getFakeClusterData(clusters), visited_url, }) ) } > Pobierz plik diagnostyczny
); }