From 633926bf2df8ce4df55d698dfe8f6f4f4a1dbbec Mon Sep 17 00:00:00 2001 From: balint1414 Date: Sun, 12 Oct 2025 20:36:50 +0200 Subject: [PATCH] =?UTF-8?q?=C3=81th=C3=BAz=C3=A1ssal=20jelz=C3=A9s,=20hogy?= =?UTF-8?q?=20k=C3=A9sz=20a=20h=C3=A1zi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- firka/lib/ui/phone/widgets/homework.dart | 58 +++++++++++++++++++----- 1 file changed, 46 insertions(+), 12 deletions(-) diff --git a/firka/lib/ui/phone/widgets/homework.dart b/firka/lib/ui/phone/widgets/homework.dart index f73f1db3..e02d2dd9 100644 --- a/firka/lib/ui/phone/widgets/homework.dart +++ b/firka/lib/ui/phone/widgets/homework.dart @@ -1,4 +1,6 @@ import 'package:firka/helpers/api/model/homework.dart'; +import 'package:firka/helpers/db/models/homework_cache_model.dart'; +import 'package:firka/helpers/ui/common_bottom_sheets.dart'; import 'package:firka/helpers/ui/firka_card.dart'; import 'package:firka/main.dart'; import 'package:firka/ui/model/style.dart'; @@ -19,11 +21,27 @@ class HomeworkWidget extends StatelessWidget { left: [ Row( children: [ - FirkaIconWidget( - FirkaIconType.majesticons, - Majesticon.homeSolid, - color: appStyle.colors.accent, - size: 24, + FutureBuilder( + future: isHomeworkDone(data.isar, item.uid), + builder: (context, snapshot) { + if (!snapshot.hasData) { + return SizedBox(); + } + final done = snapshot.data!; + return done + ? FirkaIconWidget( + FirkaIconType.majesticonsLocal, + "homeWithMark", + color: appStyle.colors.accent, + size: 24, + ) + : FirkaIconWidget( + FirkaIconType.majesticons, + Majesticon.homeSolid, + color: appStyle.colors.accent, + size: 24, + ); + } ), SizedBox( width: 8, @@ -31,20 +49,36 @@ class HomeworkWidget extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(data.l10n.homework, - style: appStyle.fonts.B_16SB - .apply(color: appStyle.colors.textPrimary)), - Text(item.subjectName, + FutureBuilder( + future: isHomeworkDone(data.isar, item.uid), + builder: (context, snapshot) { + if (!snapshot.hasData) { + return SizedBox(); + } + final done = snapshot.data!; + return done + ? Text(data.l10n.homework, + style: appStyle.fonts.B_16SB + .apply(color: appStyle.colors.textPrimary, decoration: TextDecoration.lineThrough)) + : Text(data.l10n.homework, + style: appStyle.fonts.B_16SB + .apply(color: appStyle.colors.textPrimary)); + }, + ), + Text( + item.subjectName, style: appStyle.fonts.B_16R - .apply(color: appStyle.colors.textPrimary)) - ], + .apply(color: appStyle.colors.textPrimary), + ) + + ], ), ], ) ], ), onTap: () { - // showGradeBottomSheet(context, widget.data, grade); + showHomeworkBottomSheet(context, data, item); }, ); }