Browse Source

[packages] Add provider

merge-requests/22/head
Vitaliy Zarubin 2 years ago
parent
commit
8553dd1c19
  1. 1
      example/lib/app.dart
  2. 4
      example/lib/l10n/app_en.arb
  3. 4
      example/lib/l10n/app_ru.arb
  4. 41
      example/lib/packages/provider/page.dart

1
example/lib/app.dart

@ -26,6 +26,7 @@ class MyApp extends StatelessWidget {
);
}
}
return MaterialApp(
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,

4
example/lib/l10n/app_en.arb

@ -1,4 +1,8 @@
{
"@_PROVIDER": {},
"providerTitle": "Provider",
"providerSubtitle": "Simple example use provider package",
"@_RXDART": {},
"rxdartTitle": "Rxdart",
"rxdartSubtitle": "Simple example using Rx for Dart",

4
example/lib/l10n/app_ru.arb

@ -1,4 +1,8 @@
{
"@_PROVIDER": {},
"providerTitle": "Provider",
"providerSubtitle": "Простой пример использования пакета provider",
"@_RXDART": {},
"rxdartTitle": "Rxdart",
"rxdartSubtitle": "Простой пример использования Rx для Dart",

41
example/lib/packages/provider/page.dart

@ -7,8 +7,10 @@ import 'package:flutter_example_packages/base/di/app_di.dart';
import 'package:flutter_example_packages/base/package/package.dart';
import 'package:flutter_example_packages/widgets/base/export.dart';
import 'package:flutter_example_packages/widgets/blocks/block_info_package.dart';
import 'package:flutter_example_packages/widgets/blocks/block_item.dart';
import 'package:flutter_example_packages/widgets/layouts/block_layout.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:provider/provider.dart';
import 'model.dart';
import 'package.dart';
@ -31,22 +33,31 @@ class _ProviderPageState extends AppState<ProviderPage> {
MediaQueryData media,
AppLocalizations l10n,
) {
return BlockLayout<ProviderModel>(
model: getIt<ProviderModel>(),
title: widget.package.key,
builder: (context, child, model) {
return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
BlockInfoPackage(widget.package),
],
return FutureProvider<int>(
initialData: 0,
create: (context) => Future.value(12345), // Set value
child: BlockLayout<ProviderModel>(
model: getIt<ProviderModel>(),
title: widget.package.key,
builder: (context, child, model) {
return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
BlockInfoPackage(widget.package),
BlockItem(
title: l10n.providerTitle,
desc: l10n.providerSubtitle,
value: context.watch<int>(), // Get value
),
],
),
),
),
);
},
);
},
),
);
}
}

Loading…
Cancel
Save