mirror of
https://github.com/lucasrcsantana/story-generator.git
synced 2025-12-18 14:27: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('student_id', session.user.id)
|
||||||
.eq('status', 'completed');
|
.eq('status', 'analyzed')
|
||||||
|
.order('created_at', { ascending: true });
|
||||||
|
|
||||||
if (essaysError) throw essaysError;
|
if (essaysError) throw essaysError;
|
||||||
|
|
||||||
|
console.log('Redações carregadas:', essays);
|
||||||
|
|
||||||
// Processar métricas semanais de escrita
|
// Processar métricas semanais de escrita
|
||||||
const analyses = essays?.flatMap(essay =>
|
const analyses = essays?.flatMap(essay =>
|
||||||
essay.essay_analyses?.map(analysis => ({
|
essay.essay_analyses?.map(analysis => {
|
||||||
id: analysis.id,
|
console.log('Análise individual:', analysis);
|
||||||
created_at: analysis.created_at,
|
return {
|
||||||
overall_score: analysis.overall_score,
|
id: analysis.id,
|
||||||
essay_id: essay.id,
|
created_at: analysis.created_at,
|
||||||
scores: analysis.essay_analysis_scores?.[0] || {
|
overall_score: analysis.overall_score || 0,
|
||||||
adequacy: 0,
|
essay_id: essay.id,
|
||||||
coherence: 0,
|
scores: {
|
||||||
cohesion: 0,
|
adequacy: analysis.essay_analysis_scores?.[0]?.adequacy || 0,
|
||||||
vocabulary: 0,
|
coherence: analysis.essay_analysis_scores?.[0]?.coherence || 0,
|
||||||
grammar: 0
|
cohesion: analysis.essay_analysis_scores?.[0]?.cohesion || 0,
|
||||||
},
|
vocabulary: analysis.essay_analysis_scores?.[0]?.vocabulary || 0,
|
||||||
feedback: analysis.essay_analysis_feedback?.[0] || {
|
grammar: analysis.essay_analysis_scores?.[0]?.grammar || 0
|
||||||
structure_feedback: '',
|
},
|
||||||
content_feedback: '',
|
feedback: {
|
||||||
language_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) || [];
|
).filter(Boolean) || [];
|
||||||
|
|
||||||
const weeklyWritingData = processWeeklyWritingMetrics(analyses);
|
console.log('Análises processadas:', analyses);
|
||||||
// Atualizar métricas semanais de escrita
|
|
||||||
updateWeeklyWritingMetrics(weeklyWritingData);
|
|
||||||
|
|
||||||
// Calcular métricas gerais de escrita
|
// Calcular métricas gerais de escrita
|
||||||
if (analyses && analyses.length > 0) {
|
if (analyses && analyses.length > 0) {
|
||||||
const totalAnalyses = analyses.length;
|
const totalAnalyses = analyses.length;
|
||||||
const metricsSum = analyses.reduce((acc, analysis) => ({
|
const metricsSum = analyses.reduce((acc, analysis) => ({
|
||||||
score: acc.score + analysis.overall_score,
|
score: acc.score + (analysis.overall_score || 0),
|
||||||
adequacy: acc.adequacy + analysis.scores.adequacy,
|
adequacy: acc.adequacy + (analysis.scores?.adequacy || 0),
|
||||||
coherence: acc.coherence + analysis.scores.coherence,
|
coherence: acc.coherence + (analysis.scores?.coherence || 0),
|
||||||
cohesion: acc.cohesion + analysis.scores.cohesion,
|
cohesion: acc.cohesion + (analysis.scores?.cohesion || 0),
|
||||||
vocabulary: acc.vocabulary + analysis.scores.vocabulary,
|
vocabulary: acc.vocabulary + (analysis.scores?.vocabulary || 0),
|
||||||
grammar: acc.grammar + analysis.scores.grammar
|
grammar: acc.grammar + (analysis.scores?.grammar || 0)
|
||||||
}), {
|
}), {
|
||||||
score: 0,
|
score: 0,
|
||||||
adequacy: 0,
|
adequacy: 0,
|
||||||
@ -395,8 +399,11 @@ export function StudentDashboardPage() {
|
|||||||
grammar: 0
|
grammar: 0
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log('Soma das métricas:', metricsSum);
|
||||||
|
console.log('Total de análises:', totalAnalyses);
|
||||||
|
|
||||||
// Atualizar métricas de escrita
|
// Atualizar métricas de escrita
|
||||||
updateWritingMetrics({
|
const writingMetrics = {
|
||||||
totalEssays: essays?.length || 0,
|
totalEssays: essays?.length || 0,
|
||||||
averageScore: Math.round(metricsSum.score / totalAnalyses),
|
averageScore: Math.round(metricsSum.score / totalAnalyses),
|
||||||
totalEssaysTime: totalAnalyses * 30,
|
totalEssaysTime: totalAnalyses * 30,
|
||||||
@ -406,7 +413,29 @@ export function StudentDashboardPage() {
|
|||||||
averageCohesion: Math.round(metricsSum.cohesion / totalAnalyses),
|
averageCohesion: Math.round(metricsSum.cohesion / totalAnalyses),
|
||||||
averageVocabulary: Math.round(metricsSum.vocabulary / totalAnalyses),
|
averageVocabulary: Math.round(metricsSum.vocabulary / totalAnalyses),
|
||||||
averageGrammar: Math.round(metricsSum.grammar / 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) {
|
} catch (err) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user