forked from firka/student-legacy
fixed separated widgets
This commit is contained in:
parent
c6633be301
commit
4b0726f939
@ -6,6 +6,7 @@ import 'package:filcnaplo_kreta_api/models/message.dart';
|
||||
import 'package:filcnaplo_mobile_ui/common/panel/panel.dart';
|
||||
import 'package:filcnaplo_mobile_ui/common/widgets/absence/absence_viewable.dart';
|
||||
import 'package:filcnaplo_mobile_ui/common/widgets/absence_group/absence_group_tile.dart';
|
||||
import 'package:filcnaplo_mobile_ui/common/widgets/cretification/certification_card.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:animated_list_plus/animated_list_plus.dart';
|
||||
import 'package:filcnaplo_mobile_ui/common/widgets/lesson/changed_lesson_tile.dart';
|
||||
@ -148,6 +149,10 @@ List<Widget> sortDateWidgets(
|
||||
item.widget,
|
||||
index,
|
||||
len: elements.length,
|
||||
isAfterSeparated: index > 0 &&
|
||||
(elements[index - 1].widget is CertificationCard),
|
||||
isBeforeSeparated: (index < elements.length - 1) &&
|
||||
(elements[index + 1].widget is CertificationCard),
|
||||
),
|
||||
items: elements,
|
||||
),
|
||||
|
@ -25,6 +25,7 @@ import 'package:filcnaplo_kreta_api/providers/homework_provider.dart';
|
||||
import 'package:filcnaplo_kreta_api/providers/message_provider.dart';
|
||||
import 'package:filcnaplo_kreta_api/providers/note_provider.dart';
|
||||
import 'package:filcnaplo_kreta_api/providers/timetable_provider.dart';
|
||||
import 'package:filcnaplo_mobile_ui/common/widgets/cretification/certification_card.dart';
|
||||
import 'package:filcnaplo_mobile_ui/common/widgets/note/note_viewable.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/premium/premium_inline.dart';
|
||||
@ -189,6 +190,8 @@ Widget filterItemBuilder(
|
||||
Widget item,
|
||||
int index, {
|
||||
int len = 0,
|
||||
bool isAfterSeparated = false,
|
||||
bool isBeforeSeparated = false,
|
||||
}) {
|
||||
if (item.key == const Key("\$premium")) {
|
||||
return Provider.of<PremiumProvider>(context, listen: false).hasPremium ||
|
||||
@ -210,6 +213,8 @@ Widget filterItemBuilder(
|
||||
child: item,
|
||||
);
|
||||
|
||||
bool separated = item is CertificationCard;
|
||||
|
||||
return item is Panel
|
||||
// Re-add & animate shadow
|
||||
? AnimatedBuilder(
|
||||
@ -244,7 +249,10 @@ Widget filterItemBuilder(
|
||||
})
|
||||
: (len > 0
|
||||
? Padding(
|
||||
padding: EdgeInsets.only(top: index == 0 ? 0.0 : 6.0),
|
||||
padding: EdgeInsets.only(
|
||||
top: index == 0
|
||||
? 0.0
|
||||
: (separated || isAfterSeparated ? 9.0 : 6.0)),
|
||||
child: Container(
|
||||
padding: item is NoteViewable
|
||||
? const EdgeInsets.symmetric(vertical: 8.0)
|
||||
@ -252,12 +260,16 @@ Widget filterItemBuilder(
|
||||
decoration: BoxDecoration(
|
||||
color: Theme.of(context).colorScheme.background,
|
||||
borderRadius: BorderRadius.vertical(
|
||||
top: index == 0
|
||||
top: separated || isAfterSeparated
|
||||
? const Radius.circular(16.0)
|
||||
: const Radius.circular(8.0),
|
||||
bottom: index + 1 == len
|
||||
: (index == 0
|
||||
? const Radius.circular(16.0)
|
||||
: const Radius.circular(8.0)),
|
||||
bottom: separated || isBeforeSeparated
|
||||
? const Radius.circular(16.0)
|
||||
: const Radius.circular(8.0),
|
||||
: (index + 1 == len
|
||||
? const Radius.circular(16.0)
|
||||
: const Radius.circular(8.0)),
|
||||
),
|
||||
),
|
||||
child: wrappedItem,
|
||||
|
Loading…
x
Reference in New Issue
Block a user