# Changelog Todas as mudanças notáveis neste projeto serão documentadas neste arquivo. O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.0.0/), e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/). ## [0.5.1] - 2024-01-31 ### Técnico - Corrigido erro de constraint na tabela stories ao atualizar status - Removida tentativa de atualizar coluna inexistente error_message - Ajustados os status da história para valores válidos: 'pending', 'published', 'failed' - Melhorada validação e logs durante o processo de geração da história ### Modificado - Alterado fluxo de status da história para usar estados válidos do banco de dados - Melhorada mensagem de erro para usuário final em caso de falha na geração ## [1.0.0] - 2024-03-20 ### Adicionado #### Sistema de Exercícios Fônicos - Criação do sistema de exercícios fônicos com categorias e tipos - Implementação de exercícios de rima, aliteração, sílabas e sons - Sistema de progresso do estudante com pontuação e estrelas - Sistema de conquistas e recompensas #### Banco de Dados - Tabelas para categorias de exercícios (`phonics_exercise_categories`) - Tabelas para tipos de exercícios (`phonics_exercise_types`) - Tabela principal de exercícios (`phonics_exercises`) - Tabela de palavras e suas características fonéticas (`phonics_words`) - Tabela de relação exercício-palavras (`phonics_exercise_words`) - Sistema de mídia para exercícios (`media_types`, `phonics_exercise_media`) - Sistema de progresso do estudante (`student_phonics_progress`) - Sistema de tentativas e respostas (`student_phonics_attempts`, `student_phonics_attempt_answers`) - Sistema de conquistas (`achievement_types`, `phonics_achievements`, `student_phonics_achievements`) #### Funcionalidades - Categorização de exercícios por nível e tipo - Sistema de pontuação e progresso - Registro detalhado de tentativas e respostas - Sistema de conquistas com diferentes tipos (sequência, conclusão, maestria) - Suporte a diferentes tipos de mídia (imagens, sons, animações) #### Segurança - Políticas de acesso baseadas em Row Level Security (RLS) - Proteção de dados específicos do estudante - Controle de acesso para diferentes tipos de usuários #### Performance - Índices otimizados para consultas frequentes - Estrutura de dados normalizada - Relacionamentos e chaves estrangeiras para integridade dos dados ### Técnico - Implementação de migrações do banco de dados - Criação de índices para otimização de consultas - Implementação de políticas de segurança RLS - Estrutura de dados normalizada com relacionamentos apropriados ### Modificado - N/A (primeira versão) - Todas as páginas principais para usar texto adaptativo - Componentes de exercícios para suportar transformação de texto - Movido controle de sílabas para a página de histórias ### Removido - N/A (primeira versão) ## [1.1.1] - 2024-05-21 ### Adicionado - Componente `TextCaseToggle` para alternar entre maiúsculas e minúsculas - Componente `AdaptiveText` para renderização adaptativa de texto - Hook `useUppercasePreference` para gerenciar preferências de texto - Suporte a texto adaptativo em exercícios fônicos ### Modificado - Atualização do layout do dashboard para incluir controle de texto - Integração do sistema de texto adaptativo em componentes existentes - Melhorias na acessibilidade dos componentes de texto ### Técnico - Refatoração dos componentes de texto para suportar transformação dinâmica - Otimização do sistema de preferências do usuário - Melhorias na performance de renderização de texto ## [1.1.0] - 2024-03-21 ### Adicionado - Novo recurso "Modo Foco" para melhorar a experiência de leitura - Ativação automática ao iniciar gravação - Desativação automática ao parar gravação - Interface adaptativa com foco no texto - Controles de acessibilidade (tamanho da fonte, espaçamento) - Destaque automático de palavras durante a leitura ### Técnico - Integração entre componentes `AudioRecorder` e `StoryPage` para gerenciamento do Modo Foco - Adição de novos props no componente `AudioRecorder`: - `onFocusModeToggle` - `focusModeActive` - `onRecordingStart` - `onRecordingStop` - Otimização de código com remoção de variáveis não utilizadas ### Modificado - Atualizado o componente `AudioRecorder` para incluir tipagem correta e melhor gerenciamento de estado - Corrigido o gerenciamento de gravações no `StoryPage` com inicialização adequada de métricas - Melhorado o tratamento de erros e feedback do usuário durante a gravação - Otimizado o fluxo de upload e processamento de áudio ### Técnico - Adicionada interface `StoryRecording` com todas as propriedades necessárias - Corrigido tipo do callback `onAudioUploaded` no `AudioRecorder` - Removidos imports não utilizados e variáveis redundantes - Implementada lógica de fallback para usuários não autenticados ### Adicionado - Suporte para conversão de áudio WebM para MP3 - Feedback visual durante o processamento do áudio - Inicialização de métricas zeradas para novas gravações ## [1.2.0] - 2024-03-21 ### Adicionado - Novo Modo Foco para leitura e gravação - Estilos específicos para o Modo Foco - Timer de gravação no Modo Foco - Transições suaves entre modos - Controles flutuantes durante o Modo Foco - Documentação completa da estrutura do banco de dados em `/docs/banco-dados.md`: - Escolas e Classes - Sistema de Alunos - Histórias - Interesses - Sistema de Conquistas - Sistema Fonético completo - Relacionamentos e índices - Políticas de segurança - Triggers e funções - Considerações de performance ### Modificado - Componente AudioRecorder atualizado para suportar Modo Foco - Interface do StoryPage reorganizada para Modo Foco - Comportamento de gravação integrado com Modo Foco - Melhorias na experiência do usuário durante a leitura ### Técnico - Novo arquivo CSS para estilos do Modo Foco - Interface FocusMode para gerenciamento de estado - Callbacks de início e fim de gravação - Sistema de transição entre modos normal e foco - Otimização de performance para transições suaves - Atualização das definições de tabelas para refletir a estrutura atual do Supabase - Adição de diagramas ER para visualização dos relacionamentos - Documentação de índices e políticas de segurança - Inclusão de considerações de performance e backup ## [1.3.0] - 2024-01-31 ### Adicionado - Suporte a múltiplos idiomas na geração de histórias: - Português (Brasil) - Inglês (EUA) - Espanhol (Espanha) - Nova etapa de seleção de idioma no fluxo de criação de história - Instruções específicas para cada idioma no prompt da IA ### Modificado - Fluxo de geração de história para incluir seleção de idioma - Interface do gerador de histórias com novo passo de idioma - Adaptação do prompt da IA para considerar o idioma selecionado ### Técnico - Adicionada constante `LANGUAGE_OPTIONS` com opções de idiomas suportados - Implementada validação de idioma antes da geração - Atualizado payload da Edge Function para incluir `language_type` - Melhorada tipagem para suporte a múltiplos idiomas ## [1.4.0] - 2024-01-31 ### Adicionado - Integração completa com a tabela `languages` do banco de dados - Suporte para ícones de bandeira nos seletores de idioma - Instruções específicas por idioma na interface - Hook `useLanguages` para gerenciamento centralizado de idiomas ### Modificado - Removido `LANGUAGE_OPTIONS` hard coded do `StoryGenerator` - Atualizado `CreateStoryPage` para usar `DEFAULT_LANGUAGE` do type - Melhorada a validação de idiomas usando dados do banco - Aprimorada a UX do seletor de idiomas com ícones e instruções ### Técnico - Refatorado o sistema de idiomas para usar dados dinâmicos do banco - Adicionada tipagem forte para dados de idioma - Implementada validação robusta de códigos de idioma - Melhorada a estrutura de componentes para suportar dados dinâmicos ## [1.5.0] - 2024-03-19 ### Modificado - Aprimoramento no cálculo de métricas do dashboard do aluno: - Métricas agora são calculadas considerando todas as histórias e gravações do aluno - Adicionadas novas métricas detalhadas: pronúncia, precisão, compreensão, velocidade, pausas e erros - Melhorias na interface com tooltips explicativos para cada métrica - Separação entre dados para métricas (todas as histórias) e exibição (6 mais recentes) ### Técnico - Refatoração da busca de dados no StudentDashboardPage: - Separação entre consulta de métricas e consulta de exibição - Otimização no cálculo de médias das métricas - Melhoria na organização do código com comentários explicativos ## [Não publicado] ### Adicionado - Novo gráfico de evolução das métricas na dashboard do aluno - Visualização combinada de linhas e barras - Métricas de fluência, pronúncia, precisão, compreensão e palavras por minuto - Gráfico de barras mostrando minutos lidos por semana - Botões interativos para filtrar métricas - Design moderno com gradientes e animações suaves - Tooltip personalizado com informações detalhadas - Agrupamento automático por semana - Layout responsivo e adaptável - Filtro de período com opções de 3, 6, 12 meses e todo período - Visualização padrão dos últimos 12 meses ### Técnico - Implementação do Recharts para visualização de dados - Novo sistema de processamento de métricas semanais - Otimização do carregamento de dados com agrupamento eficiente - Integração com o tema existente do sistema - Sistema de filtragem temporal com conversão de datas - Componente MetricsChart extraído e modularizado - Interfaces e tipos bem definidos - Lógica de filtragem encapsulada - Estado interno gerenciado - Props minimalistas e bem tipadas - Componente reutilizável em outros contextos - Componentes de métricas extraídos e modularizados - Novo componente MetricCard para cards individuais - Novo componente DashboardMetrics para agrupamento - Configuração centralizada de métricas - Suporte a tooltips e ícones personalizados - Responsividade e acessibilidade melhoradas ### Técnico - Normalização do JSON Schema da análise de redações para corresponder à estrutura do banco de dados - Reordenação dos campos para corresponder à estrutura das tabelas - Ajuste nas descrições dos campos para maior clareza - Alinhamento com as tabelas: essay_analyses, essay_analysis_feedback, essay_analysis_strengths e essay_analysis_improvements - Melhoria na validação dos dados com JSON Schema mais preciso ### Técnico - Correção das políticas de segurança (RLS) para o sistema de análise de redações: - Simplificada a política de inserção para service_role - Adicionadas políticas para tabelas relacionadas (feedback, pontos fortes, melhorias e notas) - Melhorada a segurança com políticas específicas para cada operação - Corrigido erro de permissão na inserção de análises pela Edge Function ### Técnico - Removidas restrições de validação do JSON Schema da análise de redações: - Removidos limites `minimum` e `maximum` dos campos numéricos - Removida restrição `minItems` dos arrays de pontos fortes e melhorias - Simplificada a validação para maior flexibilidade na Edge Function ### Técnico - Corrigida consulta de análise de redações no componente `EssayAnalysis`: - Adicionado join com tabelas relacionadas (feedback, strengths, improvements, scores) - Implementada transformação dos dados para o formato esperado - Adicionado tratamento para valores nulos - Melhorada tipagem dos dados retornados