import 'package:flutter/material.dart';

const Color kTermsPink = Color(0xFFFF55A7);

/// Parágrafos dos Termos e Condições — texto fixo, igual em todo o app
/// (ecrã de bloqueio no cadastro e ecrã informativo em Ajustes).
const List<String> kTermsParagraphs = [
  '© 2026, Francisca Salgado Ferreira Pacheco Silva. A aplicação, o método '
      'de avaliação, arquitetura e conteúdos são propriedade intelectual '
      'exclusiva da autora.',
  'A Check-Teeth Kids é uma aplicação desenvolvida com o propósito de '
      'promover a literacia em saúde oral infantil, através de conteúdos '
      'educativos e de um quiz de triagem digital, com especial enfoque na '
      'identificação precoce de sinais associados à má oclusão dentária.',
  'Com base nas respostas fornecidas, é apresentado um resultado que '
      'identifica sinais de má oclusão já instalados e fatores de risco '
      'associados, destinado a auxiliar o utilizador na decisão de procurar '
      'uma avaliação clínica especializada.',
  'Esta ferramenta não tem como objetivo realizar diagnósticos clínicos, '
      'nem substituir a avaliação por um profissional de saúde oral. '
      'Destina-se exclusivamente a uma triagem inicial e informativa, '
      'promovendo o encaminhamento atempado para um médico dentista '
      'especialista (Odontopediatra ou Ortodontista).',
  'Esta aplicação foi desenvolvida no âmbito de um projeto de dissertação '
      'de Mestrado, encontrando-se numa fase de desenvolvimento e ainda sem '
      'validação clínica formal concluída.',
];

/// Emblema circular rosa + título "Termos e Condições", reutilizado nos
/// dois ecrãs que mostram este conteúdo.
class TermsHeader extends StatelessWidget {
  const TermsHeader({super.key});

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Container(
          width: 76,
          height: 76,
          decoration: BoxDecoration(
            color: kTermsPink.withValues(alpha: 0.12),
            shape: BoxShape.circle,
          ),
          child: const Icon(
            Icons.gavel_rounded,
            color: kTermsPink,
            size: 36,
          ),
        ),
        const SizedBox(height: 16),
        const Text(
          'Termos e Condições',
          textAlign: TextAlign.center,
          style: TextStyle(
            fontSize: 20,
            fontWeight: FontWeight.w900,
            color: Colors.black,
          ),
        ),
      ],
    );
  }
}

/// Corpo de texto dos Termos, dentro de um cartão branco.
class TermsBody extends StatelessWidget {
  const TermsBody({super.key});

  @override
  Widget build(BuildContext context) {
    return Container(
      padding: const EdgeInsets.all(18),
      decoration: BoxDecoration(
        color: Colors.white.withValues(alpha: 0.9),
        borderRadius: BorderRadius.circular(20),
        boxShadow: [
          BoxShadow(
            color: Colors.black.withValues(alpha: 0.05),
            blurRadius: 14,
            offset: const Offset(0, 6),
          ),
        ],
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          for (var i = 0; i < kTermsParagraphs.length; i++) ...[
            if (i > 0) const SizedBox(height: 14),
            Text(
              kTermsParagraphs[i],
              textAlign: TextAlign.center,
              style: TextStyle(
                fontSize: 13,
                fontWeight: FontWeight.w600,
                height: 1.5,
                color: Colors.black.withValues(alpha: 0.78),
              ),
            ),
          ],
        ],
      ),
    );
  }
}
