1
0
forked from firka/firka

feat: show tests on main home page

This commit is contained in:
checkedear
2026-04-15 16:26:35 +02:00
parent f73c1127e7
commit f8a69a7561
2 changed files with 24 additions and 0 deletions

View File

@@ -299,6 +299,7 @@ class _HomeMainScreen extends FirkaState<HomeMainScreen> {
if (student != null && lessons != null) {
final infoItems = [...(infoBoard ?? []), ...(noticeBoard ?? [])];
final gradeItems = grades ?? [];
final testItems = tests ?? [];
final homeworkItems = homework ?? [];
final noticeBoardWidgets = <(Widget, DateTime)>[];
@@ -306,6 +307,10 @@ class _HomeMainScreen extends FirkaState<HomeMainScreen> {
noticeBoardWidgets.add((InfoCard.messageItem(item), item.date));
}
for (final test in testItems) {
noticeBoardWidgets.add((InfoCard.test(test), test.reportDate));
}
for (final grade in gradeItems) {
noticeBoardWidgets.add((InfoCard.gradeSubj(grade), grade.recordDate));
}

View File

@@ -48,6 +48,25 @@ class InfoCard extends StatelessWidget {
);
}
factory InfoCard.test(Test test) {
final color = appStyle.colors.accent;
return InfoCard(
icon: FilledCircle(
diameter: 36,
color: color.withAlpha(38),
child: FirkaIconWidget(
FirkaIconType.majesticons,
Majesticon.editPen4Solid,
color: color,
size: 24,
),
),
texts: [test.theme.firstUpper(), test.subject.name.firstUpper()],
right: [buildSubject(color, test.subject)],
);
}
factory InfoCard.messageItem(MessageItem item) {
return InfoCard(
icon: FilledCircle(