Skip to content

Commit

Permalink
migrate app from modal_bottom_sheet to sheet
Browse files Browse the repository at this point in the history
  • Loading branch information
NeXTormer committed Oct 23, 2023
1 parent 6f47c51 commit 17a34f9
Show file tree
Hide file tree
Showing 22 changed files with 117 additions and 134 deletions.
4 changes: 0 additions & 4 deletions lib/admin_panel/screens/admin_list_icon_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import 'package:frederic/main.dart';
import 'package:frederic/widgets/standard_elements/frederic_card.dart';
import 'package:frederic/widgets/standard_elements/frederic_text_field.dart';
import 'package:frederic/widgets/standard_elements/picture_icon.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';

class AdminListIconScreen extends StatefulWidget {
const AdminListIconScreen({this.onSelect, Key? key}) : super(key: key);
Expand Down Expand Up @@ -88,9 +87,6 @@ class _AdminListIconScreenState extends State<AdminListIconScreen> {
Expanded(
child: GridView.builder(
scrollDirection: Axis.vertical,
controller: widget.onSelect != null
? ModalScrollController.of(context)
: null,
gridDelegate:
SliverGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: 120,
Expand Down
20 changes: 20 additions & 0 deletions lib/misc/bottom_sheet.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import 'package:flutter/cupertino.dart';
import 'package:sheet/route.dart';

Future<void> showFredericBottomSheet(
{required BuildContext context,
bool enableDrag = false,
bool isDismissible = false,
required Widget Function(BuildContext) builder}) {
return Navigator.of(context).push(CupertinoSheetRoute<void>(
builder: builder,
));
// Navigator.of(context)
// .push(SheetRoute<void>(builder: builder, draggable: enableDrag));
}

// void showOldCupertinoFredericBottomSheet({required BuildContext context, required Widget Function(BuildContext) builder}) {
// CupertinoScaffold.showCupertinoModalBottomSheet(
// context: context,
// builder: builder);
// }
3 changes: 1 addition & 2 deletions lib/screens/achievement_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import 'package:frederic/widgets/standard_elements/frederic_button.dart';
import 'package:frederic/widgets/standard_elements/frederic_heading.dart';
import 'package:frederic/widgets/standard_elements/goal_cards/goal_card_medaille_indicator.dart';
import 'package:frederic/widgets/standard_elements/sliver_divider.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';

class AchievementScreen extends StatelessWidget {
const AchievementScreen(this.goal, this.parentContext, {Key? key})
Expand All @@ -28,7 +27,6 @@ class AchievementScreen extends StatelessWidget {
body: Stack(
children: [
CustomScrollView(
controller: ModalScrollController.of(context),
slivers: [
AchievementHeader(),
SliverDivider(),
Expand Down Expand Up @@ -107,6 +105,7 @@ class AchievementScreen extends StatelessWidget {

class _AchievementTitle extends StatelessWidget {
const _AchievementTitle(this.text);

final String text;

Widget build(BuildContext context) {
Expand Down
11 changes: 5 additions & 6 deletions lib/screens/activity_list_screen.dart
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:frederic/backend/authentication/frederic_user_manager.dart';
import 'package:frederic/backend/backend.dart';
import 'package:frederic/main.dart';
import 'package:frederic/misc/bottom_sheet.dart';
import 'package:frederic/screens/edit_activity_screen.dart';
import 'package:frederic/widgets/activity_screen/activity_filter_segment.dart';
import 'package:frederic/widgets/activity_screen/activity_list_screen_app_bar.dart';
import 'package:frederic/widgets/activity_screen/activity_list_segment.dart';
import 'package:frederic/widgets/activity_screen/featured_activity_segment.dart';
import 'package:frederic/widgets/standard_elements/frederic_scaffold.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
import 'package:provider/provider.dart';

import '../state/activity_filter_controller.dart';
Expand All @@ -36,8 +35,10 @@ class ActivityListScreen extends StatelessWidget {
create: (context) => ActivityFilterController(),
child: FredericScaffold(
floatingActionButton: FloatingActionButton(
key: ValueKey<String>('fab_activitylistscreen'),
onPressed: () {
if (CupertinoScaffold.of(context) == null) {
// if (CupertinoScaffold.of(context) == null) {
if (false) {
showModalBottomSheet(
enableDrag: true,
isScrollControlled: true,
Expand All @@ -57,7 +58,7 @@ class ActivityListScreen extends StatelessWidget {
);
});
} else {
CupertinoScaffold.showCupertinoModalBottomSheet(
showFredericBottomSheet(
enableDrag: true,
context: context,
builder: (newContext) {
Expand All @@ -80,8 +81,6 @@ class ActivityListScreen extends StatelessWidget {
builder: (context, filter, child) {
return CustomScrollView(
physics: BouncingScrollPhysics(),
controller:
isSelector ? ModalScrollController.of(context) : null,
slivers: [
ActivityListScreenAppBar(
title,
Expand Down
2 changes: 0 additions & 2 deletions lib/screens/add_progress_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import 'package:frederic/widgets/add_progress_screen/reps_weight_smart_suggestio
import 'package:frederic/widgets/standard_elements/frederic_card.dart';
import 'package:frederic/widgets/standard_elements/frederic_heading.dart';
import 'package:frederic/widgets/standard_elements/picture_icon.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';

class AddProgressScreen extends StatefulWidget {
AddProgressScreen(this.activity, {this.openedFromCalendar = false}) {
Expand Down Expand Up @@ -124,7 +123,6 @@ class _AddProgressScreenState extends State<AddProgressScreen> {
: null;
return CustomScrollView(
physics: ClampingScrollPhysics(),
controller: ModalScrollController.of(context),
slivers: [
SliverPadding(padding: EdgeInsets.only(bottom: 12)),
_DisplayActivityCard(widget.activity),
Expand Down
94 changes: 45 additions & 49 deletions lib/screens/bottom_navigation_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:frederic/backend/backend.dart';
import 'package:frederic/main.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';

class BottomNavigationScreen extends StatefulWidget {
BottomNavigationScreen(this.screens);
Expand Down Expand Up @@ -39,60 +38,57 @@ class _BottomNavigationScreenState extends State<BottomNavigationScreen>

@override
Widget build(BuildContext context) {
return CupertinoScaffold(
body: Scaffold(
backgroundColor: theme.backgroundColor,
extendBodyBehindAppBar: false,
body: AnnotatedRegion<SystemUiOverlayStyle>(
value: theme.isDark || theme.isColorful
? SystemUiOverlayStyle.light
: SystemUiOverlayStyle.dark,
child: PageView(
children: screens,
controller: pageController,
onPageChanged: (index) {
return Scaffold(
backgroundColor: theme.backgroundColor,
extendBodyBehindAppBar: false,
body: AnnotatedRegion<SystemUiOverlayStyle>(
value: theme.isDark || theme.isColorful
? SystemUiOverlayStyle.light
: SystemUiOverlayStyle.dark,
child: PageView(
children: screens,
controller: pageController,
onPageChanged: (index) {
setState(() {
currentIndex = index;
});
_sendCurrentTabToAnalytics();
},
),
),
bottomNavigationBar: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topRight: Radius.circular(12), topLeft: Radius.circular(12)),
boxShadow: [
BoxShadow(color: Color(0x17000000), spreadRadius: 0, blurRadius: 3),
],
),
child: ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(12), topRight: Radius.circular(12)),
child: BottomNavigationBar(
items: items,
elevation: 0,
backgroundColor:
theme.isColorful ? theme.mainColor : theme.backgroundColor,
selectedItemColor: theme.isColorful
? theme.textColorColorfulBackground
: theme.accentColor,
unselectedItemColor: theme.isColorful
? theme.textColorColorfulBackground
: theme.mainColor,
showUnselectedLabels: true,
type: BottomNavigationBarType.fixed,
currentIndex: currentIndex,
onTap: (index) {
setState(() {
currentIndex = index;
pageController.jumpToPage(index);
});
_sendCurrentTabToAnalytics();
},
),
),
bottomNavigationBar: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topRight: Radius.circular(12), topLeft: Radius.circular(12)),
boxShadow: [
BoxShadow(
color: Color(0x17000000), spreadRadius: 0, blurRadius: 3),
],
),
child: ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(12), topRight: Radius.circular(12)),
child: BottomNavigationBar(
items: items,
elevation: 0,
backgroundColor:
theme.isColorful ? theme.mainColor : theme.backgroundColor,
selectedItemColor: theme.isColorful
? theme.textColorColorfulBackground
: theme.accentColor,
unselectedItemColor: theme.isColorful
? theme.textColorColorfulBackground
: theme.mainColor,
showUnselectedLabels: true,
type: BottomNavigationBarType.fixed,
currentIndex: currentIndex,
onTap: (index) {
setState(() {
currentIndex = index;
pageController.jumpToPage(index);
});
},
),
),
),
),
);
}
Expand Down
2 changes: 0 additions & 2 deletions lib/screens/edit_activity_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import 'package:frederic/widgets/standard_elements/frederic_scaffold.dart';
import 'package:frederic/widgets/standard_elements/frederic_text_field.dart';
import 'package:frederic/widgets/standard_elements/number_wheel.dart';
import 'package:frederic/widgets/standard_elements/sliver_divider.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';

import '../main.dart';

Expand Down Expand Up @@ -78,7 +77,6 @@ class _EditActivityScreenState extends State<EditActivityScreen> {

return FredericScaffold(
body: CustomScrollView(
controller: ModalScrollController.of(context),
slivers: [
SliverToBoxAdapter(
child: FredericBasicAppBar(
Expand Down
7 changes: 3 additions & 4 deletions lib/screens/edit_goal_data_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import 'package:frederic/backend/sets/frederic_set_manager.dart';
import 'package:frederic/extensions.dart';
import 'package:frederic/main.dart';
import 'package:frederic/misc/ExtraIcons.dart';
import 'package:frederic/misc/bottom_sheet.dart';
import 'package:frederic/screens/screens.dart';
import 'package:frederic/widgets/standard_elements/activity_cards/activity_card.dart';
import 'package:frederic/widgets/standard_elements/frederic_action_dialog.dart';
Expand All @@ -22,7 +23,6 @@ import 'package:frederic/widgets/standard_elements/goal_cards/goal_card.dart';
import 'package:frederic/widgets/standard_elements/number_wheel.dart';
import 'package:frederic/widgets/standard_elements/sliver_divider.dart';
import 'package:frederic/widgets/standard_elements/unit_slider.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';

enum Datepicker { Start, End }

Expand Down Expand Up @@ -105,7 +105,6 @@ class _EditGoalDataScreenState extends State<EditGoalDataScreen> {
return Scaffold(
backgroundColor: theme.backgroundColor,
body: CustomScrollView(
controller: ModalScrollController.of(context),
slivers: [
SliverPadding(padding: const EdgeInsets.only(bottom: 12)),
buildHeaderSegment(),
Expand Down Expand Up @@ -262,7 +261,7 @@ class _EditGoalDataScreenState extends State<EditGoalDataScreen> {
}

void addNewActivityTracker(BuildContext context) {
showCupertinoModalBottomSheet(
showFredericBottomSheet(
context: context,
builder: (ctx) => BlocProvider.value(
value: BlocProvider.of<FredericSetManager>(context),
Expand Down Expand Up @@ -296,7 +295,7 @@ class _EditGoalDataScreenState extends State<EditGoalDataScreen> {
}

void showAddProgressScreen(BuildContext context, FredericActivity activity) {
showCupertinoModalBottomSheet(
showFredericBottomSheet(
context: context,
builder: (ctx) {
return BlocProvider.value(
Expand Down
2 changes: 0 additions & 2 deletions lib/screens/edit_workout_data_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import 'package:frederic/widgets/standard_elements/frederic_slider.dart';
import 'package:frederic/widgets/standard_elements/frederic_text_field.dart';
import 'package:frederic/widgets/standard_elements/sliver_divider.dart';
import 'package:frederic/widgets/workout_list_screen/workout_card.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';

class EditWorkoutDataScreen extends StatefulWidget {
EditWorkoutDataScreen(this.workout, {Key? key}) : super(key: key) {
Expand Down Expand Up @@ -84,7 +83,6 @@ class _EditWorkoutDataScreenState extends State<EditWorkoutDataScreen> {
return Scaffold(
backgroundColor: theme.backgroundColor,
body: CustomScrollView(
controller: ModalScrollController.of(context),
slivers: [
SliverToBoxAdapter(
child: FredericBasicAppBar(
Expand Down
Loading

0 comments on commit 17a34f9

Please sign in to comment.