Migrate animations to go_router (#1521)

pull/1524/head
Miguel Beltran 3 years ago committed by GitHub
parent 69fa2c51a2
commit 4ef8daffb6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,6 +6,8 @@ import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
// ignore: depend_on_referenced_packages
import 'package:window_size/window_size.dart';
@ -147,29 +149,38 @@ final miscDemos = [
builder: (context) => const CurvedAnimationDemo()),
];
final basicDemoRoutes =
Map.fromEntries(basicDemos.map((d) => MapEntry(d.route, d.builder)));
final miscDemoRoutes =
Map.fromEntries(miscDemos.map((d) => MapEntry(d.route, d.builder)));
final allRoutes = <String, WidgetBuilder>{
...basicDemoRoutes,
...miscDemoRoutes,
};
final router = GoRouter(
routes: [
GoRoute(
path: '/',
builder: (context, state) => const HomePage(),
routes: [
for (final demo in basicDemos)
GoRoute(
path: demo.route,
builder: (context, state) => demo.builder(context),
),
for (final demo in miscDemos)
GoRoute(
path: demo.route,
builder: (context, state) => demo.builder(context),
),
],
),
],
);
class AnimationSamples extends StatelessWidget {
const AnimationSamples({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
return MaterialApp.router(
title: 'Animation Samples',
theme: ThemeData(
primarySwatch: Colors.deepPurple,
),
routes: allRoutes,
home: const HomePage(),
routerConfig: router,
);
}
}
@ -206,7 +217,7 @@ class DemoTile extends StatelessWidget {
return ListTile(
title: Text(demo.name),
onTap: () {
Navigator.pushNamed(context, demo.route);
context.go('/${demo.route}');
},
);
}

@ -12,7 +12,7 @@ Color generateColor() => Color(0xFFFFFFFF & Random().nextInt(0xFFFFFFFF));
class AnimatedContainerDemo extends StatefulWidget {
const AnimatedContainerDemo({super.key});
static String routeName = '/basics/01_animated_container';
static String routeName = 'basics/01_animated_container';
@override
State<AnimatedContainerDemo> createState() => _AnimatedContainerDemoState();

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class PageRouteBuilderDemo extends StatelessWidget {
const PageRouteBuilderDemo({super.key});
static const String routeName = '/basics/page_route_builder';
static const String routeName = 'basics/page_route_builder';
@override
Widget build(BuildContext context) {

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class AnimationControllerDemo extends StatefulWidget {
const AnimationControllerDemo({super.key});
static const String routeName = '/basics/animation_controller';
static const String routeName = 'basics/animation_controller';
@override
State<AnimationControllerDemo> createState() =>

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class TweenDemo extends StatefulWidget {
const TweenDemo({super.key});
static const String routeName = '/basics/tweens';
static const String routeName = 'basics/tweens';
@override
State<TweenDemo> createState() => _TweenDemoState();

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class AnimatedBuilderDemo extends StatefulWidget {
const AnimatedBuilderDemo({super.key});
static const String routeName = '/basics/animated_builder';
static const String routeName = 'basics/animated_builder';
@override
State<AnimatedBuilderDemo> createState() => _AnimatedBuilderDemoState();

@ -17,7 +17,7 @@ class TypewriterTween extends Tween<String> {
class CustomTweenDemo extends StatefulWidget {
const CustomTweenDemo({super.key});
static const String routeName = '/basics/custom_tweens';
static const String routeName = 'basics/custom_tweens';
@override
State<CustomTweenDemo> createState() => _CustomTweenDemoState();

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class TweenSequenceDemo extends StatefulWidget {
const TweenSequenceDemo({super.key});
static const String routeName = '/basics/chaining_tweens';
static const String routeName = 'basics/chaining_tweens';
@override
State<TweenSequenceDemo> createState() => _TweenSequenceDemoState();

@ -8,7 +8,7 @@ import 'package:flutter/material.dart';
// for examples of other common animated widgets.
class FadeTransitionDemo extends StatefulWidget {
const FadeTransitionDemo({super.key});
static const String routeName = '/basics/fade_transition';
static const String routeName = 'basics/fade_transition';
@override
State<FadeTransitionDemo> createState() => _FadeTransitionDemoState();

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class AnimatedListDemo extends StatefulWidget {
const AnimatedListDemo({super.key});
static String routeName = '/misc/animated_list';
static String routeName = 'misc/animated_list';
@override
State<AnimatedListDemo> createState() => _AnimatedListDemoState();

@ -8,7 +8,7 @@ import 'package:flutter/material.dart';
class AnimatedPositionedDemo extends StatefulWidget {
const AnimatedPositionedDemo({super.key});
static String routeName = '/basics/09_animated_positioned';
static String routeName = 'misc/animated_positioned';
@override
State<AnimatedPositionedDemo> createState() => _AnimatedPositionedDemoState();

@ -24,7 +24,7 @@ Widget generateContainer(int keyCount) => Container(
class AnimatedSwitcherDemo extends StatefulWidget {
const AnimatedSwitcherDemo({super.key});
static String routeName = '/basics/10_animated_switcher';
static String routeName = 'misc/animated_switcher';
@override
State<AnimatedSwitcherDemo> createState() => _AnimatedSwitcherDemoState();

@ -7,7 +7,7 @@ import 'package:flutter/physics.dart';
class CardSwipeDemo extends StatefulWidget {
const CardSwipeDemo({super.key});
static String routeName = '/misc/card_swipe';
static String routeName = 'misc/card_swipe';
@override
State<CardSwipeDemo> createState() => _CardSwipeDemoState();

@ -7,7 +7,7 @@ import 'package:flutter/material.dart';
class CarouselDemo extends StatelessWidget {
CarouselDemo({super.key});
static String routeName = '/misc/carousel';
static String routeName = 'misc/carousel';
static const List<String> fileNames = [
'assets/eat_cape_town_sm.jpg',

@ -7,7 +7,7 @@ import 'package:flutter/material.dart';
class CurvedAnimationDemo extends StatefulWidget {
const CurvedAnimationDemo({super.key});
static const String routeName = '/misc/curved_animation';
static const String routeName = 'misc/curved_animation';
@override
State<CurvedAnimationDemo> createState() => _CurvedAnimationDemoState();

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class ExpandCardDemo extends StatelessWidget {
const ExpandCardDemo({super.key});
static const String routeName = '/misc/expand_card';
static const String routeName = 'misc/expand_card';
@override
Widget build(BuildContext context) {

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class FocusImageDemo extends StatelessWidget {
const FocusImageDemo({super.key});
static String routeName = '/misc/focus_image';
static String routeName = 'misc/focus_image';
@override
Widget build(BuildContext context) {

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class HeroAnimationDemo extends StatelessWidget {
const HeroAnimationDemo({super.key});
static const String routeName = '/misc/hero_animation';
static const String routeName = 'misc/hero_animation';
@override
Widget build(BuildContext context) {

@ -7,7 +7,7 @@ import 'package:flutter/physics.dart';
class PhysicsCardDragDemo extends StatelessWidget {
const PhysicsCardDragDemo({super.key});
static const String routeName = '/misc/physics_card';
static const String routeName = 'misc/physics_card';
@override
Widget build(BuildContext context) {

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class RepeatingAnimationDemo extends StatefulWidget {
const RepeatingAnimationDemo({super.key});
static String routeName = '/misc/repeating_animation';
static String routeName = 'misc/repeating_animation';
@override
State<RepeatingAnimationDemo> createState() => _RepeatingAnimationDemoState();

@ -10,6 +10,7 @@ dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
go_router: ^5.2.3
dev_dependencies:
flutter_test:

Loading…
Cancel
Save