mainDart static method
lib/main.dart.
When storageImport is provided (Clean), generates a main that
initializes SharedPreferences and overrides sharedPreferencesProvider
in the ProviderScope. Otherwise generates the minimal ProviderScope
bootstrap used by the other architectures.
Implementation
static String mainDart(String name, {String? storageImport}) {
if (storageImport != null) {
return '''
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'app.dart';
import 'package:$name/$storageImport';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final prefs = await SharedPreferences.getInstance();
runApp(
ProviderScope(
overrides: [
sharedPreferencesProvider.overrideWithValue(prefs),
],
child: const MyApp(),
),
);
}
''';
}
return '''
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'app.dart';
void main() {
runApp(
const ProviderScope(
child: MyApp(),
),
);
}
''';
}