forked from firka/firka
feat: show tests on main home page
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user