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