CKT 1.0.1

This commit is contained in:
Carlos Correia
2026-07-15 02:40:22 +01:00
parent fb39e1f722
commit 9c21887fc7
49 changed files with 255 additions and 288 deletions

View File

@@ -2,12 +2,19 @@ import 'package:flutter/material.dart';
const Color kPrivacyTeal = Color(0xFF2F9E94);
/// Um dos três itens de consentimento mostrados no ecrã de privacidade.
/// Um dos itens de consentimento mostrados no ecrã de privacidade. Itens
/// com [required] a false (ex.: recolha de dados técnicos de utilização)
/// não bloqueiam o avanço se não forem marcados.
class PrivacyConsentItem {
const PrivacyConsentItem({required this.id, required this.text});
const PrivacyConsentItem({
required this.id,
required this.text,
this.required = true,
});
final String id;
final String text;
final bool required;
}
/// Texto fixo dos consentimentos de privacidade, mostrado no cadastro.
@@ -15,27 +22,28 @@ const List<PrivacyConsentItem> kPrivacyConsentItems = [
PrivacyConsentItem(
id: 'health_data',
text:
'Concordo com o processamento dos meus dados pessoais de saúde para '
'ter acesso às funcionalidades da aplicação Check-Teeth Kids. Veja '
'mais na Política de Privacidade.',
'Confirmo que sou encarregado(a) de educação ou responsável legal '
'da criança avaliada e concordo com o processamento dos dados de '
'saúde que introduzo na Check-Teeth Kids, exclusivamente para gerar '
'o resultado da triagem digital.',
),
PrivacyConsentItem(
id: 'privacy_policy',
text: 'Concordo com a Política de Privacidade e com os Termos de Uso.',
text:
'Li e aceito os Termos e Condições apresentados anteriormente e as '
'condições de privacidade descritas nesta página.',
),
PrivacyConsentItem(
id: 'tracking',
text:
'Autorizo o CK-T-KD a monitorizar a minha atividade na app. Podem '
'receber dados como a minha faixa etária, estado da subscrição, '
'momento de abertura da app e identificadores técnicos, conforme '
'descrito na Política de Privacidade. Isto ajuda o CK-T-KD a '
'melhorar as suas campanhas publicitárias. *',
'Ajude-nos a melhorar a Check-Teeth Kids, autorizando a recolha de '
'dados técnicos de utilização.',
required: false,
),
];
/// Emblema circular + título "Privacidade em primeiro lugar", reutilizado
/// onde este conteúdo for mostrado.
/// Emblema circular + título "Política de Privacidade", reutilizado onde
/// este conteúdo for mostrado.
class PrivacyHeader extends StatelessWidget {
const PrivacyHeader({super.key});
@@ -58,7 +66,7 @@ class PrivacyHeader extends StatelessWidget {
),
const SizedBox(height: 16),
const Text(
'Privacidade em primeiro lugar',
'Política de Privacidade',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20,