diff --git a/lib/ui/component/container_with_loading.dart b/lib/ui/component/container_with_loading.dart deleted file mode 100644 index 9e9a080..0000000 --- a/lib/ui/component/container_with_loading.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; - -import '../loading_state_view_model.dart'; -import 'loading.dart'; - -class ContainerWithLoading extends HookConsumerWidget { - const ContainerWithLoading({required Widget child}) : _child = child; - - final Widget _child; - - @override - Widget build(BuildContext context, WidgetRef ref) { - final state = ref.read(loadingStateProvider); - final loadingWidget = state.isLoading ? const Loading() : const SizedBox(); - return Stack( - children: [ - _child, - loadingWidget, - ], - ); - } -} diff --git a/lib/ui/component/dialog.dart b/lib/ui/component/dialog.dart deleted file mode 100644 index e0f66be..0000000 --- a/lib/ui/component/dialog.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:get/get.dart'; - -void showSimpleDialog(BuildContext context, - {String? title, String? text, VoidCallback? onPressed}) { - showDialog( - context: context, - builder: (context) { - return AlertDialog( - backgroundColor: Colors.white, - title: Text(title!), - content: Text(text!), - actions: [ - TextButton( - child: Text( - L10n.of(context)!.cancel, - style: - TextStyle(color: Theme.of(context).colorScheme.secondary), - ), - onPressed: Get.back, - ), - TextButton( - child: Text( - L10n.of(context)!.ok, - style: - TextStyle(color: Theme.of(context).colorScheme.secondary), - ), - onPressed: onPressed, - ), - ], - ); - }); -} diff --git a/lib/ui/component/down_icon_widget.dart b/lib/ui/component/down_icon_widget.dart index aa12f6a..a4ef3ea 100644 --- a/lib/ui/component/down_icon_widget.dart +++ b/lib/ui/component/down_icon_widget.dart @@ -3,14 +3,20 @@ import 'package:flutter/cupertino.dart'; import '../../gen/assets.gen.dart'; class DownIconWidget extends StatelessWidget { - final double _size; - final Color _color; + final double size; + final Color color; - DownIconWidget(this._size, this._color); + DownIconWidget({ + required this.size, + required this.color, + }); @override Widget build(BuildContext context) { - return Assets.svgs.vectorDown - .svg(width: _size, height: _size, color: _color); + return Assets.svgs.vectorDown.svg( + width: size, + height: size, + color: color, + ); } } diff --git a/lib/ui/component/input_text_dialog.dart b/lib/ui/component/input_text_dialog.dart index ff45c9d..8cb6a13 100644 --- a/lib/ui/component/input_text_dialog.dart +++ b/lib/ui/component/input_text_dialog.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; mixin InputTextDialog { @@ -10,43 +9,45 @@ mixin InputTextDialog { /// [dialogTitle] ダイアログのタイトル /// [hintText] 入力フィールドのヒント /// [message] L10n - Future displayTextInputDialog( - {required BuildContext context, - required String defaultValue, - required ValueChanged onTapOk, - required String dialogTitle, - required String hintText, - required L10n message}) async { + Future displayTextInputDialog({ + required BuildContext context, + required String defaultValue, + required ValueChanged onTapOk, + required String dialogTitle, + required String hintText, + required L10n message, + }) async { var valueText = ""; return showDialog( - context: context, - builder: (context) { - return AlertDialog( - title: Text(dialogTitle), - content: TextField( - controller: TextEditingController(text: defaultValue), - onChanged: (value) { - valueText = value; + context: context, + builder: (context) { + return AlertDialog( + title: Text(dialogTitle), + content: TextField( + controller: TextEditingController(text: defaultValue), + onChanged: (value) { + valueText = value; + }, + decoration: InputDecoration(hintText: hintText), + ), + actions: [ + TextButton( + child: Text(message.cancel), + onPressed: () { + Navigator.pop(context); }, - decoration: InputDecoration(hintText: hintText), ), - actions: [ - TextButton( - child: Text(message.cancel), - onPressed: () { - Navigator.pop(context); - }, - ), - TextButton( - child: Text(message.ok), - onPressed: () { - print(valueText); - onTapOk(valueText); - Navigator.pop(context); - }, - ), - ], - ); - }); + TextButton( + child: Text(message.ok), + onPressed: () { + print(valueText); + onTapOk(valueText); + Navigator.pop(context); + }, + ), + ], + ); + }, + ); } } diff --git a/lib/ui/component/loading.dart b/lib/ui/component/loading.dart deleted file mode 100644 index 02dceb6..0000000 --- a/lib/ui/component/loading.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:flutter/material.dart'; - -class Loading extends StatelessWidget { - const Loading(); - - @override - Widget build(BuildContext context) { - return Center( - child: CircularProgressIndicator( - valueColor: - AlwaysStoppedAnimation(Theme.of(context).accentColor))); - } -} diff --git a/lib/ui/component/up_icon_widget.dart b/lib/ui/component/up_icon_widget.dart index 101862f..0803cb9 100644 --- a/lib/ui/component/up_icon_widget.dart +++ b/lib/ui/component/up_icon_widget.dart @@ -3,13 +3,20 @@ import 'package:flutter/cupertino.dart'; import '../../gen/assets.gen.dart'; class UpIconWidget extends StatelessWidget { - final double _size; - final Color _color; + final double size; + final Color color; - UpIconWidget(this._size, this._color); + UpIconWidget({ + required this.size, + required this.color, + }); @override Widget build(BuildContext context) { - return Assets.svgs.vectorUp.svg(width: _size, height: _size, color: _color); + return Assets.svgs.vectorUp.svg( + width: size, + height: size, + color: color, + ); } } diff --git a/lib/ui/setting/setting_page.dart b/lib/ui/setting/setting_page.dart index 4e2fc33..b38662c 100644 --- a/lib/ui/setting/setting_page.dart +++ b/lib/ui/setting/setting_page.dart @@ -22,7 +22,7 @@ class SettingPage extends HookConsumerWidget with InputTextDialog { final controller = ref.read(settingPageControllerProvider.notifier); controller.onBuildStart(); - var message = L10n.of(context)!; + final message = L10n.of(context)!; return Scaffold( appBar: PreferredSize( @@ -68,7 +68,7 @@ class _DeviceId extends HookConsumerWidget with InputTextDialog { Widget build(BuildContext context, WidgetRef ref) { final message = L10n.of(context)!; final controller = ref.read(settingPageControllerProvider.notifier); - final deviceId = ref.read(settingPageControllerProvider + final deviceId = ref.watch(settingPageControllerProvider .select((value) => value.deviceId?.value ?? "")); return ListTile( title: Text( @@ -100,7 +100,7 @@ class _AccessToken extends HookConsumerWidget with InputTextDialog { Widget build(BuildContext context, WidgetRef ref) { final message = L10n.of(context)!; final controller = ref.read(settingPageControllerProvider.notifier); - final accessToken = ref.read(settingPageControllerProvider + final accessToken = ref.watch(settingPageControllerProvider .select((value) => value.accessToken?.value ?? "")); return ListTile( title: Text( @@ -132,7 +132,7 @@ class _ZipCode extends HookConsumerWidget with InputTextDialog { Widget build(BuildContext context, WidgetRef ref) { final message = L10n.of(context)!; final controller = ref.read(settingPageControllerProvider.notifier); - final zipCode = ref.read(settingPageControllerProvider + final zipCode = ref.watch(settingPageControllerProvider .select((value) => value.zipCode?.value ?? "")); return ListTile( title: Text( @@ -164,7 +164,7 @@ class _OpenWeatherId extends HookConsumerWidget with InputTextDialog { Widget build(BuildContext context, WidgetRef ref) { final message = L10n.of(context)!; final controller = ref.read(settingPageControllerProvider.notifier); - final appId = ref.read(settingPageControllerProvider + final appId = ref.watch(settingPageControllerProvider .select((value) => value.appId?.value ?? "")); return ListTile( diff --git a/lib/ui/setting/setting_page_controller.dart b/lib/ui/setting/setting_page_controller.dart index 93b690a..fcdb58f 100644 --- a/lib/ui/setting/setting_page_controller.dart +++ b/lib/ui/setting/setting_page_controller.dart @@ -10,32 +10,37 @@ import 'setting_page_state.dart'; final settingPageControllerProvider = StateNotifierProvider( - (ref) => SettingPageController(ref.read(appSettingTopUsecaseProvider))); + (ref) => SettingPageController( + settingTopUseCase: ref.read(appSettingTopUsecaseProvider), + ), +); class SettingPageController extends StateNotifier { - SettingPageController(this._settingTopUseCase) - : super(SettingPageState.init()); + SettingPageController({ + required this.settingTopUseCase, + }) : super(SettingPageState.init()); - final AppSettingTopUseCase _settingTopUseCase; + final AppSettingTopUseCase settingTopUseCase; void onBuildStart() async { - final meterDeviceId = await _settingTopUseCase.loadMeterDeviceId(); - final accessToken = await _settingTopUseCase.loadSwitchBotAccessToken(); - final weatherAppId = await _settingTopUseCase.loadOpenWeatherAppId(); - final zipCode = await _settingTopUseCase.loadZipCode(); + final meterDeviceId = await settingTopUseCase.loadMeterDeviceId(); + final accessToken = await settingTopUseCase.loadSwitchBotAccessToken(); + final weatherAppId = await settingTopUseCase.loadOpenWeatherAppId(); + final zipCode = await settingTopUseCase.loadZipCode(); state = state.copyWith.call( - deviceId: meterDeviceId, - accessToken: accessToken, - appId: weatherAppId, - zipCode: zipCode); + deviceId: meterDeviceId, + accessToken: accessToken, + appId: weatherAppId, + zipCode: zipCode, + ); } Future saveMeterDeviceId(String deviceId) async { final meterDeviceId = MeterDeviceId( value: deviceId, ); - await _settingTopUseCase.saveMeterDeviceId( + await settingTopUseCase.saveMeterDeviceId( deviceId: meterDeviceId, ); state = state.copyWith.call( @@ -47,7 +52,7 @@ class SettingPageController extends StateNotifier { final switchBotAccessToken = SwitchBotAccessToken( value: accessToken, ); - await _settingTopUseCase.saveSwitchBotAccessToken( + await settingTopUseCase.saveSwitchBotAccessToken( accessToken: switchBotAccessToken, ); state = state.copyWith.call( @@ -59,7 +64,7 @@ class SettingPageController extends StateNotifier { final weatherAppId = OpenWeatherAppId( value: appId, ); - await _settingTopUseCase.saveOpenWeatherAppId( + await settingTopUseCase.saveOpenWeatherAppId( appId: weatherAppId, ); state = state.copyWith.call( @@ -71,7 +76,7 @@ class SettingPageController extends StateNotifier { final zipCodeVO = ZipCode( value: zipCode, ); - await _settingTopUseCase.saveZipCode( + await settingTopUseCase.saveZipCode( zipCode: zipCodeVO, ); state = state.copyWith.call( diff --git a/lib/ui/setting/setting_page_state.dart b/lib/ui/setting/setting_page_state.dart index b731072..2994173 100644 --- a/lib/ui/setting/setting_page_state.dart +++ b/lib/ui/setting/setting_page_state.dart @@ -9,11 +9,12 @@ part "setting_page_state.freezed.dart"; @freezed class SettingPageState with _$SettingPageState { - const factory SettingPageState( - {MeterDeviceId? deviceId, - SwitchBotAccessToken? accessToken, - OpenWeatherAppId? appId, - ZipCode? zipCode}) = _SettingPageState; + const factory SettingPageState({ + MeterDeviceId? deviceId, + SwitchBotAccessToken? accessToken, + OpenWeatherAppId? appId, + ZipCode? zipCode, + }) = _SettingPageState; factory SettingPageState.init() => const _SettingPageState(); } diff --git a/lib/ui/station/widget/todays_temperature_widget.dart b/lib/ui/station/widget/todays_temperature_widget.dart index 55c3cfb..6b21832 100644 --- a/lib/ui/station/widget/todays_temperature_widget.dart +++ b/lib/ui/station/widget/todays_temperature_widget.dart @@ -14,7 +14,10 @@ class TodaysTemperatureWidget extends StatelessWidget { Widget _buildMaxTemperature(L10n message) { var children = []; - children.add(UpIconWidget(20, ColorName.textRed)); + children.add(UpIconWidget( + size: 20, + color: ColorName.textRed, + )); var text = Container( margin: const EdgeInsets.only(left: 8), child: Text( @@ -30,7 +33,10 @@ class TodaysTemperatureWidget extends StatelessWidget { Widget _buildMinTemperature(L10n message) { var children = []; - children.add(DownIconWidget(20, ColorName.textBlue)); + children.add(DownIconWidget( + size: 20, + color: ColorName.textBlue, + )); var text = Container( margin: const EdgeInsets.only(left: 8), child: Text( diff --git a/lib/ui/station/widget/weather_item_widget.dart b/lib/ui/station/widget/weather_item_widget.dart index fdd7a7b..3358cde 100644 --- a/lib/ui/station/widget/weather_item_widget.dart +++ b/lib/ui/station/widget/weather_item_widget.dart @@ -32,7 +32,10 @@ class WeatherItemWidget extends StatelessWidget { Widget _buildMaxTemperature(L10n message) { var children = []; - children.add(UpIconWidget(10, ColorName.textRed)); + children.add(UpIconWidget( + size: 10, + color: ColorName.textRed, + )); var text = Container( margin: const EdgeInsets.only(left: 4), child: Text( @@ -48,7 +51,10 @@ class WeatherItemWidget extends StatelessWidget { Widget _buildMinTemperature(L10n message) { var children = []; - children.add(DownIconWidget(10, ColorName.textBlue)); + children.add(DownIconWidget( + size: 10, + color: ColorName.textBlue, + )); var text = Container( margin: const EdgeInsets.only(left: 4), child: Text(