initial commit
Some checks failed
xiao_pet_tracker / semantic-pull-request (push) Has been cancelled
xiao_pet_tracker / build (push) Has been cancelled
xiao_pet_tracker / spell-check (push) Has been cancelled

This commit is contained in:
2025-02-23 20:50:34 +01:00
commit 2fe59fee0d
360 changed files with 14384 additions and 0 deletions

View 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),
),
],
);
},
);
}
}

View 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();
},
);
}