addon store initial
This commit is contained in:
@@ -27,6 +27,10 @@ part of 'routes.dart';
|
||||
name: 'AddonDetailsRoute',
|
||||
path: 'details/:addonId',
|
||||
),
|
||||
TypedGoRoute<AddonListingDetailsRoute>(
|
||||
name: 'AddonListingDetailsRoute',
|
||||
path: 'listing/:addonId',
|
||||
),
|
||||
TypedGoRoute<AddonPermissionsRoute>(
|
||||
name: 'AddonPermissionsRoute',
|
||||
path: 'permissions/:addonId',
|
||||
@@ -57,6 +61,19 @@ class AddonDetailsRoute extends GoRouteData with $AddonDetailsRoute {
|
||||
}
|
||||
}
|
||||
|
||||
class AddonListingDetailsRoute extends GoRouteData
|
||||
with $AddonListingDetailsRoute {
|
||||
final String addonId;
|
||||
final AddonListing $extra;
|
||||
|
||||
const AddonListingDetailsRoute({required this.addonId, required this.$extra});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return AddonListingDetailsScreen(listing: $extra);
|
||||
}
|
||||
}
|
||||
|
||||
class AddonPermissionsRoute extends GoRouteData with $AddonPermissionsRoute {
|
||||
final String addonId;
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import 'package:weblibre/domain/entities/profile.dart';
|
||||
import 'package:weblibre/features/about/presentation/screens/about.dart';
|
||||
import 'package:weblibre/features/addons/presentation/screens/addon_details.dart';
|
||||
import 'package:weblibre/features/addons/presentation/screens/addon_internal_settings.dart';
|
||||
import 'package:weblibre/features/addons/presentation/screens/addon_listing_details.dart';
|
||||
import 'package:weblibre/features/addons/presentation/screens/addon_manager.dart';
|
||||
import 'package:weblibre/features/addons/presentation/screens/addon_permissions.dart';
|
||||
import 'package:weblibre/features/bangs/data/models/bang.dart';
|
||||
|
||||
@@ -942,6 +942,11 @@ RouteBase get $addonManagerRoute => GoRouteData.$route(
|
||||
name: 'AddonDetailsRoute',
|
||||
factory: $AddonDetailsRoute._fromState,
|
||||
),
|
||||
GoRouteData.$route(
|
||||
path: 'listing/:addonId',
|
||||
name: 'AddonListingDetailsRoute',
|
||||
factory: $AddonListingDetailsRoute._fromState,
|
||||
),
|
||||
GoRouteData.$route(
|
||||
path: 'permissions/:addonId',
|
||||
name: 'AddonPermissionsRoute',
|
||||
@@ -1001,6 +1006,36 @@ mixin $AddonDetailsRoute on GoRouteData {
|
||||
void replace(BuildContext context) => context.replace(location);
|
||||
}
|
||||
|
||||
mixin $AddonListingDetailsRoute on GoRouteData {
|
||||
static AddonListingDetailsRoute _fromState(GoRouterState state) =>
|
||||
AddonListingDetailsRoute(
|
||||
addonId: state.pathParameters['addonId']!,
|
||||
$extra: state.extra as AddonListing,
|
||||
);
|
||||
|
||||
AddonListingDetailsRoute get _self => this as AddonListingDetailsRoute;
|
||||
|
||||
@override
|
||||
String get location => GoRouteData.$location(
|
||||
'/addons/listing/${Uri.encodeComponent(_self.addonId)}',
|
||||
);
|
||||
|
||||
@override
|
||||
void go(BuildContext context) => context.go(location, extra: _self.$extra);
|
||||
|
||||
@override
|
||||
Future<T?> push<T>(BuildContext context) =>
|
||||
context.push<T>(location, extra: _self.$extra);
|
||||
|
||||
@override
|
||||
void pushReplacement(BuildContext context) =>
|
||||
context.pushReplacement(location, extra: _self.$extra);
|
||||
|
||||
@override
|
||||
void replace(BuildContext context) =>
|
||||
context.replace(location, extra: _self.$extra);
|
||||
}
|
||||
|
||||
mixin $AddonPermissionsRoute on GoRouteData {
|
||||
static AddonPermissionsRoute _fromState(GoRouterState state) =>
|
||||
AddonPermissionsRoute(addonId: state.pathParameters['addonId']!);
|
||||
|
||||
Reference in New Issue
Block a user