mirror of
https://github.com/lucasrcsantana/story-generator.git
synced 2025-12-16 21:37:51 +00:00
This commit is contained in:
parent
2175458186
commit
bb85c83c5b
@ -346,46 +346,50 @@ export function StudentDashboardPage() {
|
||||
)
|
||||
`)
|
||||
.eq('student_id', session.user.id)
|
||||
.eq('status', 'completed');
|
||||
.eq('status', 'analyzed')
|
||||
.order('created_at', { ascending: true });
|
||||
|
||||
if (essaysError) throw essaysError;
|
||||
|
||||
console.log('Redações carregadas:', essays);
|
||||
|
||||
// Processar métricas semanais de escrita
|
||||
const analyses = essays?.flatMap(essay =>
|
||||
essay.essay_analyses?.map(analysis => ({
|
||||
id: analysis.id,
|
||||
created_at: analysis.created_at,
|
||||
overall_score: analysis.overall_score,
|
||||
essay_id: essay.id,
|
||||
scores: analysis.essay_analysis_scores?.[0] || {
|
||||
adequacy: 0,
|
||||
coherence: 0,
|
||||
cohesion: 0,
|
||||
vocabulary: 0,
|
||||
grammar: 0
|
||||
},
|
||||
feedback: analysis.essay_analysis_feedback?.[0] || {
|
||||
structure_feedback: '',
|
||||
content_feedback: '',
|
||||
language_feedback: ''
|
||||
}
|
||||
}))
|
||||
essay.essay_analyses?.map(analysis => {
|
||||
console.log('Análise individual:', analysis);
|
||||
return {
|
||||
id: analysis.id,
|
||||
created_at: analysis.created_at,
|
||||
overall_score: analysis.overall_score || 0,
|
||||
essay_id: essay.id,
|
||||
scores: {
|
||||
adequacy: analysis.essay_analysis_scores?.[0]?.adequacy || 0,
|
||||
coherence: analysis.essay_analysis_scores?.[0]?.coherence || 0,
|
||||
cohesion: analysis.essay_analysis_scores?.[0]?.cohesion || 0,
|
||||
vocabulary: analysis.essay_analysis_scores?.[0]?.vocabulary || 0,
|
||||
grammar: analysis.essay_analysis_scores?.[0]?.grammar || 0
|
||||
},
|
||||
feedback: {
|
||||
structure_feedback: analysis.essay_analysis_feedback?.[0]?.structure_feedback || '',
|
||||
content_feedback: analysis.essay_analysis_feedback?.[0]?.content_feedback || '',
|
||||
language_feedback: analysis.essay_analysis_feedback?.[0]?.language_feedback || ''
|
||||
}
|
||||
};
|
||||
})
|
||||
).filter(Boolean) || [];
|
||||
|
||||
const weeklyWritingData = processWeeklyWritingMetrics(analyses);
|
||||
// Atualizar métricas semanais de escrita
|
||||
updateWeeklyWritingMetrics(weeklyWritingData);
|
||||
console.log('Análises processadas:', analyses);
|
||||
|
||||
// Calcular métricas gerais de escrita
|
||||
if (analyses && analyses.length > 0) {
|
||||
const totalAnalyses = analyses.length;
|
||||
const metricsSum = analyses.reduce((acc, analysis) => ({
|
||||
score: acc.score + analysis.overall_score,
|
||||
adequacy: acc.adequacy + analysis.scores.adequacy,
|
||||
coherence: acc.coherence + analysis.scores.coherence,
|
||||
cohesion: acc.cohesion + analysis.scores.cohesion,
|
||||
vocabulary: acc.vocabulary + analysis.scores.vocabulary,
|
||||
grammar: acc.grammar + analysis.scores.grammar
|
||||
score: acc.score + (analysis.overall_score || 0),
|
||||
adequacy: acc.adequacy + (analysis.scores?.adequacy || 0),
|
||||
coherence: acc.coherence + (analysis.scores?.coherence || 0),
|
||||
cohesion: acc.cohesion + (analysis.scores?.cohesion || 0),
|
||||
vocabulary: acc.vocabulary + (analysis.scores?.vocabulary || 0),
|
||||
grammar: acc.grammar + (analysis.scores?.grammar || 0)
|
||||
}), {
|
||||
score: 0,
|
||||
adequacy: 0,
|
||||
@ -395,8 +399,11 @@ export function StudentDashboardPage() {
|
||||
grammar: 0
|
||||
});
|
||||
|
||||
console.log('Soma das métricas:', metricsSum);
|
||||
console.log('Total de análises:', totalAnalyses);
|
||||
|
||||
// Atualizar métricas de escrita
|
||||
updateWritingMetrics({
|
||||
const writingMetrics = {
|
||||
totalEssays: essays?.length || 0,
|
||||
averageScore: Math.round(metricsSum.score / totalAnalyses),
|
||||
totalEssaysTime: totalAnalyses * 30,
|
||||
@ -406,7 +413,29 @@ export function StudentDashboardPage() {
|
||||
averageCohesion: Math.round(metricsSum.cohesion / totalAnalyses),
|
||||
averageVocabulary: Math.round(metricsSum.vocabulary / totalAnalyses),
|
||||
averageGrammar: Math.round(metricsSum.grammar / totalAnalyses)
|
||||
};
|
||||
|
||||
console.log('Métricas de escrita calculadas:', writingMetrics);
|
||||
updateWritingMetrics(writingMetrics);
|
||||
|
||||
const weeklyWritingData = processWeeklyWritingMetrics(analyses);
|
||||
console.log('Dados semanais de escrita:', weeklyWritingData);
|
||||
updateWeeklyWritingMetrics(weeklyWritingData);
|
||||
} else {
|
||||
console.log('Nenhuma análise encontrada');
|
||||
// Definir valores padrão quando não há análises
|
||||
updateWritingMetrics({
|
||||
totalEssays: 0,
|
||||
averageScore: 0,
|
||||
totalEssaysTime: 0,
|
||||
currentWritingLevel: 1,
|
||||
averageAdequacy: 0,
|
||||
averageCoherence: 0,
|
||||
averageCohesion: 0,
|
||||
averageVocabulary: 0,
|
||||
averageGrammar: 0
|
||||
});
|
||||
updateWeeklyWritingMetrics([]);
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user