alba 0.0.5 alba: ^0.0.5 copied to clipboard
Alba is a framework that boosts Flutter project development.
import 'package:alba/framework.dart';
import 'package:alba/routing.dart';
import 'package:flutter/material.dart';
void main() {
App.create(
appProviders: [
ServiceLocatorProvider(),
],
routerRootConfiguration: RouterRootConfiguration(
routeDefinitions: routes,
),
widget: const MyApp(),
).run();
}
class ServiceLocatorProvider implements AppProvider {
@override
Future<void> boot(ServiceLocator serviceLocator) async {}
}
var routes = [
RouteDefinition(
'/not-found',
(context, parameters) => const NotFoundScreen(),
),
RouteDefinition(
'/',
(context, parameters) => const HomeScreen(),
),
];
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp.router(
restorationScopeId: 'app',
routerDelegate: app().pageRouterDelegate!,
routeInformationParser: app().pageRouteInformationParser!,
);
}
}
class HomeScreen extends StatelessWidget {
const HomeScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Scaffold(
body: Center(
child: Text('Hello!'),
),
);
}
}
class NotFoundScreen extends StatelessWidget {
const NotFoundScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Scaffold(
body: Center(
child: Text('Not found!'),
),
);
}
}