CKT 1.0.1
This commit is contained in:
@@ -10,11 +10,12 @@ import '../widgets/liquid_waves_background.dart';
|
||||
import '../widgets/tap_bounce.dart';
|
||||
import '../widgets/privacy_content.dart';
|
||||
|
||||
/// Ecrã de bloqueio mostrado logo após o cadastro (primeira vez), antes do
|
||||
/// [TermsGateScreen] e antes de entrar na app. Só avança para o próximo
|
||||
/// passo se o utilizador consentir os três itens de privacidade; se
|
||||
/// recusar (botão ou seta de voltar), a conta acabada de criar é removida
|
||||
/// (perfil apagado + sessão terminada) e volta-se ao login.
|
||||
/// Ecrã de bloqueio mostrado logo após o cadastro (primeira vez), depois
|
||||
/// de aceites os Termos ([TermsGateScreen]) e antes de entrar na app. Só
|
||||
/// avança para a Home se o utilizador consentir os itens obrigatórios de
|
||||
/// privacidade (o terceiro item é opcional); se recusar (botão ou seta de
|
||||
/// voltar), a conta acabada de criar é removida (perfil apagado + sessão
|
||||
/// terminada) e volta-se ao login.
|
||||
class PrivacyGateScreen extends StatefulWidget {
|
||||
const PrivacyGateScreen({
|
||||
super.key,
|
||||
@@ -33,7 +34,9 @@ class _PrivacyGateScreenState extends State<PrivacyGateScreen> {
|
||||
final Set<String> _accepted = {};
|
||||
bool _declining = false;
|
||||
|
||||
bool get _allAccepted => _accepted.length == kPrivacyConsentItems.length;
|
||||
bool get _allAccepted => kPrivacyConsentItems
|
||||
.where((item) => item.required)
|
||||
.every((item) => _accepted.contains(item.id));
|
||||
|
||||
void _toggle(String id, bool value) {
|
||||
setState(() {
|
||||
@@ -242,8 +245,23 @@ class _PrivacyConsentRow extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(width: 12),
|
||||
Expanded(
|
||||
child: Text(
|
||||
item.text,
|
||||
child: Text.rich(
|
||||
TextSpan(
|
||||
children: [
|
||||
TextSpan(
|
||||
text: item.required
|
||||
? '(Obrigatório) '
|
||||
: '(Opcional) ',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w900,
|
||||
color: item.required
|
||||
? kPrivacyTeal
|
||||
: Colors.black.withValues(alpha: 0.45),
|
||||
),
|
||||
),
|
||||
TextSpan(text: item.text),
|
||||
],
|
||||
),
|
||||
style: TextStyle(
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w700,
|
||||
|
||||
Reference in New Issue
Block a user