diff --git a/example/lib/l10n/app_en.arb b/example/lib/l10n/app_en.arb index 2120ed1..a7beb29 100644 --- a/example/lib/l10n/app_en.arb +++ b/example/lib/l10n/app_en.arb @@ -9,6 +9,42 @@ "batteryPlusTitleBatteryStateLive": "Battery State 'Live'", "batteryPlusDescBatteryStateLive": "Battery change state stream", + "@_CACHED_NETWORK_IMAGE": {}, + "cachedNetworkImageTitle": "Title", + "cachedNetworkImageDesc": "Desc", + + "@_DEVICE_INFO_PLUS": {}, + "deviceInfoPlusTitle": "Title", + "deviceInfoPlusDesc": "Desc", + + "@_FLUTTER_CACHE_MANAGER": {}, + "flutterCacheManagerTitle": "Title", + "flutterCacheManagerDesc": "Desc", + + "@_FLUTTER_LOCAL_NOTIFICATIONS": {}, + "flutterLocalNotificationsTitle": "Title", + "flutterLocalNotificationsDesc": "Desc", + + "@_FLUTTER_SECURE_STORAGE": {}, + "flutterSecureStorageTitle": "Title", + "flutterSecureStorageDesc": "Desc", + + "@_PACKAGE_INFO_PLUS": {}, + "packageInfoPlusTitle": "Title", + "packageInfoPlusDesc": "Desc", + + "@_PATH_PROVIDER": {}, + "pathProviderTitle": "Title", + "pathProviderDesc": "Desc", + + "@_SHARED_PREFERENCES": {}, + "sharedPreferencesTitle": "Title", + "sharedPreferencesDesc": "Desc", + + "@_WAKELOCK": {}, + "wakelockTitle": "Title", + "wakelockDesc": "Desc", + "@_XDGA_DIRECTORIES": {}, "xdgaDirectoriesTitleCacheLocation": "App Data Location", "xdgaDirectoriesDescCacheLocation": "Directory location where persistent application data can be stored.", diff --git a/example/lib/l10n/app_ru.arb b/example/lib/l10n/app_ru.arb index 7be503c..76a803e 100644 --- a/example/lib/l10n/app_ru.arb +++ b/example/lib/l10n/app_ru.arb @@ -9,6 +9,42 @@ "batteryPlusTitleBatteryStateLive": "Состояние батареи 'Live'", "batteryPlusDescBatteryStateLive": "Изменение состояния батареи", + "@_CACHED_NETWORK_IMAGE": {}, + "cachedNetworkImageTitle": "Заголовок", + "cachedNetworkImageDesc": "Описание", + + "@_DEVICE_INFO_PLUS": {}, + "deviceInfoPlusTitle": "Заголовок", + "deviceInfoPlusDesc": "Описание", + + "@_FLUTTER_CACHE_MANAGER": {}, + "flutterCacheManagerTitle": "Заголовок", + "flutterCacheManagerDesc": "Описание", + + "@_FLUTTER_LOCAL_NOTIFICATIONS": {}, + "flutterLocalNotificationsTitle": "Заголовок", + "flutterLocalNotificationsDesc": "Описание", + + "@_FLUTTER_SECURE_STORAGE": {}, + "flutterSecureStorageTitle": "Заголовок", + "flutterSecureStorageDesc": "Описание", + + "@_PACKAGE_INFO_PLUS": {}, + "packageInfoPlusTitle": "Заголовок", + "packageInfoPlusDesc": "Описание", + + "@_PATH_PROVIDER": {}, + "pathProviderTitle": "Заголовок", + "pathProviderDesc": "Описание", + + "@_SHARED_PREFERENCES": {}, + "sharedPreferencesTitle": "Заголовок", + "sharedPreferencesDesc": "Описание", + + "@_WAKELOCK": {}, + "wakelockTitle": "Заголовок", + "wakelockDesc": "Описание", + "@_XDGA_DIRECTORIES": {}, "xdgaDirectoriesTitleCacheLocation": "App Data Location", "xdgaDirectoriesDescCacheLocation": "Расположение каталога, в котором могут храниться постоянные данные приложения.", diff --git a/example/lib/packages/battery_plus/model.dart b/example/lib/packages/battery_plus/model.dart index 3c0e267..f49206f 100644 --- a/example/lib/packages/battery_plus/model.dart +++ b/example/lib/packages/battery_plus/model.dart @@ -15,7 +15,7 @@ class BatteryPlusModel extends Model { /// Public error String? get error => _error; - /// Public error + /// Public is error bool get isError => _error != null; /// Get battery level in percent 0-100 diff --git a/example/lib/packages/battery_plus/page.dart b/example/lib/packages/battery_plus/page.dart index 96fa81e..0ba6067 100644 --- a/example/lib/packages/battery_plus/page.dart +++ b/example/lib/packages/battery_plus/page.dart @@ -31,43 +31,46 @@ class _BatteryPlusPageState extends AppState { title: widget.package.key, builder: (context, child, model) { return SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - BlockInfoPackage(widget.package), - BlockAlert(model.error), - if (!model.isError) - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - BlockItem( - title: l10n.batteryPlusTitleBatteryLevel, - desc: l10n.batteryPlusDescBatteryLevel, - future: model.getBatteryLevel(), - builder: (value) => '$value%', - ), - BlockItem( - title: l10n.batteryPlusTitleBatteryState, - desc: l10n.batteryPlusDescBatteryState, - future: model.getBatteryState(), - builder: (value) => - value.toString().split('.').last.toUpperCase(), - ), - BlockItem( - title: l10n.batteryPlusTitleBatterySaveMode, - desc: l10n.batteryPlusDescBatterySaveMode, - future: model.isInBatterySaveMode(), - ), - BlockItem( - title: l10n.batteryPlusTitleBatteryStateLive, - desc: l10n.batteryPlusDescBatteryStateLive, - stream: model.onBatteryStateChanged(), - builder: (value) => - value.toString().split('.').last.toUpperCase(), - ), - ], - ), - ], + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockInfoPackage(widget.package), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.batteryPlusTitleBatteryLevel, + desc: l10n.batteryPlusDescBatteryLevel, + future: model.getBatteryLevel(), + builder: (value) => '$value%', + ), + BlockItem( + title: l10n.batteryPlusTitleBatteryState, + desc: l10n.batteryPlusDescBatteryState, + future: model.getBatteryState(), + builder: (value) => + value.toString().split('.').last.toUpperCase(), + ), + BlockItem( + title: l10n.batteryPlusTitleBatterySaveMode, + desc: l10n.batteryPlusDescBatterySaveMode, + future: model.isInBatterySaveMode(), + ), + BlockItem( + title: l10n.batteryPlusTitleBatteryStateLive, + desc: l10n.batteryPlusDescBatteryStateLive, + stream: model.onBatteryStateChanged(), + builder: (value) => + value.toString().split('.').last.toUpperCase(), + ), + ], + ), + ], + ), ), ); }, diff --git a/example/lib/packages/cached_network_image/model.dart b/example/lib/packages/cached_network_image/model.dart index 3fbe12c..e18db81 100644 --- a/example/lib/packages/cached_network_image/model.dart +++ b/example/lib/packages/cached_network_image/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class CachedNetworkImageModel extends Model { /// Get [ScopedModel] static CachedNetworkImageModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/cached_network_image/page.dart b/example/lib/packages/cached_network_image/page.dart index 919471a..7e25cb0 100644 --- a/example/lib/packages/cached_network_image/page.dart +++ b/example/lib/packages/cached_network_image/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/cached_network_image/model.dart'; import 'package:flutter_example_packages/packages/cached_network_image/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -25,9 +28,32 @@ class _CachedNetworkImagePageState extends AppState { AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.cachedNetworkImageTitle, + desc: l10n.cachedNetworkImageDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/device_info_plus/model.dart b/example/lib/packages/device_info_plus/model.dart index 4e3b570..113f117 100644 --- a/example/lib/packages/device_info_plus/model.dart +++ b/example/lib/packages/device_info_plus/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class DeviceInfoPlusModel extends Model { /// Get [ScopedModel] static DeviceInfoPlusModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/device_info_plus/page.dart b/example/lib/packages/device_info_plus/page.dart index ee5b816..e10b726 100644 --- a/example/lib/packages/device_info_plus/page.dart +++ b/example/lib/packages/device_info_plus/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/device_info_plus/model.dart'; import 'package:flutter_example_packages/packages/device_info_plus/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -25,9 +28,32 @@ class _DeviceInfoPlusPageState extends AppState { AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.deviceInfoPlusTitle, + desc: l10n.deviceInfoPlusDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/flutter_cache_manager/model.dart b/example/lib/packages/flutter_cache_manager/model.dart index 2b393f0..a296151 100644 --- a/example/lib/packages/flutter_cache_manager/model.dart +++ b/example/lib/packages/flutter_cache_manager/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class FlutterCacheManagerModel extends Model { /// Get [ScopedModel] static FlutterCacheManagerModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/flutter_cache_manager/page.dart b/example/lib/packages/flutter_cache_manager/page.dart index 63d0a0c..6b6411e 100644 --- a/example/lib/packages/flutter_cache_manager/page.dart +++ b/example/lib/packages/flutter_cache_manager/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/flutter_cache_manager/model.dart'; import 'package:flutter_example_packages/packages/flutter_cache_manager/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -26,9 +29,32 @@ class _FlutterCacheManagerPageState extends AppState { AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.flutterCacheManagerTitle, + desc: l10n.flutterCacheManagerDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/flutter_local_notifications/model.dart b/example/lib/packages/flutter_local_notifications/model.dart index e8bb71d..65b62db 100644 --- a/example/lib/packages/flutter_local_notifications/model.dart +++ b/example/lib/packages/flutter_local_notifications/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class FlutterLocalNotificationsModel extends Model { /// Get [ScopedModel] static FlutterLocalNotificationsModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/flutter_local_notifications/page.dart b/example/lib/packages/flutter_local_notifications/page.dart index 7c89cd5..389f80b 100644 --- a/example/lib/packages/flutter_local_notifications/page.dart +++ b/example/lib/packages/flutter_local_notifications/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/flutter_local_notifications/model.dart'; import 'package:flutter_example_packages/packages/flutter_local_notifications/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -27,9 +30,32 @@ class _FlutterLocalNotificationsPageState AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.flutterLocalNotificationsTitle, + desc: l10n.flutterLocalNotificationsDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/flutter_secure_storage/model.dart b/example/lib/packages/flutter_secure_storage/model.dart index 5f1e190..13efa4a 100644 --- a/example/lib/packages/flutter_secure_storage/model.dart +++ b/example/lib/packages/flutter_secure_storage/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class FlutterSecureStorageModel extends Model { /// Get [ScopedModel] static FlutterSecureStorageModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/flutter_secure_storage/page.dart b/example/lib/packages/flutter_secure_storage/page.dart index 79d1eb9..76f308e 100644 --- a/example/lib/packages/flutter_secure_storage/page.dart +++ b/example/lib/packages/flutter_secure_storage/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/flutter_secure_storage/model.dart'; import 'package:flutter_example_packages/packages/flutter_secure_storage/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -27,9 +30,32 @@ class _FlutterSecureStoragePageState AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.flutterSecureStorageTitle, + desc: l10n.flutterSecureStorageDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/package_info_plus/model.dart b/example/lib/packages/package_info_plus/model.dart index 45bb2c6..ec94fc8 100644 --- a/example/lib/packages/package_info_plus/model.dart +++ b/example/lib/packages/package_info_plus/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class PackageInfoPlusModel extends Model { /// Get [ScopedModel] static PackageInfoPlusModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/package_info_plus/page.dart b/example/lib/packages/package_info_plus/page.dart index d2e2457..9d5e4fd 100644 --- a/example/lib/packages/package_info_plus/page.dart +++ b/example/lib/packages/package_info_plus/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/package_info_plus/model.dart'; import 'package:flutter_example_packages/packages/package_info_plus/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -25,9 +28,32 @@ class _PackageInfoPlusPageState extends AppState { AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.packageInfoPlusTitle, + desc: l10n.packageInfoPlusDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/path_provider/model.dart b/example/lib/packages/path_provider/model.dart index 2657ee9..992127c 100644 --- a/example/lib/packages/path_provider/model.dart +++ b/example/lib/packages/path_provider/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class PathProviderModel extends Model { /// Get [ScopedModel] static PathProviderModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/path_provider/page.dart b/example/lib/packages/path_provider/page.dart index 003bfea..2d461ab 100644 --- a/example/lib/packages/path_provider/page.dart +++ b/example/lib/packages/path_provider/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/path_provider/model.dart'; import 'package:flutter_example_packages/packages/path_provider/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -23,9 +26,32 @@ class _PathProviderPageState extends AppState { AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.pathProviderTitle, + desc: l10n.pathProviderDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/shared_preferences/model.dart b/example/lib/packages/shared_preferences/model.dart index 6717380..f57d938 100644 --- a/example/lib/packages/shared_preferences/model.dart +++ b/example/lib/packages/shared_preferences/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class SharedPreferencesModel extends Model { /// Get [ScopedModel] static SharedPreferencesModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/shared_preferences/page.dart b/example/lib/packages/shared_preferences/page.dart index 617b53b..1c3e8ca 100644 --- a/example/lib/packages/shared_preferences/page.dart +++ b/example/lib/packages/shared_preferences/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/shared_preferences/model.dart'; import 'package:flutter_example_packages/packages/shared_preferences/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -25,9 +28,32 @@ class _SharedPreferencesPageState extends AppState { AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.sharedPreferencesTitle, + desc: l10n.sharedPreferencesDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/wakelock/model.dart b/example/lib/packages/wakelock/model.dart index 610b1d8..ff20bf8 100644 --- a/example/lib/packages/wakelock/model.dart +++ b/example/lib/packages/wakelock/model.dart @@ -5,4 +5,13 @@ import 'package:scoped_model/scoped_model.dart'; class WakelockModel extends Model { /// Get [ScopedModel] static WakelockModel of(BuildContext context) => ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; } \ No newline at end of file diff --git a/example/lib/packages/wakelock/page.dart b/example/lib/packages/wakelock/page.dart index 9e5688d..74dc68b 100644 --- a/example/lib/packages/wakelock/page.dart +++ b/example/lib/packages/wakelock/page.dart @@ -3,6 +3,9 @@ import 'package:flutter_example_packages/base/package/package.dart'; import 'package:flutter_example_packages/packages/wakelock/model.dart'; import 'package:flutter_example_packages/packages/wakelock/package.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.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'; @@ -25,9 +28,32 @@ class _WakelockPageState extends AppState { AppLocalizations l10n, ) { return BlockLayout( - title: widget.package.key, - builder: (context, child, model) { - return Text(widget.package.desc); - }); + 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), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.wakelockTitle, + desc: l10n.wakelockDesc, + value: null, + ), + ], + ), + ], + ), + ), + ); + }, + ); } } diff --git a/example/lib/packages/xdga_directories/model.dart b/example/lib/packages/xdga_directories/model.dart index e1aa80a..989cddd 100644 --- a/example/lib/packages/xdga_directories/model.dart +++ b/example/lib/packages/xdga_directories/model.dart @@ -14,7 +14,7 @@ class XdgaDirectoriesModel extends Model { /// Public error String? get error => _error; - /// Public error + /// Public is error bool get isError => _error != null; /// QStandardPaths::CacheLocation diff --git a/example/lib/packages/xdga_directories/page.dart b/example/lib/packages/xdga_directories/page.dart index 24e6f45..4df6a05 100644 --- a/example/lib/packages/xdga_directories/page.dart +++ b/example/lib/packages/xdga_directories/page.dart @@ -31,58 +31,61 @@ class _XdgaDirectoriesPageState extends AppState { title: widget.package.key, builder: (context, child, model) { return SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - BlockInfoPackage(widget.package), - BlockAlert(model.error), - if (!model.isError) - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - BlockItem( - title: l10n.xdgaDirectoriesTitleCacheLocation, - desc: l10n.xdgaDirectoriesDescCacheLocation, - value: model.getCacheLocation(), - ), - BlockItem( - title: l10n.xdgaDirectoriesTitleAppDataLocation, - desc: l10n.xdgaDirectoriesDescAppDataLocation, - value: model.getAppDataLocation(), - ), - BlockItem( - title: l10n.xdgaDirectoriesTitleDocumentsLocation, - desc: l10n.xdgaDirectoriesDescDocumentsLocation, - value: model.getDocumentsLocation(), - ), - BlockItem( - title: l10n.xdgaDirectoriesTitleDownloadLocation, - desc: l10n.xdgaDirectoriesDescDownloadLocation, - value: model.getDownloadLocation(), - ), - BlockItem( - title: l10n.xdgaDirectoriesTitleMusicLocation, - desc: l10n.xdgaDirectoriesDescMusicLocation, - value: model.getMusicLocation(), - ), - BlockItem( - title: l10n.xdgaDirectoriesTitlePicturesLocation, - desc: l10n.xdgaDirectoriesDescPicturesLocation, - value: model.getPicturesLocation(), - ), - BlockItem( - title: l10n.xdgaDirectoriesTitleGenericDataLocation, - desc: l10n.xdgaDirectoriesDescGenericDataLocation, - value: model.getGenericDataLocation(), - ), - BlockItem( - title: l10n.xdgaDirectoriesTitleMoviesLocation, - desc: l10n.xdgaDirectoriesDescMoviesLocation, - value: model.getMoviesLocation(), - ), - ], - ), - ], + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockInfoPackage(widget.package), + BlockAlert(model.error), + if (!model.isError) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockItem( + title: l10n.xdgaDirectoriesTitleCacheLocation, + desc: l10n.xdgaDirectoriesDescCacheLocation, + value: model.getCacheLocation(), + ), + BlockItem( + title: l10n.xdgaDirectoriesTitleAppDataLocation, + desc: l10n.xdgaDirectoriesDescAppDataLocation, + value: model.getAppDataLocation(), + ), + BlockItem( + title: l10n.xdgaDirectoriesTitleDocumentsLocation, + desc: l10n.xdgaDirectoriesDescDocumentsLocation, + value: model.getDocumentsLocation(), + ), + BlockItem( + title: l10n.xdgaDirectoriesTitleDownloadLocation, + desc: l10n.xdgaDirectoriesDescDownloadLocation, + value: model.getDownloadLocation(), + ), + BlockItem( + title: l10n.xdgaDirectoriesTitleMusicLocation, + desc: l10n.xdgaDirectoriesDescMusicLocation, + value: model.getMusicLocation(), + ), + BlockItem( + title: l10n.xdgaDirectoriesTitlePicturesLocation, + desc: l10n.xdgaDirectoriesDescPicturesLocation, + value: model.getPicturesLocation(), + ), + BlockItem( + title: l10n.xdgaDirectoriesTitleGenericDataLocation, + desc: l10n.xdgaDirectoriesDescGenericDataLocation, + value: model.getGenericDataLocation(), + ), + BlockItem( + title: l10n.xdgaDirectoriesTitleMoviesLocation, + desc: l10n.xdgaDirectoriesDescMoviesLocation, + value: model.getMoviesLocation(), + ), + ], + ), + ], + ), ), ); }, diff --git a/example/lib/widgets/layouts/block_layout.dart b/example/lib/widgets/layouts/block_layout.dart index e0a5f76..9882553 100644 --- a/example/lib/widgets/layouts/block_layout.dart +++ b/example/lib/widgets/layouts/block_layout.dart @@ -51,10 +51,7 @@ class BlockLayout extends AppStatelessWidget { color: Colors.white, ), ), - body: Padding( - padding: EdgeInsets.all(title == null ? 0 : 20), - child: builder.call(context, child, model), - ), + body: builder.call(context, child, model), ); }, ), diff --git a/example/pubspec.lock b/example/pubspec.lock index 83e13ef..0a1c06e 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -183,6 +183,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.7.8" + device_info_plus: + dependency: "direct main" + description: + name: device_info_plus + url: "https://pub.dartlang.org" + source: hosted + version: "9.0.2" + device_info_plus_aurora: + dependency: "direct main" + description: + path: "../packages/device_info_plus/device_info_plus_aurora" + relative: true + source: path + version: "0.0.1" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "7.0.0" fake_async: dependency: transitive description: @@ -600,6 +621,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "4.1.4" + win32_registry: + dependency: transitive + description: + name: win32_registry + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" xdg_directories: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index c27e7a3..a65c36e 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -36,12 +36,12 @@ dependencies: battery_plus_aurora: path: ../packages/battery_plus/battery_plus_aurora -# ## https://pub.dev/packages/device_info_plus -# device_info_plus: ^9.0.2 -# ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/device_info_plus/device_info_plus_aurora -# device_info_plus_aurora: -# path: ../packages/device_info_plus/device_info_plus_aurora -# + ## https://pub.dev/packages/device_info_plus + device_info_plus: ^9.0.2 + ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/device_info_plus/device_info_plus_aurora + device_info_plus_aurora: + path: ../packages/device_info_plus/device_info_plus_aurora + # ## https://pub.dev/packages/flutter_local_notifications # flutter_local_notifications: ^14.1.1 # ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/flutter_local_notifications/flutter_local_notifications_aurora