Skip to content

Commit 5f083b7

Browse files
committed
Make it so that scoped model can run on web
1 parent cc1df66 commit 5f083b7

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

scoped_model/lib/main.dart

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1+
import 'package:flutter/foundation.dart';
12
import 'package:flutter/material.dart';
23
import 'package:path_provider/path_provider.dart';
34
import 'package:scoped_model_sample/app.dart';
5+
import 'package:shared_preferences/shared_preferences.dart';
46
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
57

6-
void main() {
8+
void main() async {
79
WidgetsFlutterBinding.ensureInitialized();
810

9-
var todoRepo = const LocalStorageRepository(
10-
localStorage: FileStorage(
11-
'scoped_model_todos',
12-
getApplicationDocumentsDirectory,
11+
final localStorage = kIsWeb
12+
? KeyValueStorage(
13+
'scoped_model_todos',
14+
await SharedPreferences.getInstance(),
15+
)
16+
: FileStorage('scoped_model_todos', getApplicationDocumentsDirectory);
17+
18+
runApp(
19+
ScopedModelApp(
20+
repository: LocalStorageRepository(localStorage: localStorage),
1321
),
1422
);
15-
16-
runApp(ScopedModelApp(repository: todoRepo));
1723
}

0 commit comments

Comments
 (0)