# 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-03-28 ### Adicionado - Novas competências na análise de redações: - Domínio da língua (0-200 pontos) - Compreensão da proposta (0-200 pontos) - Seleção de argumentos (0-200 pontos) - Mecanismos linguísticos (0-200 pontos) - Proposta de intervenção (0-200 pontos) ### Técnico - Adicionados novos campos na tabela `essay_analyses` para armazenar as competências - Atualizada a função `analyze-essay` para salvar as notas e justificativas das competências - Adicionada restrição para garantir que os valores das competências estejam entre 0 e 200 - Corrigida tipagem das métricas de escrita para incluir competências do ENEM - Atualizados valores padrão das métricas de escrita ### Modificado - Melhorado o layout da página de análise de redações: - Separação clara entre critérios gerais e competências do ENEM - Nova seção dedicada às competências do ENEM com layout aprimorado - Barras de progresso mais visíveis para as competências - Adicionadas descrições detalhadas para cada competência - Cards coloridos para justificativas das competências - Melhorias visuais nos critérios gerais de avaliação ## [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 ### Modificado - Melhorado o fluxo de redações: - Corrigido carregamento do conteúdo da redação após envio para análise - Adicionado salvamento automático do conteúdo antes de enviar para análise - Melhorada visualização do status 'analisada' com badge verde - Adicionado botão "Ver Análise" para redações analisadas - Ajustado Editor para modo somente leitura após envio - Melhorada contagem de palavras em todos os estados da redação ### Técnico - Refatorado componente `EssayPage`: - Adicionada lógica de salvamento antes do envio para análise - Melhorada query do Supabase para incluir conteúdo explicitamente - Implementado feedback visual durante operações de salvamento - Otimizado carregamento inicial da redação - Adicionado tratamento de estados para diferentes status da redação ## [0.2.0] - 2024-03-21 ### Adicionado - Novos recursos de formatação no editor: - Tachado (strike-through) - Código inline - Lista com marcadores - Lista numerada - Citação (blockquote) - Rastreamento de eventos (tracking) em todos os botões do editor ### Modificado - Melhorias no fluxo de redações: - Carregamento correto do conteúdo após submissão para análise - Salvamento automático do conteúdo antes da submissão - Badge verde para status "analisada" - Botão "Ver Análise" para redações analisadas - Editor em modo somente leitura após submissão - Contagem de palavras em todos os estados da redação ### Técnico - Refatoração do componente Editor para incluir novos recursos de formatação - Adição de trackingId em todos os botões para análise de uso - Melhorias de acessibilidade com aria-labels em português - Refatoração do EssayPage para incluir lógica de salvamento antes da submissão para análise - Melhoria na query do Supabase para incluir conteúdo explicitamente - Implementação de feedback visual durante operações de salvamento - Otimização do carregamento inicial da redação - Adição de tratamento de estado para diferentes status da redação