/// Texto do ecrã principal depois de autenticado ([LoggedHomeScreen] e as
/// suas três abas: Início, Perfil, Ajustes).
class HomeStrings {
  const HomeStrings._();

  static const String noName = 'Sem nome';
  static const String goodMorning = 'Bom dia';
  static const String goodAfternoon = 'Boa tarde';
  static const String goodEvening = 'Boa noite';

  static const String navHome = 'Início';
  static const String navProfile = 'Perfil';
  static const String navSettings = 'Ajustes';
  static const String settingsTitle = 'Configurações';

  static const String signsGaugeLabel = 'Sinais de má\noclusão';
  static const String factorsGaugeLabel = 'Fatores de risco';

  static String forChild(String name) => 'Para $name';

  static const String educationalVideos = 'Vídeos educativos';
  static const String moreFeaturesSoon = 'Mais funcionalidades em breve';

  static String brushingLimitReached(int maxPerDay) =>
      'Já registou as $maxPerDay escovagens de hoje!';
  static const String brushingLogged = 'Escovagem registada!';
  static const String brushingThisWeek = 'Escovagens esta semana';
  static const String completedEpisodes = 'Episódios completos';

  static String errorAddingChild(Object e) => 'Erro ao adicionar criança: $e';
  static const String registerAChild = 'Registe uma criança';
  static const String registerAChildMessage =
      'Antes de iniciar o quiz, adicione uma criança ao seu perfil.';
  static const String addChild = 'Adicionar criança';
  static const String whichChildIsTheQuizFor = 'Para qual criança é o quiz?';
  static String childNameWithAge(String name, int age) => '$name  •  $age anos';
  static const String cancel = 'Cancelar';

  static const String freeAssessmentBadge = 'Avaliação gratuita';
  static const String assessmentTitle = 'Avaliação de má oclusão dentária';
  static const String assessmentSubtitle =
      '29 perguntas rápidas · menos de 3 minutos';
  static const String startQuiz = 'Iniciar Quiz';

  static const String videoLibraryBadge = 'Biblioteca de vídeos';
  static String watchedEpisodesSummary(int watchedCount, int totalCount) =>
      '$watchedCount episódio${watchedCount == 1 ? '' : 's'} completo${watchedCount == 1 ? '' : 's'} · $totalCount no total';
  static String allEpisodesSummary(int totalCount) =>
      '$totalCount episódios sobre saúde oral para toda a família';
  static const String watchVideos = 'Ver vídeos';

  static const String profilePhoto = 'Foto de perfil';
  static const String camera = 'Câmara';
  static const String gallery = 'Galeria';
  static String errorUploadingPhoto(Object e) => 'Erro ao enviar foto: $e';

  static const String removeChild = 'Remover criança';
  static String removeChildConfirmMessage(String childName) =>
      'Tem a certeza que quer remover "$childName"? Esta ação não pode ser desfeita.';
  static const String remove = 'Remover';
  static const String noPermissionToRemoveChild =
      'Sem permissão para remover esta criança.';
  static const String childRemoved = 'Criança removida';
  static String errorRemovingChild(Object e) => 'Erro ao remover: $e';

  static String weeklyGoalOf(String childName) => 'Meta semanal de $childName';
  static const String brushingsPerWeek = 'Escovagens por semana';
  static const String brushingGoalRange = 'Entre 1 e 21 (até 3 por dia)';
  static const String save = 'Guardar';

  static const String childAdded = 'Criança adicionada';
  static const String addAnotherChildQuestion = 'Adicionar outra criança?';
  static const String notNow = 'Agora não';
  static const String addAnother = 'Adicionar outra';
  static const String timeoutAdding =
      'Tempo esgotado ao adicionar. Tente novamente.';
  static String errorAdding(Object e) => 'Erro ao adicionar: $e';

  static const String myChildren = 'Meus filhos';
  static const String noChildrenYet = 'Nenhuma criança adicionada ainda.';
  static String childFallbackName(int index) => 'Criança ${index + 1}';
  static String ageLabel(int age) => 'Idade: $age';
  static String genderLabel(String gender) => 'Género: $gender';
  static const String weeklyBrushingGoalTooltip = 'Meta semanal de escovagens';

  static const String signOut = 'Sair';
  static const String addAnotherChildTitle = 'Adicionar outra criança';
  static const String birthDate = 'Data de nascimento';
  static const String confirm = 'Confirmar';
  static const String childName = 'Nome da criança';
  static const String nameRequired = 'Indique o nome';
  static const String nameTooShort = 'Nome muito curto';
  static const String nameNoNumbers = 'O nome não pode conter números';
  static const String selectDate = 'Selecione a data';
  static const String male = 'Masculino';
  static const String female = 'Feminino';
  static const String other = 'Outro';
  static const String gender = 'Género';
  static const String genderRequired = 'Selecione o género';
  static const String birthDateRequired = 'Indique a data de nascimento';
  static const String add = 'Adicionar';

  static const String childCode = 'Código numérico';
  static const String childCodeRequired = 'Indique o código';
  static const String childCodeDigitsOnly = 'O código só pode conter números';
  static const String childCodeAlreadyInUse =
      'Código numérico já está em uso';
  static String codeLabel(String code) => 'Cód. $code';

  static const String resumeQuizTitle = 'Questionário por terminar';
  static String resumeQuizMessage(String childName) =>
      'Há um questionário por terminar para $childName. Quer continuar de '
      'onde parou ou recomeçar do início?';
  static const String resumeQuiz = 'Continuar';
  static const String restartQuiz = 'Recomeçar';
}
