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> <p>
Jeżeli zgoda nadal ma być używana jako podstawa prawna do odczytu cookiesów Jeżeli zgoda nadal ma być używana jako podstawa prawna do odczytu plików
przez skrypty wyżej wymienionych podmiotów, to należy zmienić mechanizm cookies przez skrypty wyżej wymienionych podmiotów, to należy zmienić
zgody tak, aby:{' '} 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>