initial commit
This commit is contained in:
89
lib/app_router/app_router.dart
Normal file
89
lib/app_router/app_router.dart
Normal file
@@ -0,0 +1,89 @@
|
||||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:forui/forui.dart';
|
||||
import 'package:xiao_pet_tracker/app_router/app_router.gr.dart';
|
||||
|
||||
@AutoRouterConfig()
|
||||
class AppRouter extends RootStackRouter {
|
||||
@override
|
||||
RouteType get defaultRouteType => const RouteType.material();
|
||||
|
||||
@override
|
||||
List<AutoRoute> get routes => [
|
||||
AutoRoute(
|
||||
page: MainRoute.page,
|
||||
path: '/',
|
||||
children: [
|
||||
AutoRoute(
|
||||
page: XiaoConnectorRoute.page,
|
||||
),
|
||||
AutoRoute(
|
||||
page: RecordingsRoute.page,
|
||||
children: [],
|
||||
),
|
||||
],
|
||||
),
|
||||
AutoRoute(
|
||||
page: RecordingsDetailsRoute.page,
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
@RoutePage()
|
||||
class MainPage extends StatelessWidget {
|
||||
const MainPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AutoTabsScaffold(
|
||||
// transitionBuilder: (context, child, animation) => AnimatedBuilder(
|
||||
// animation: animation,
|
||||
// child: child,
|
||||
// // builder: (BuildContext context, Widget? child) {
|
||||
// // const begin = Offset(0.0, 0.1);
|
||||
// // const end = Offset.zero;
|
||||
// // final tween = Tween(begin: begin, end: end);
|
||||
// // final offsetAnimation = animation.drive(tween);
|
||||
// // return SlideTransition(
|
||||
// // position: offsetAnimation,
|
||||
// // child: Transform.scale(
|
||||
// // alignment: Alignment.bottomCenter,
|
||||
// // scale: animation.value,
|
||||
// // child: ClipPath(
|
||||
// // clipper: CircularRevealClipper(
|
||||
// // fraction: animation.value,
|
||||
// // centerAlignment: Alignment.bottomCenter,
|
||||
// // // centerOffset: centerOffset,
|
||||
// // // minRadius: minRadius,
|
||||
// // // maxRadius: maxRadius,
|
||||
// // ),
|
||||
// // child: child,
|
||||
// // ),
|
||||
// // ),
|
||||
// // );
|
||||
// // },
|
||||
// ),
|
||||
animationDuration: const Duration(milliseconds: 650),
|
||||
routes: const [
|
||||
XiaoConnectorRoute(),
|
||||
RecordingsRoute(),
|
||||
],
|
||||
bottomNavigationBuilder: (context, tabsRouter) {
|
||||
return FBottomNavigationBar(
|
||||
index: tabsRouter.activeIndex,
|
||||
onChange: tabsRouter.setActiveIndex,
|
||||
children: [
|
||||
FBottomNavigationBarItem(
|
||||
label: const Text('Xiao Connector'),
|
||||
icon: FIcon(FAssets.icons.microchip),
|
||||
),
|
||||
FBottomNavigationBarItem(
|
||||
label: const Text('Recordings'),
|
||||
icon: FIcon(FAssets.icons.disc3),
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
149
lib/app_router/app_router.gr.dart
Normal file
149
lib/app_router/app_router.gr.dart
Normal file
@@ -0,0 +1,149 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
// **************************************************************************
|
||||
// AutoRouterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
// coverage:ignore-file
|
||||
|
||||
// ignore_for_file: no_leading_underscores_for_library_prefixes
|
||||
import 'package:auto_route/auto_route.dart' as _i6;
|
||||
import 'package:flutter/material.dart' as _i7;
|
||||
import 'package:xiao_pet_tracker/app_router/app_router.dart' as _i1;
|
||||
import 'package:xiao_pet_tracker/recordings/view/recordings_details.dart'
|
||||
as _i2;
|
||||
import 'package:xiao_pet_tracker/recordings/view/recordings_page.dart' as _i3;
|
||||
import 'package:xiao_pet_tracker/xiao_connector/view/xiao_connector_page.dart'
|
||||
as _i4;
|
||||
import 'package:xiao_pet_tracker/xiao_connector/view/xiao_data_page.dart'
|
||||
as _i5;
|
||||
|
||||
/// generated route for
|
||||
/// [_i1.MainPage]
|
||||
class MainRoute extends _i6.PageRouteInfo<void> {
|
||||
const MainRoute({List<_i6.PageRouteInfo>? children})
|
||||
: super(
|
||||
MainRoute.name,
|
||||
initialChildren: children,
|
||||
);
|
||||
|
||||
static const String name = 'MainRoute';
|
||||
|
||||
static _i6.PageInfo page = _i6.PageInfo(
|
||||
name,
|
||||
builder: (data) {
|
||||
return const _i1.MainPage();
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
/// generated route for
|
||||
/// [_i2.RecordingsDetailsPage]
|
||||
class RecordingsDetailsRoute
|
||||
extends _i6.PageRouteInfo<RecordingsDetailsRouteArgs> {
|
||||
RecordingsDetailsRoute({
|
||||
required String uuid,
|
||||
required String type,
|
||||
_i7.Key? key,
|
||||
List<_i6.PageRouteInfo>? children,
|
||||
}) : super(
|
||||
RecordingsDetailsRoute.name,
|
||||
args: RecordingsDetailsRouteArgs(
|
||||
uuid: uuid,
|
||||
type: type,
|
||||
key: key,
|
||||
),
|
||||
initialChildren: children,
|
||||
);
|
||||
|
||||
static const String name = 'RecordingsDetailsRoute';
|
||||
|
||||
static _i6.PageInfo page = _i6.PageInfo(
|
||||
name,
|
||||
builder: (data) {
|
||||
final args = data.argsAs<RecordingsDetailsRouteArgs>();
|
||||
return _i2.RecordingsDetailsPage(
|
||||
uuid: args.uuid,
|
||||
type: args.type,
|
||||
key: args.key,
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
class RecordingsDetailsRouteArgs {
|
||||
const RecordingsDetailsRouteArgs({
|
||||
required this.uuid,
|
||||
required this.type,
|
||||
this.key,
|
||||
});
|
||||
|
||||
final String uuid;
|
||||
|
||||
final String type;
|
||||
|
||||
final _i7.Key? key;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'RecordingsDetailsRouteArgs{uuid: $uuid, type: $type, key: $key}';
|
||||
}
|
||||
}
|
||||
|
||||
/// generated route for
|
||||
/// [_i3.RecordingsPage]
|
||||
class RecordingsRoute extends _i6.PageRouteInfo<void> {
|
||||
const RecordingsRoute({List<_i6.PageRouteInfo>? children})
|
||||
: super(
|
||||
RecordingsRoute.name,
|
||||
initialChildren: children,
|
||||
);
|
||||
|
||||
static const String name = 'RecordingsRoute';
|
||||
|
||||
static _i6.PageInfo page = _i6.PageInfo(
|
||||
name,
|
||||
builder: (data) {
|
||||
return const _i3.RecordingsPage();
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
/// generated route for
|
||||
/// [_i4.XiaoConnectorPage]
|
||||
class XiaoConnectorRoute extends _i6.PageRouteInfo<void> {
|
||||
const XiaoConnectorRoute({List<_i6.PageRouteInfo>? children})
|
||||
: super(
|
||||
XiaoConnectorRoute.name,
|
||||
initialChildren: children,
|
||||
);
|
||||
|
||||
static const String name = 'XiaoConnectorRoute';
|
||||
|
||||
static _i6.PageInfo page = _i6.PageInfo(
|
||||
name,
|
||||
builder: (data) {
|
||||
return const _i4.XiaoConnectorPage();
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
/// generated route for
|
||||
/// [_i5.XiaoDataPage]
|
||||
class XiaoDataRoute extends _i6.PageRouteInfo<void> {
|
||||
const XiaoDataRoute({List<_i6.PageRouteInfo>? children})
|
||||
: super(
|
||||
XiaoDataRoute.name,
|
||||
initialChildren: children,
|
||||
);
|
||||
|
||||
static const String name = 'XiaoDataRoute';
|
||||
|
||||
static _i6.PageInfo page = _i6.PageInfo(
|
||||
name,
|
||||
builder: (data) {
|
||||
return const _i5.XiaoDataPage();
|
||||
},
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user