fixed sorting issue

This commit is contained in:
Kima 2024-04-12 21:46:14 +02:00
parent 6dccd1f6eb
commit cb8db8670f

View File

@ -1,3 +1,4 @@
import 'package:flutter/foundation.dart';
import 'package:refilc/theme/colors/colors.dart'; import 'package:refilc/theme/colors/colors.dart';
import 'package:refilc/ui/date_widget.dart'; import 'package:refilc/ui/date_widget.dart';
import 'package:refilc/ui/filter/widgets.dart'; import 'package:refilc/ui/filter/widgets.dart';
@ -131,36 +132,45 @@ List<Widget> sortDateWidgets(
elements.insertAll(0, lessonTiles); elements.insertAll(0, lessonTiles);
final date = (elements + absenceTileWidgets).first.date; final date = (elements + absenceTileWidgets).first.date;
items.add(DateWidget(
date: date, try {
widget: Panel( items.add(DateWidget(
isTransparent: true, date: date,
key: ValueKey(date), widget: Panel(
padding: padding ?? const EdgeInsets.symmetric(vertical: 6.0), isTransparent: true,
title: cst ? Text(date.format(context, forceToday: true)) : null, key: ValueKey(date),
hasShadow: hasShadow, padding: padding ?? const EdgeInsets.symmetric(vertical: 6.0),
child: ImplicitlyAnimatedList<DateWidget>( title: cst ? Text(date.format(context, forceToday: true)) : null,
areItemsTheSame: (a, b) => a.key == b.key, hasShadow: hasShadow,
spawnIsolate: false, child: ImplicitlyAnimatedList<DateWidget>(
shrinkWrap: true, areItemsTheSame: (a, b) => a.key == b.key,
physics: const NeverScrollableScrollPhysics(), spawnIsolate: false,
itemBuilder: (context, animation, item, index) => filterItemBuilder( shrinkWrap: true,
context, physics: const NeverScrollableScrollPhysics(),
animation, itemBuilder: (context, animation, item, index) =>
item.widget, filterItemBuilder(
index, context,
len: elements.length, animation,
isAfterSeparated: index > 0 && item.widget,
(elements[index - 1].widget is CertificationCard || index,
elements[index - 1].widget is NewGradesSurprise), len: elements.length,
isBeforeSeparated: (index < elements.length - 1) && isAfterSeparated: index > 0 &&
(elements[index + 1].widget is CertificationCard || index < elements.length &&
elements[index + 1].widget is NewGradesSurprise), (elements[index - 1].widget is CertificationCard ||
elements[index - 1].widget is NewGradesSurprise),
isBeforeSeparated: (index < elements.length - 1) &&
(elements[index + 1].widget is CertificationCard ||
elements[index + 1].widget is NewGradesSurprise),
),
items: elements,
), ),
items: elements,
), ),
), ));
)); } catch (e) {
if (kDebugMode) {
print(e);
}
}
} }
} }