// Copyright (C) 2023 WYATT GROUP // Please see the AUTHORS file for details. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . import 'package:flutter/material.dart'; import 'package:wyatt_ui_components/wyatt_ui_components.dart'; import 'package:wyatt_ui_components_example/component_theme.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); // This widget is the root of your application. @override Widget build(BuildContext context) => ComponentTheme( componentThemeWidget: AppThemeComponent.components, child: MaterialApp( title: 'Wyatt Ui Components Example', theme: ThemeData( primarySwatch: Colors.blue, ), home: const Scaffold( body: Home(), ), ), ); } class Home extends StatelessWidget { const Home({super.key}); @override Widget build(BuildContext context) => Scaffold( appBar: PreferredSize( preferredSize: const Size.fromHeight(60), child: context.components.appBar?.copyWith .title('Example title'.wrap()) ?? const SizedBox.shrink(), ), body: Column( children: [ Expanded( child: context.components.errorWidget ?.copyWith(error: 'Example erreur'.wrap()) ?? const SizedBox.shrink(), ), const SizedBox( height: 10, ), Expanded( child: context.components.loadingWidget ?.copyWith(color: Colors.green) ?? const SizedBox.shrink(), ), ], ), bottomNavigationBar: context.components.bottomNavigationBar, ); }