forked from firka/firka
tt: show tests on day picker
This commit is contained in:
3
firka/assets/images/bubble.svg
Normal file
3
firka/assets/images/bubble.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0 8C0 3.58172 3.58172 0 8 0V0C12.4183 0 16 3.58172 16 8V8C16 12.4183 12.4183 16 8 16H2C0.895431 16 0 15.1046 0 14V8Z" fill="#000000"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 248 B |
@@ -6,6 +6,7 @@ import 'package:firka/helpers/extensions.dart';
|
||||
import 'package:firka/helpers/settings/setting.dart';
|
||||
import 'package:firka/ui/model/style.dart';
|
||||
import 'package:firka/ui/phone/screens/settings/settings_screen.dart';
|
||||
import 'package:firka/ui/phone/widgets/bubble_test.dart';
|
||||
import 'package:firka/ui/widget/delayed_spinner.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:majesticons_flutter/majesticons_flutter.dart';
|
||||
@@ -179,13 +180,6 @@ class _HomeTimetableScreen extends FirkaState<HomeTimetableScreen> {
|
||||
for (var i = 0; i < dates!.length; i++) {
|
||||
final date = dates![i];
|
||||
|
||||
ttWidgets.add(BottomTimeTableNavIconWidget(widget.data.l10n, () {
|
||||
setState(() {
|
||||
_controller.jumpToPage(i);
|
||||
active = i;
|
||||
});
|
||||
}, active == i, date));
|
||||
|
||||
final lessonsOnDate = lessons!
|
||||
.where((lesson) =>
|
||||
lesson.start.isAfter(date) &&
|
||||
@@ -202,6 +196,31 @@ class _HomeTimetableScreen extends FirkaState<HomeTimetableScreen> {
|
||||
test.date.isBefore(date.add(Duration(hours: 23, minutes: 59))))
|
||||
.toList();
|
||||
|
||||
if (testsOnDate.isNotEmpty) {
|
||||
debugPrint(testsOnDate.toString());
|
||||
ttWidgets.add(Stack(
|
||||
children: [
|
||||
BottomTimeTableNavIconWidget(widget.data.l10n, () {
|
||||
setState(() {
|
||||
_controller.jumpToPage(i);
|
||||
active = i;
|
||||
});
|
||||
}, active == i, date),
|
||||
Transform.translate(
|
||||
offset: Offset(38, -10),
|
||||
child: BubbleTest(),
|
||||
),
|
||||
],
|
||||
));
|
||||
} else {
|
||||
ttWidgets.add(BottomTimeTableNavIconWidget(widget.data.l10n, () {
|
||||
setState(() {
|
||||
_controller.jumpToPage(i);
|
||||
active = i;
|
||||
});
|
||||
}, active == i, date));
|
||||
}
|
||||
|
||||
ttDays.add(TimeTableDayWidget(widget.data, date, lessons!,
|
||||
lessonsOnDate, eventsOnDate, testsOnDate));
|
||||
}
|
||||
|
||||
33
firka/lib/ui/phone/widgets/bubble_test.dart
Normal file
33
firka/lib/ui/phone/widgets/bubble_test.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
import 'package:firka/ui/widget/firka_icon.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:majesticons_flutter/majesticons_flutter.dart';
|
||||
|
||||
import '../../model/style.dart';
|
||||
|
||||
class BubbleTest extends StatelessWidget {
|
||||
const BubbleTest({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(
|
||||
children: [
|
||||
SvgPicture.asset(
|
||||
"assets/images/bubble.svg",
|
||||
color: appStyle.colors.buttonSecondaryFill,
|
||||
width: 24,
|
||||
height: 24,
|
||||
),
|
||||
Transform.translate(
|
||||
offset: Offset(3, 6),
|
||||
child: FirkaIconWidget(
|
||||
FirkaIconType.majesticons,
|
||||
Majesticon.editPen4Line,
|
||||
color: appStyle.colors.accent,
|
||||
size: 14,
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -96,6 +96,7 @@ flutter:
|
||||
- assets/images/icons/
|
||||
- assets/images/background.webp
|
||||
- assets/images/wear_pair.svg
|
||||
- assets/images/bubble.svg
|
||||
- assets/icons/
|
||||
- assets/majesticons/
|
||||
- assets/firka.i
|
||||
|
||||
Reference in New Issue
Block a user