Skip to content

Commit

Permalink
fix(katana_router): Refactoring and name change.
Browse files Browse the repository at this point in the history
  • Loading branch information
mathrunet committed Oct 16, 2022
1 parent 073692b commit 3f8e9a3
Show file tree
Hide file tree
Showing 19 changed files with 481 additions and 450 deletions.
20 changes: 8 additions & 12 deletions packages/katana_router/example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,22 @@ import 'package:flutter/material.dart';
import 'package:katana_router/katana_router.dart';
import 'test.dart';

import 'main.router.dart';

@appRoute
final appRouter = AppRouter();

void main() {
runApp(const MyApp());
}

final appRoute = AppRouter(
boot: Boot(),
pages: [
MainPage.query,
UserPage.query,
ContentPage.query,
],
);

class MyApp extends StatelessWidget {
const MyApp({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp.router(
routerConfig: appRoute,
routerConfig: appRouter,
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
Expand All @@ -33,7 +29,7 @@ class MyApp extends StatelessWidget {
}
}

class Boot extends BootPageQueryBuilder {
class Boot extends BootRouteQueryBuilder {
const Boot({super.key});

@override
Expand All @@ -51,5 +47,5 @@ class Boot extends BootPageQueryBuilder {
}

@override
RouteQuery get initialRouteQuery => RouteQuery.fade;
TransitionQuery get initialRouteQuery => TransitionQuery.fade;
}
36 changes: 36 additions & 0 deletions packages/katana_router/example/lib/main.router.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// ignore_for_file: unused_field, unused_element, require_trailing_commas, prefer_const_constructors, unnecessary_overrides, prefer_const_literals_to_create_immutables, unnecessary_null_in_if_null_operators

// **************************************************************************
// RouterGenerator
// **************************************************************************

import 'package:katana_router/katana_router.dart';
import 'package:katana_router_example/test.dart';
export 'package:katana_router/katana_router.dart';
export 'package:katana_router_example/test.dart';

class AppRouter extends AppRouterBase {
AppRouter({
super.unknown,
super.boot,
super.initialPath = "/",
super.redirect = const [],
super.observers = const [],
super.redirectLimit = 5,
super.navigatorKey,
super.restorationScopeId,
super.defaultRouteQuery,
}) : super(pages: [MainPage.query, ContentPage.query, UserPage.query]);

static const mainPage = MainPage.query;

static const contentPage = ContentPage.query;

static const userPage = UserPage.query;

Map<RouteQueryBuilder, String> queryMap = {
MainPage.query: "/",
ContentPage.query: "/content/:content_id",
UserPage.query: "/page/:user_id"
};
}
18 changes: 10 additions & 8 deletions packages/katana_router/example/lib/test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'dart:math';
import 'package:flutter/material.dart';
import 'package:katana_router/katana_router.dart';

part "test.router.dart";
part "test.page.dart";

@PagePath("/")
class MainPage extends StatelessWidget {
Expand All @@ -14,7 +14,8 @@ class MainPage extends StatelessWidget {

final String title;

static const query = _$MainPageQuery();
@pageRouteQuery
static const query = _$MainPage();

@override
Widget build(BuildContext context) {
Expand All @@ -29,7 +30,7 @@ class MainPage extends StatelessWidget {
onTap: () async {
final aa = await context.router.push<String>(
UserPage.query(userId: "aaaa"),
RouteQuery.fullscreen,
TransitionQuery.fullscreen,
);
print(aa);
},
Expand Down Expand Up @@ -59,9 +60,11 @@ class UserPage extends StatelessWidget {
super.key,
required this.userId,
});

final String userId;

@pageRouteQuery
static const query = _$UserPage();

@override
Widget build(BuildContext context) {
return Scaffold(
Expand All @@ -79,8 +82,6 @@ class UserPage extends StatelessWidget {
),
);
}

static const query = _$UserPageQuery();
}

@PagePath("/content/:content_id")
Expand All @@ -92,6 +93,9 @@ class ContentPage extends StatelessWidget {

final String contentId;

@pageRouteQuery
static const query = _$ContentPage();

@override
Widget build(BuildContext context) {
return Scaffold(
Expand All @@ -109,6 +113,4 @@ class ContentPage extends StatelessWidget {
),
);
}

static const query = _$ContentPageQuery();
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,26 @@ part of 'test.dart';
// **************************************************************************

@immutable
class _$MainPageQuery extends PageQueryBuilder {
const _$MainPageQuery();
class _$MainPage extends RouteQueryBuilder {
const _$MainPage();

static final _regExp = RegExp(r"^$");

_$_MainPageQuery call({
_$_MainPage call({
Key? key,
required String title,
}) =>
_$_MainPageQuery(key: key, title: title);
_$_MainPage(key: key, title: title);
@override
PageQuery? resolve(
RouteQuery? resolve(
String? path, {
bool force = false,
}) {
final match = _regExp.firstMatch(path?.trimQuery().trimString("/") ?? "");
if (match == null && !force) {
return null;
}
return _$_MainPageQuery(
return _$_MainPage(
key: null,
title: match?.groupNames.contains("title") ?? false
? match?.namedGroup("title") ?? ""
Expand All @@ -35,8 +35,8 @@ class _$MainPageQuery extends PageQueryBuilder {
}

@immutable
class _$_MainPageQuery extends PageQuery {
const _$_MainPageQuery({
class _$_MainPage extends RouteQuery {
const _$_MainPage({
this.key,
required this.title,
});
Expand All @@ -50,37 +50,37 @@ class _$_MainPageQuery extends PageQuery {
@override
List<RedirectQuery> redirect() => const [];
@override
PageRouteQuery<T> route<T>([RouteQuery? query]) {
return PageRouteQuery<T>(
AppPageRoute<T> route<T>([TransitionQuery? query]) {
return AppPageRoute<T>(
path: path,
routeQuery: query,
builder: (context) => MainPage(key: key, title: title),
transition: query?.transition ?? RouteQueryType.initial,
transition: query?.transition ?? TransitionQueryType.initial,
);
}
}

@immutable
class _$UserPageQuery extends PageQueryBuilder {
const _$UserPageQuery();
class _$UserPage extends RouteQueryBuilder {
const _$UserPage();

static final _regExp = RegExp(r"^page/(?<user_id>[^/?&]+)$");

_$_UserPageQuery call({
_$_UserPage call({
Key? key,
required String userId,
}) =>
_$_UserPageQuery(key: key, userId: userId);
_$_UserPage(key: key, userId: userId);
@override
PageQuery? resolve(
RouteQuery? resolve(
String? path, {
bool force = false,
}) {
final match = _regExp.firstMatch(path?.trimQuery().trimString("/") ?? "");
if (match == null && !force) {
return null;
}
return _$_UserPageQuery(
return _$_UserPage(
key: null,
userId: match?.groupNames.contains("userId") ?? false
? match?.namedGroup("userId") ?? ""
Expand All @@ -89,8 +89,8 @@ class _$UserPageQuery extends PageQueryBuilder {
}

@immutable
class _$_UserPageQuery extends PageQuery {
const _$_UserPageQuery({
class _$_UserPage extends RouteQuery {
const _$_UserPage({
this.key,
required this.userId,
});
Expand All @@ -104,37 +104,37 @@ class _$_UserPageQuery extends PageQuery {
@override
List<RedirectQuery> redirect() => const [];
@override
PageRouteQuery<T> route<T>([RouteQuery? query]) {
return PageRouteQuery<T>(
AppPageRoute<T> route<T>([TransitionQuery? query]) {
return AppPageRoute<T>(
path: path,
routeQuery: query,
builder: (context) => UserPage(key: key, userId: userId),
transition: query?.transition ?? RouteQueryType.initial,
transition: query?.transition ?? TransitionQueryType.initial,
);
}
}

@immutable
class _$ContentPageQuery extends PageQueryBuilder {
const _$ContentPageQuery();
class _$ContentPage extends RouteQueryBuilder {
const _$ContentPage();

static final _regExp = RegExp(r"^content/(?<content_id>[^/?&]+)$");

_$_ContentPageQuery call({
_$_ContentPage call({
Key? key,
required String contentId,
}) =>
_$_ContentPageQuery(key: key, contentId: contentId);
_$_ContentPage(key: key, contentId: contentId);
@override
PageQuery? resolve(
RouteQuery? resolve(
String? path, {
bool force = false,
}) {
final match = _regExp.firstMatch(path?.trimQuery().trimString("/") ?? "");
if (match == null && !force) {
return null;
}
return _$_ContentPageQuery(
return _$_ContentPage(
key: null,
contentId: match?.groupNames.contains("contentId") ?? false
? match?.namedGroup("contentId") ?? ""
Expand All @@ -143,8 +143,8 @@ class _$ContentPageQuery extends PageQueryBuilder {
}

@immutable
class _$_ContentPageQuery extends PageQuery {
const _$_ContentPageQuery({
class _$_ContentPage extends RouteQuery {
const _$_ContentPage({
this.key,
required this.contentId,
});
Expand All @@ -158,12 +158,12 @@ class _$_ContentPageQuery extends PageQuery {
@override
List<RedirectQuery> redirect() => const [];
@override
PageRouteQuery<T> route<T>([RouteQuery? query]) {
return PageRouteQuery<T>(
AppPageRoute<T> route<T>([TransitionQuery? query]) {
return AppPageRoute<T>(
path: path,
routeQuery: query,
builder: (context) => ContentPage(key: key, contentId: contentId),
transition: query?.transition ?? RouteQueryType.initial,
transition: query?.transition ?? TransitionQueryType.initial,
);
}
}
12 changes: 6 additions & 6 deletions packages/katana_router/example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ packages:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.1"
version: "4.0.2"
intl:
dependency: transitive
description:
Expand Down Expand Up @@ -302,21 +302,21 @@ packages:
path: ".."
relative: true
source: path
version: "1.3.0"
version: "1.5.0"
katana_router_annotation:
dependency: transitive
description:
name: katana_router_annotation
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
version: "1.5.0"
katana_router_builder:
dependency: "direct dev"
description:
path: "../../katana_router_builder"
relative: true
source: path
version: "1.3.1"
version: "1.5.0"
lints:
dependency: transitive
description:
Expand Down Expand Up @@ -393,7 +393,7 @@ packages:
name: pub_semver
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
version: "2.1.2"
pubspec_parse:
dependency: transitive
description:
Expand Down Expand Up @@ -531,7 +531,7 @@ packages:
name: watcher
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
version: "1.0.2"
web_socket_channel:
dependency: transitive
description:
Expand Down
Loading

0 comments on commit 3f8e9a3

Please sign in to comment.