Files
beh-rde-brief/src/screens/ConsentScreen.tsx
T
JUSNandClaude Opus 5.5 0571fc01eb App-Design wie die Webseite: Papier, Tinte, Amtsblau, Textmarker, Georgia
- theme.ts nimmt die Werte der Webseite (--papier, --tinte, --amtsblau,
  --marker, --stempelrot) statt Gold/Bronze; neue Bausteine schriftart
  (Georgia / Courier), ecke, kartenSchatten, formularRahmen, etikett
- alle Texte in Georgia, Versal-Etiketten in Schreibmaschinenschrift (grau
  wie "BETREFF"), Karten als Papierblaetter mit feiner Linie + flachem Schatten
- Knoepfe wie .cta: Amtsblau bzw. weisses Blatt, Tinten-Rahmen, harter
  Versatz-Schatten, beim Druecken rutscht der Knopf in den Schatten
- Startseite: Briefkopf "BehoerdenKlar by Webklar" mit Tinten-Linie,
  Textmarker auf "Fristen", dringendste Frist als Formular
- Tab-Leiste: Papier mit Tinten-Linie, Scan-Knopf mit hartem Schatten

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 19:27:02 +02:00

78 lines
2.7 KiB
TypeScript

/**
* Datenschutz-Einwilligung — MUSS vor dem ersten Scan bestätigt werden.
* Erklärt klar, dass der Briefinhalt zur KI-Analyse gesendet wird.
*/
import React from 'react';
import { ScrollView, StyleSheet, Text, View } from 'react-native';
import { NativeStackScreenProps } from '@react-navigation/native-stack';
import { RootStackParamList } from '../types';
import { speichereConsent } from '../services/storage';
import { GrossButton } from '../components/GrossButton';
import { farben, schrift, abstand, schriftart, ecke, kartenSchatten } from '../theme';
type Props = NativeStackScreenProps<RootStackParamList, 'Consent'>;
export function ConsentScreen({ navigation }: Props) {
const einverstanden = async () => {
await speichereConsent();
navigation.replace('Scan');
};
return (
<ScrollView style={styles.container} contentContainerStyle={styles.inhalt}>
<Text style={styles.titel}>Bevor es losgeht</Text>
<View style={styles.karte}>
<Text style={styles.punkt}>
📤 Wenn Sie einen Brief scannen, wird das Foto zur Analyse an den
KI-Dienst von Anthropic (USA) gesendet.
</Text>
<Text style={styles.punkt}>
🔒 Behördenbriefe enthalten sehr persönliche Daten (Name, Adresse,
Aktenzeichen, finanzielle Angaben). Senden Sie nur Briefe, deren
Analyse Sie wirklich möchten.
</Text>
<Text style={styles.punkt}>
📱 Die Analyse-Ergebnisse werden nur auf Ihrem Gerät gespeichert —
nicht auf unseren Servern.
</Text>
<Text style={styles.punkt}>
🗑️ Sie können in den Einstellungen jederzeit alle Daten vollständig
löschen.
</Text>
<Text style={styles.punkt}>
⚖️ Die App gibt keine Rechtsberatung. Bei wichtigen Entscheidungen
(z. B. Widerspruch) fragen Sie eine Beratungsstelle oder einen Anwalt.
</Text>
</View>
<GrossButton titel="Ich bin einverstanden" onPress={einverstanden} />
<View style={{ height: abstand.s }} />
<GrossButton
titel="Abbrechen"
variante="sekundaer"
onPress={() => navigation.goBack()}
/>
</ScrollView>
);
}
const styles = StyleSheet.create({
container: { flex: 1, backgroundColor: farben.hintergrund },
inhalt: { padding: abstand.l },
titel: { fontFamily: schriftart.serif,
fontSize: schrift.titel,
fontWeight: '700',
color: farben.text,
marginBottom: abstand.l,
},
karte: { ...kartenSchatten,
backgroundColor: farben.flaeche,
borderRadius: ecke,
padding: abstand.m,
marginBottom: abstand.xl,
gap: abstand.m,
},
punkt: { fontFamily: schriftart.serif, fontSize: schrift.basis, color: farben.text, lineHeight: 27 },
});