Skip to content

Commit

Permalink
Smoother transitions on navigate
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiasn committed Jun 20, 2023
1 parent c107796 commit a135469
Show file tree
Hide file tree
Showing 17 changed files with 36 additions and 38 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Upgraded dependencies
- Choice chip styles
- Habit skip button saturation
- Smoother transitions on navigate

## [0.8.381] - 2023-06-17
### Changed:
Expand Down
1 change: 0 additions & 1 deletion lib/beamer/locations/dashboards_location.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ class DashboardsLocation extends BeamLocation<BeamState> {
const BeamPage(
key: ValueKey('dashboards'),
title: 'Dashboards',
type: BeamPageType.noTransition,
child: DashboardsListPage(),
),
if (isUuid(dashboardId))
Expand Down
1 change: 0 additions & 1 deletion lib/beamer/locations/habits_location.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ class HabitsLocation extends BeamLocation<BeamState> {
BeamPage(
key: const ValueKey('habits'),
title: 'Habits',
type: BeamPageType.noTransition,
child: BlocProvider<HabitsCubit>(
create: (BuildContext context) => HabitsCubit(),
child: const HabitsTabPage(),
Expand Down
1 change: 0 additions & 1 deletion lib/beamer/locations/journal_location.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ class JournalLocation extends BeamLocation<BeamState> {
const BeamPage(
key: ValueKey('journal'),
title: 'Journal',
type: BeamPageType.noTransition,
child: InfiniteJournalPage(showTasks: false),
),
if (isUuid(entryId))
Expand Down
1 change: 0 additions & 1 deletion lib/beamer/locations/settings_location.dart
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ class SettingsLocation extends BeamLocation<BeamState> {
const BeamPage(
key: ValueKey('settings'),
title: 'Settings',
type: BeamPageType.noTransition,
child: SettingsPage(),
),

Expand Down
1 change: 0 additions & 1 deletion lib/beamer/locations/tasks_location.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ class TasksLocation extends BeamLocation<BeamState> {
const BeamPage(
key: ValueKey('tasks'),
title: 'Tasks',
type: BeamPageType.noTransition,
child: InfiniteJournalPage(showTasks: true),
),
if (isUuid(entryId))
Expand Down
8 changes: 1 addition & 7 deletions lib/pages/create/complete_habit_dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -289,13 +289,7 @@ class _HabitDialogState extends State<HabitDialog> {
color: habitSuccessColor,
),
),
)
.animate(
autoPlay: true,
onPlay: (controller) =>
controller.repeat(),
)
.shimmer(
).animate(autoPlay: true).shimmer(
delay: 1.seconds,
duration: .7.seconds,
color: Theme.of(context).cardColor,
Expand Down
2 changes: 0 additions & 2 deletions lib/pages/empty_scaffold.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_fadein/flutter_fadein.dart';
import 'package:lotti/themes/colors.dart';
import 'package:lotti/widgets/app_bar/title_app_bar.dart';

class EmptyScaffoldWithTitle extends StatelessWidget {
Expand All @@ -19,7 +18,6 @@ class EmptyScaffoldWithTitle extends StatelessWidget {
duration: const Duration(seconds: 2),
child: Scaffold(
appBar: TitleAppBar(title: title),
backgroundColor: nickel,
body: body,
),
);
Expand Down
5 changes: 3 additions & 2 deletions lib/pages/journal/entry_details_page.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:lotti/classes/journal_entities.dart';
import 'package:lotti/database/database.dart';
import 'package:lotti/get_it.dart';
Expand Down Expand Up @@ -46,7 +47,7 @@ class EntryDetailPage extends StatelessWidget {
isMacOS: Platform.isMacOS,
isIOS: Platform.isIOS,
isAndroid: Platform.isAndroid,
),
).animate().fadeIn(duration: const Duration(milliseconds: 2000)),
body: SingleChildScrollView(
physics: const ClampingScrollPhysics(),
padding: const EdgeInsets.only(
Expand All @@ -66,7 +67,7 @@ class EntryDetailPage extends StatelessWidget {
LinkedEntriesWidget(item: item),
LinkedFromEntriesWidget(item: item),
],
),
).animate().fadeIn(duration: const Duration(milliseconds: 250)),
),
);
},
Expand Down
5 changes: 4 additions & 1 deletion lib/pages/settings/sliver_box_adapter_page.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:lotti/widgets/app_bar/sliver_title_bar.dart';

class SliverBoxAdapterPage extends StatelessWidget {
Expand All @@ -24,7 +25,9 @@ class SliverBoxAdapterPage extends StatelessWidget {
showBackButton: showBackButton,
),
SliverToBoxAdapter(
child: child,
child: child
.animate()
.fadeIn(duration: const Duration(milliseconds: 500)),
)
],
),
Expand Down
1 change: 1 addition & 0 deletions lib/pages/settings/theming_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class ThemingPage extends StatelessWidget {
title: localizations.settingsThemingTitle,
showBackButton: true,
child: Card(
margin: const EdgeInsets.all(10),
child: Padding(
padding: const EdgeInsets.all(25),
child: Column(
Expand Down
3 changes: 3 additions & 0 deletions lib/themes/theme.dart
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,8 @@ ThemeData withOverrides(ThemeData themeData) {
}),
),
),
pageTransitionsTheme: const PageTransitionsTheme(
builders: <TargetPlatform, PageTransitionsBuilder>{},
),
);
}
2 changes: 1 addition & 1 deletion lib/widgets/app_bar/task_app_bar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class TaskAppBar extends StatelessWidget implements PreferredSizeWidget {
) {
final item = snapshot.data;
if (item == null || item.meta.deletedAt != null) {
return const TitleAppBar(title: 'Lotti');
return const TitleAppBar(title: '');
}

final isTask = item is Task;
Expand Down
9 changes: 7 additions & 2 deletions lib/widgets/app_bar/title_app_bar.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:lotti/beamer/beamer_delegates.dart';
import 'package:lotti/themes/theme.dart';
Expand Down Expand Up @@ -30,7 +31,11 @@ class TitleAppBar extends StatelessWidget implements PreferredSizeWidget {
title,
style: appBarTextStyleNew,
),
leading: showBackButton ? const BackWidget() : Container(),
leading: showBackButton
? const BackWidget()
.animate()
.fadeIn(duration: const Duration(seconds: 1))
: Container(),
centerTitle: true,
);
}
Expand Down Expand Up @@ -78,6 +83,6 @@ class BackWidget extends StatelessWidget {
),
),
],
);
).animate().fadeIn(duration: const Duration(seconds: 1));
}
}
26 changes: 11 additions & 15 deletions lib/widgets/create/add_actions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ class _RadialAddActionButtonsState extends State<RadialAddActionButtons> {
FloatingActionButton(
heroTag: 'screenshot',
tooltip: localizations.addActionAddScreenshot,
backgroundColor: Theme.of(context).primaryColorLight,
onPressed: () async {
rebuild();
await createScreenshot(linkedId: widget.linked?.meta.id);
Expand All @@ -82,7 +81,6 @@ class _RadialAddActionButtonsState extends State<RadialAddActionButtons> {
FloatingActionButton(
heroTag: 'photo',
tooltip: localizations.addActionAddPhotos,
backgroundColor: Theme.of(context).primaryColorLight,
onPressed: () {
rebuild();

Expand All @@ -101,7 +99,6 @@ class _RadialAddActionButtonsState extends State<RadialAddActionButtons> {
FloatingActionButton(
heroTag: 'text',
tooltip: localizations.addActionAddText,
backgroundColor: Theme.of(context).primaryColorLight,
onPressed: () async {
rebuild();
final linkedId = widget.linked?.meta.id;
Expand All @@ -116,7 +113,6 @@ class _RadialAddActionButtonsState extends State<RadialAddActionButtons> {
FloatingActionButton(
heroTag: 'timer',
tooltip: localizations.addActionAddTimeRecording,
backgroundColor: Theme.of(context).primaryColorLight,
onPressed: () async {
rebuild();
final linkedId = widget.linked?.meta.id;
Expand All @@ -134,7 +130,6 @@ class _RadialAddActionButtonsState extends State<RadialAddActionButtons> {
FloatingActionButton(
heroTag: 'audio',
tooltip: localizations.addActionAddAudioRecording,
backgroundColor: Theme.of(context).primaryColorLight,
onPressed: () {
rebuild();
final linkedId = widget.linked?.meta.id;
Expand All @@ -156,7 +151,6 @@ class _RadialAddActionButtonsState extends State<RadialAddActionButtons> {
FloatingActionButton(
heroTag: 'task',
tooltip: localizations.addActionAddTask,
backgroundColor: Theme.of(context).primaryColorLight,
onPressed: () async {
rebuild();
final linkedId = widget.linked?.meta.id;
Expand All @@ -174,15 +168,17 @@ class _RadialAddActionButtonsState extends State<RadialAddActionButtons> {
);
}

return CircleFloatingButton.floatingActionButton(
radius: 80 + items.length * 24,
key: ValueKey('add_actions $keyDateTime $showTasksTab'),
useOpacity: true,
items: items,
color: Theme.of(context).primaryColorLight,
icon: Icons.add,
duration: const Duration(milliseconds: 500),
curveAnim: Curves.ease,
return Padding(
padding: const EdgeInsets.only(right: 1, bottom: 1.5),
child: CircleFloatingButton.floatingActionButton(
radius: 80 + items.length * 24,
key: ValueKey('add_actions $keyDateTime $showTasksTab'),
useOpacity: true,
items: items,
icon: Icons.add,
duration: const Duration(milliseconds: 500),
curveAnim: Curves.ease,
),
);
},
);
Expand Down
5 changes: 3 additions & 2 deletions lib/widgets/journal/journal_card.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:lotti/classes/journal_entities.dart';
import 'package:lotti/database/database.dart';
import 'package:lotti/get_it.dart';
Expand Down Expand Up @@ -215,7 +216,7 @@ class JournalCard extends StatelessWidget {
),
onTap: onTap,
),
),
).animate().fadeIn(duration: const Duration(milliseconds: 100)),
);
},
);
Expand Down Expand Up @@ -297,7 +298,7 @@ class JournalImageCard extends StatelessWidget {
],
),
),
);
).animate().fadeIn(duration: const Duration(milliseconds: 100));
},
);
}
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: lotti
description: Achieve your goals and keep your data private with Lotti.
publish_to: 'none'
version: 0.9.382+2264
version: 0.9.382+2266

msix_config:
display_name: LottiApp
Expand Down

0 comments on commit a135469

Please sign in to comment.