fetch color and title together as subjectMeta

This commit is contained in:
Fhj0607
2026-04-29 11:29:40 +02:00
parent 4205961542
commit 473eb0efbb

View File

@@ -13,8 +13,10 @@ export default function ViewDetailsAssignment() {
const [assignment, SetAssignment] = useState<Assignment | null>(null); const [assignment, SetAssignment] = useState<Assignment | null>(null);
const [tasks, SetTasks] = useState<Task[]>([]); const [tasks, SetTasks] = useState<Task[]>([]);
const [session, SetSession] = useState<Session | null>(null); const [session, SetSession] = useState<Session | null>(null);
const [subjectColor, setSubjectColor] = useState<SubjectColor>('slate'); const [subjectMeta, setSubjectMeta] = useState({
const [subjectTitle, setSubjectTitle] = useState('No Subject'); title: 'No Subject',
color: 'slate' as SubjectColor,
});
const taskSections = [ const taskSections = [
{ title: "Upcoming Tasks", data: tasks.filter((task) => !task.isCompleted), emptyMessage: "No upcoming tasks" }, { title: "Upcoming Tasks", data: tasks.filter((task) => !task.isCompleted), emptyMessage: "No upcoming tasks" },
@@ -54,13 +56,17 @@ export default function ViewDetailsAssignment() {
if (subjectError || !subjectData) { if (subjectError || !subjectData) {
console.log('GetSubjectMeta error:', subjectError); console.log('GetSubjectMeta error:', subjectError);
setSubjectTitle('Unknown Subject'); setSubjectMeta({
setSubjectColor('slate'); title: 'Unknown Subject',
color: 'slate'
});
return; return;
} }
setSubjectTitle(subjectData.title ?? 'Unknown Subject'); setSubjectMeta({
setSubjectColor((subjectData.color as SubjectColor | undefined) ?? 'slate'); title: subjectData.title ?? 'Unknown Subject',
color: (subjectData.color as SubjectColor | undefined) ?? 'slate'
});
} }
}; };
@@ -160,7 +166,7 @@ export default function ViewDetailsAssignment() {
) )
} }
const colorSet = getSubjectColorSet(subjectColor); const colorSet = getSubjectColorSet(subjectMeta.color);
const completedTasks = tasks.filter((task) => task.isCompleted).length; const completedTasks = tasks.filter((task) => task.isCompleted).length;
const totalTasks = tasks.length; const totalTasks = tasks.length;
@@ -274,7 +280,7 @@ export default function ViewDetailsAssignment() {
className="text-xs font-semibold" className="text-xs font-semibold"
style={{ color: colorSet.strong }} style={{ color: colorSet.strong }}
> >
{subjectTitle} {subjectMeta.title}
</Text> </Text>
</View> </View>