Fix react warnings

Closes #55
This commit is contained in:
Kuba Orlik 2022-07-09 16:52:29 +02:00
parent 8a93cf5463
commit 4a030e47c3
7 changed files with 19 additions and 15 deletions

View File

@ -25,7 +25,6 @@ export default function EmailContent({
downloadFiles: Function; downloadFiles: Function;
user_role: string; user_role: string;
}) { }) {
console.log('rendering email!', answers);
const _ = (key: string) => v(key, answers.zaimek); const _ = (key: string) => v(key, answers.zaimek);
const problems = deduceProblems(answers, clusters); const problems = deduceProblems(answers, clusters);
const explainers = Array.from( const explainers = Array.from(
@ -64,7 +63,9 @@ export default function EmailContent({
{mode === 'email' {mode === 'email'
? emailIntro(email_tone, _, visited_url) ? emailIntro(email_tone, _, visited_url)
: reportIntro(visited_url)} : reportIntro(visited_url)}
{problems.map((problem) => problem.getEmailContent(mode, email_tone))} {problems.map((problem, index) => (
<problem.getEmailContent mode={mode} tone={email_tone} key={index} />
))}
{explainers.map((explainer) => explainer(answers.zaimek))} {explainers.map((explainer) => explainer(answers.zaimek))}
<h2>Państwa rola jako współadministratora danych osobowych</h2> <h2>Państwa rola jako współadministratora danych osobowych</h2>
{mode == 'email' ? ( {mode == 'email' ? (

View File

@ -6,7 +6,7 @@ export default class NoInformationAtAllProblem extends Problem {
qualifies() { qualifies() {
return this.answers.popup_type === 'none'; return this.answers.popup_type === 'none';
} }
getEmailContent(mode: 'email' | 'report', tone: 'official' | 'polite') { getEmailContent({ mode, tone }: { mode: 'email' | 'report'; tone: 'official' | 'polite' }) {
const _ = (word: string) => v(word, this.answers.zaimek); const _ = (word: string) => v(word, this.answers.zaimek);
return ( return (
<> <>

View File

@ -16,7 +16,10 @@ function formatRange(cluster: RequestCluster) {
export abstract class Problem { export abstract class Problem {
constructor(public answers: ParsedAnswers, public clusters: Record<string, RequestCluster>) {} constructor(public answers: ParsedAnswers, public clusters: Record<string, RequestCluster>) {}
abstract getEmailContent(mode: 'email' | 'report', tone: 'polite' | 'official'): JSX.Element; abstract getEmailContent(props: {
mode: 'email' | 'report';
tone: 'polite' | 'official';
}): JSX.Element;
abstract getNecessaryExplainers(): ExplainerKey[]; abstract getNecessaryExplainers(): ExplainerKey[];
abstract qualifies(): boolean; abstract qualifies(): boolean;

View File

@ -20,7 +20,7 @@ export class TransferOutsideEU extends Problem {
.map(([id]) => this.clusters[id]); .map(([id]) => this.clusters[id]);
} }
getEmailContent(mode: 'email' | 'report') { getEmailContent({ mode }: { mode: 'email' | 'report'; tone: 'official' | 'polite' }) {
const clusters = this.getRelatedClusters(); const clusters = this.getRelatedClusters();
const _ = (key: string) => v(key, this.answers.zaimek); const _ = (key: string) => v(key, this.answers.zaimek);
return ( return (

View File

@ -1,6 +1,4 @@
import { RequestCluster } from '../../../request-cluster';
import { ExplainerKey } from '../explainers'; import { ExplainerKey } from '../explainers';
import { ParsedHostAnswers } from '../parse-answers';
import { v } from '../verbs'; import { v } from '../verbs';
import { Problem } from './problem'; import { Problem } from './problem';
@ -13,7 +11,7 @@ export class UnknownIdentity extends Problem {
return this.answers.administrator_identity_available_before_choice == 'no'; return this.answers.administrator_identity_available_before_choice == 'no';
} }
getEmailContent(mode: 'email' | 'report', tone: 'polite' | 'official') { getEmailContent({ mode, tone }: { mode: 'email' | 'report'; tone: 'official' | 'polite' }) {
const _ = (key: string) => v(key, this.answers.zaimek); const _ = (key: string) => v(key, this.answers.zaimek);
return ( return (
<> <>

View File

@ -36,7 +36,7 @@ export class UnknownLegalBasis extends Problem {
); );
} }
getEmailContent(mode: 'email' | 'report', tone: 'polite' | 'official') { getEmailContent({ mode, tone }: { mode: 'email' | 'report'; tone: 'official' | 'polite' }) {
const clusters = this.getRelatedClusters(); const clusters = this.getRelatedClusters();
const _ = (key: string) => v(key, this.answers.zaimek); const _ = (key: string) => v(key, this.answers.zaimek);
return ( return (

View File

@ -23,7 +23,7 @@ export class UnlawfulCookieAccess extends Problem {
}); });
} }
getEmailContent(mode: 'email' | 'report', tone: 'official' | 'polite') { getEmailContent({ mode, tone }: { mode: 'email' | 'report'; tone: 'official' | 'polite' }) {
const cookie_clusters = Object.values(this.clusters).filter((c) => c.hasMarkedCookies()); const cookie_clusters = Object.values(this.clusters).filter((c) => c.hasMarkedCookies());
const unnecessary_hosts = Object.entries(this.answers.hosts) const unnecessary_hosts = Object.entries(this.answers.hosts)
.filter(([, answers]) => answers.was_processing_necessary === 'no') .filter(([, answers]) => answers.was_processing_necessary === 'no')
@ -245,10 +245,12 @@ export class UnlawfulCookieAccess extends Problem {
</p> </p>
) )
) : ( ) : (
<p> <>
Jeżeli zgoda nadal ma być używana jako podstawa prawna do odczytu cookiesów <p>
przez skrypty wyżej wymienionych podmiotów, to należy zmienić mechanizm Jeżeli zgoda nadal ma być używana jako podstawa prawna do odczytu plików
zgody tak, aby:{' '} cookies przez skrypty wyżej wymienionych podmiotów, to należy zmienić
mechanizm zgody tak, aby:{' '}
</p>{' '}
<ul> <ul>
<li> <li>
dawał użytkownikowi końcowemu możliwość odmowy zgody w sposób równie dawał użytkownikowi końcowemu możliwość odmowy zgody w sposób równie
@ -262,7 +264,7 @@ export class UnlawfulCookieAccess extends Problem {
na nie zgody. na nie zgody.
</li> </li>
</ul> </ul>
</p> </>
)} )}
{maybe_unnecessary_hosts.length > 1 && mode == 'email' && tone == 'official' ? ( {maybe_unnecessary_hosts.length > 1 && mode == 'email' && tone == 'official' ? (
<p> <p>