feat(ui_kit): implement information card (#126)
continuous-integration/drone/push Build is failing

This commit was merged in pull request #131.
This commit is contained in:
2023-02-10 14:08:04 +01:00
parent ba1c1016e5
commit 5464cd1d40
29 changed files with 1127 additions and 8 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 KiB

@@ -0,0 +1,21 @@
import 'package:flutter/material.dart';
import 'package:wyatt_ui_kit_example/cards/information_card/information_cards.dart';
class Cards extends StatelessWidget {
const Cards({super.key});
@override
Widget build(BuildContext context) => ListView(
shrinkWrap: true,
children: [
Text(
'Cards',
style: Theme.of(context)
.textTheme
.titleLarge!
.copyWith(color: Colors.white),
),
const InformationCards(),
],
);
}
@@ -0,0 +1,152 @@
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart';
import 'package:wyatt_ui_kit/wyatt_ui_kit.dart';
class InformationCards extends StatelessWidget {
const InformationCards({super.key});
@override
Widget build(BuildContext context) => ListView(
shrinkWrap: true,
children: [
Text(
'Information Cards',
style: Theme.of(context)
.textTheme
.titleMedium!
.copyWith(color: Colors.white),
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
InformationCard(
icons: const [
FlutterLogo(size: 60),
FlutterLogo(size: 60),
FlutterLogo(size: 60),
],
title: const TextWrapper('Flutter'),
subtitle: TextWrapper.text('One single code base.'),
body: TextWrapper.text(
'Cupidatat reprehenderit aliqua eiusmod Lorem. '
'Qui ipsum id ea ea nulla labore aute ullamco aute '
'quis elit ut amet velit. Incididunt fugiat proident '
'proident deserunt tempor Lorem cillum qui do '
'ullamco Lorem magna ipsum. Ullamco cupidatat velit '
'elit sint ex cupidatat ullamco Lorem amet elit '
'ipsum sunt ex voluptate. Eiusmod quis laborum velit '
'excepteur eu commodo consectetur qui exercitation '
'officia consequat ullamco sit adipisicing. Ullamco '
'magna cupidatat Lorem nulla cupidatat voluptate '
'irure ex reprehenderit.',
),
),
const Gap(20),
InformationCard(
background: Center(
child: Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/asset_1.png'),
fit: BoxFit.fitHeight,
alignment: Alignment.centerRight,
),
),
),
),
icons: const [
FlutterLogo(size: 60),
FlutterLogo(size: 60),
],
title: 'Flutter'.wrap(
gradient: [Colors.blue, Colors.green],
),
subtitle: TextWrapper.text('One single code base.'),
body: 'Cupidatat reprehenderit aliqua eiusmod Lorem. '
'Qui ipsum id ea ea nulla labore aute ullamco aute '
'quis elit ut amet velit. Incididunt fugiat proident '
'proident deserunt tempor Lorem cillum qui do '
'ullamco Lorem magna ipsum. Ullamco cupidatat velit '
'elit sint ex cupidatat ullamco Lorem amet elit '
'ipsum sunt ex voluptate. Eiusmod quis laborum velit '
'excepteur eu commodo consectetur qui exercitation '
'officia consequat ullamco sit adipisicing. Ullamco '
'magna cupidatat Lorem nulla cupidatat voluptate '
'irure ex reprehenderit.'
.wrap(),
),
],
),
const Gap(20),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
InformationCard(
icons: const [
FlutterLogo(size: 60),
],
axis: Axis.horizontal,
title: TextWrapper.text('Flutter'),
subtitle: TextWrapper.text('One single code base.'),
body: 'Cupidatat reprehenderit aliqua eiusmod Lorem. '
'Qui ipsum id ea ea nulla labore aute ullamco aute '
'quis elit ut amet velit. Incididunt fugiat proident '
'proident deserunt tempor Lorem cillum qui do '
'ullamco Lorem magna ipsum. Ullamco cupidatat velit '
'elit sint ex cupidatat ullamco Lorem amet elit '
'ipsum sunt ex voluptate. Eiusmod quis laborum velit '
'excepteur eu commodo consectetur qui exercitation '
'officia consequat ullamco sit adipisicing. Ullamco '
'magna cupidatat Lorem nulla cupidatat voluptate '
'irure ex reprehenderit.'
.wrap(
gradient: [
Colors.red,
Colors.orange,
],
),
),
const Gap(20),
InformationCard(
background: Center(
child: Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/asset_1.png'),
fit: BoxFit.fitHeight,
alignment: Alignment.centerRight,
),
),
),
),
icons: const [
FlutterLogo(size: 60),
],
axis: Axis.horizontal,
title: TextWrapper.text('Flutter'),
subtitle: 'One single code base.'.wrap(
gradient: [Colors.blue, Colors.green],
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
body: TextWrapper.text(
'Cupidatat reprehenderit aliqua eiusmod Lorem. '
'Qui ipsum id ea ea nulla labore aute ullamco aute '
'quis elit ut amet velit. Incididunt fugiat proident '
'proident deserunt tempor Lorem cillum qui do '
'ullamco Lorem magna ipsum. Ullamco cupidatat velit '
'elit sint ex cupidatat ullamco Lorem amet elit '
'ipsum sunt ex voluptate. Eiusmod quis laborum velit '
'excepteur eu commodo consectetur qui exercitation '
'officia consequat ullamco sit adipisicing. Ullamco '
'magna cupidatat Lorem nulla cupidatat voluptate '
'irure ex reprehenderit.',
),
),
],
),
],
);
}
+25 -7
View File
@@ -14,7 +14,10 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:wyatt_ui_kit_example/cards/cards.dart';
void main(List<String> args) {
runApp(const App());
@@ -26,14 +29,29 @@ class App extends StatelessWidget {
static const String title = 'Wyatt Ui Kit Example';
@override
Widget build(BuildContext context) => MaterialApp(
title: title,
theme: ThemeData(
primarySwatch: Colors.blue,
Widget build(BuildContext context) => CupertinoApp(
localizationsDelegates: const [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
theme: const CupertinoThemeData(
primaryColor: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: const Text(title),
supportedLocales: const [
Locale('fr', ''),
],
title: title,
home: CupertinoPageScaffold(
navigationBar: const CupertinoNavigationBar(
middle: Text(title),
),
child: Padding(
padding: const EdgeInsets.all(8),
child: ListView(
shrinkWrap: true,
children: const [Cards()],
),
),
),
);
@@ -10,9 +10,19 @@ environment:
dependencies:
flutter: { sdk: flutter }
flutter_localizations:
sdk: flutter
gap: ^2.0.1
wyatt_ui_kit:
path: "../"
wyatt_ui_components:
git:
url: ssh://git@git.wyatt-studio.fr:993/Wyatt-FOSS/wyatt-packages.git
path: packages/wyatt_ui_components
dev_dependencies:
flutter_test: { sdk: flutter }
@@ -23,3 +33,6 @@ dev_dependencies:
# The following section is specific to Flutter.
flutter:
uses-material-design: true
assets:
- ./assets/