Skip to content
This repository was archived by the owner on Dec 12, 2024. It is now read-only.

Commit be9196a

Browse files
authored
feat: add riverpod and flutter hooks (#15)
1 parent 9e14ab2 commit be9196a

File tree

5 files changed

+53
-18
lines changed

5 files changed

+53
-18
lines changed

lib/features/app/app.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class App extends StatelessWidget {
99
@override
1010
Widget build(BuildContext context) {
1111
return MaterialApp(
12-
title: 'Flutter Demo',
12+
title: 'Flutter Starter App',
1313
theme: lightTheme(context),
1414
darkTheme: darkTheme(context),
1515
home: const HomePage(),

lib/features/home/home_page.dart

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,14 @@
11
import 'package:flutter/material.dart';
2+
import 'package:flutter_hooks/flutter_hooks.dart';
23
import 'package:flutter_starter/l10n/app_localizations.dart';
34

4-
class HomePage extends StatefulWidget {
5+
class HomePage extends HookWidget {
56
const HomePage({super.key});
67

7-
@override
8-
State<HomePage> createState() => _HomePageState();
9-
}
10-
11-
class _HomePageState extends State<HomePage> {
12-
int _counter = 0;
13-
14-
void _incrementCounter() {
15-
setState(() {
16-
_counter++;
17-
});
18-
}
19-
208
@override
219
Widget build(BuildContext context) {
10+
final counter = useState(0);
11+
2212
return Scaffold(
2313
appBar: AppBar(title: Text(Loc.of(context).appName)),
2414
body: Padding(
@@ -32,15 +22,15 @@ class _HomePageState extends State<HomePage> {
3222
textAlign: TextAlign.center,
3323
),
3424
Text(
35-
'$_counter',
25+
'${counter.value}',
3626
style: Theme.of(context).textTheme.headlineMedium,
3727
),
3828
],
3929
),
4030
),
4131
),
4232
floatingActionButton: FloatingActionButton(
43-
onPressed: _incrementCounter,
33+
onPressed: () => counter.value++,
4434
tooltip: 'Increment',
4535
child: const Icon(Icons.add),
4636
),

lib/main.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:flutter/material.dart';
22
import 'package:flutter_starter/features/app/app.dart';
3+
import 'package:hooks_riverpod/hooks_riverpod.dart';
34

45
void main() {
5-
runApp(const App());
6+
runApp(const ProviderScope(child: App()));
67
}

pubspec.lock

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ packages:
5454
description: flutter
5555
source: sdk
5656
version: "0.0.0"
57+
flutter_hooks:
58+
dependency: "direct main"
59+
description:
60+
name: flutter_hooks
61+
sha256: "7c8db779c2d1010aa7f9ea3fbefe8f86524fcb87b69e8b0af31e1a4b55422dec"
62+
url: "https://pub.dev"
63+
source: hosted
64+
version: "0.20.3"
5765
flutter_lints:
5866
dependency: "direct dev"
5967
description:
@@ -67,11 +75,27 @@ packages:
6775
description: flutter
6876
source: sdk
6977
version: "0.0.0"
78+
flutter_riverpod:
79+
dependency: transitive
80+
description:
81+
name: flutter_riverpod
82+
sha256: da9591d1f8d5881628ccd5c25c40e74fc3eef50ba45e40c3905a06e1712412d5
83+
url: "https://pub.dev"
84+
source: hosted
85+
version: "2.4.9"
7086
flutter_test:
7187
dependency: "direct dev"
7288
description: flutter
7389
source: sdk
7490
version: "0.0.0"
91+
hooks_riverpod:
92+
dependency: "direct main"
93+
description:
94+
name: hooks_riverpod
95+
sha256: c12a456e03ef9be65b0be66963596650ad7a3220e96c7e7b0a048562ea32d6ae
96+
url: "https://pub.dev"
97+
source: hosted
98+
version: "2.4.9"
7599
intl:
76100
dependency: "direct main"
77101
description:
@@ -120,6 +144,14 @@ packages:
120144
url: "https://pub.dev"
121145
source: hosted
122146
version: "1.8.3"
147+
riverpod:
148+
dependency: transitive
149+
description:
150+
name: riverpod
151+
sha256: "942999ee48b899f8a46a860f1e13cee36f2f77609eb54c5b7a669bb20d550b11"
152+
url: "https://pub.dev"
153+
source: hosted
154+
version: "2.4.9"
123155
sky_engine:
124156
dependency: transitive
125157
description: flutter
@@ -141,6 +173,14 @@ packages:
141173
url: "https://pub.dev"
142174
source: hosted
143175
version: "1.11.1"
176+
state_notifier:
177+
dependency: transitive
178+
description:
179+
name: state_notifier
180+
sha256: b8677376aa54f2d7c58280d5a007f9e8774f1968d1fb1c096adcb4792fba29bb
181+
url: "https://pub.dev"
182+
source: hosted
183+
version: "1.0.0"
144184
stream_channel:
145185
dependency: transitive
146186
description:
@@ -191,3 +231,4 @@ packages:
191231
version: "0.3.0"
192232
sdks:
193233
dart: ">=3.2.0-194.0.dev <4.0.0"
234+
flutter: ">=3.0.0"

pubspec.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ dependencies:
1111
sdk: flutter
1212
flutter_localizations:
1313
sdk: flutter
14+
15+
flutter_hooks: ^0.20.3
16+
hooks_riverpod: ^2.4.9
1417
intl: ^0.18.1
1518

1619
dev_dependencies:

0 commit comments

Comments
 (0)