From fbdedb95bf5548746aff93bfca2ff53da1209839 Mon Sep 17 00:00:00 2001 From: Ryo Takeuchi Date: Sun, 30 Jun 2024 23:36:44 +0900 Subject: [PATCH] =?UTF-8?q?feat(quest):=20=E3=82=AF=E3=82=A8=E3=82=B9?= =?UTF-8?q?=E3=83=88=E8=A9=B3=E7=B4=B0=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=AB?= =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B=E8=A6=81=E7=B4=A0=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feature/quest/lib/src/gen/l10n/l10n.dart | 60 ++++++++++++++++++ feature/quest/lib/src/gen/l10n/l10n_en.dart | 30 +++++++++ feature/quest/lib/src/gen/l10n/l10n_ja.dart | 30 +++++++++ feature/quest/lib/src/l10n/app_en.arb | 10 +++ feature/quest/lib/src/l10n/app_ja.arb | 10 +++ .../page/detail/component/quest_content.dart | 61 ++++++++++++++++++- 6 files changed, 198 insertions(+), 3 deletions(-) diff --git a/feature/quest/lib/src/gen/l10n/l10n.dart b/feature/quest/lib/src/gen/l10n/l10n.dart index 6b3d5653..b7b19aa0 100644 --- a/feature/quest/lib/src/gen/l10n/l10n.dart +++ b/feature/quest/lib/src/gen/l10n/l10n.dart @@ -114,6 +114,66 @@ abstract class L10n { /// **'クエスト'** String get questDetailAppBarTitle; + /// No description provided for @questDetailContentBegunAtLabel. + /// + /// In ja, this message translates to: + /// **'開始日時'** + String get questDetailContentBegunAtLabel; + + /// No description provided for @questDetailContentBegunAtEmptyText. + /// + /// In ja, this message translates to: + /// **'設定されていません'** + String get questDetailContentBegunAtEmptyText; + + /// No description provided for @questDetailContentEndedAtLabel. + /// + /// In ja, this message translates to: + /// **'終了日時'** + String get questDetailContentEndedAtLabel; + + /// No description provided for @questDetailContentEndedAtEmptyText. + /// + /// In ja, this message translates to: + /// **'設定されていません'** + String get questDetailContentEndedAtEmptyText; + + /// No description provided for @questDetailContentCategoryLabel. + /// + /// In ja, this message translates to: + /// **'カテゴリ'** + String get questDetailContentCategoryLabel; + + /// No description provided for @questDetailContentCategoryEmptyText. + /// + /// In ja, this message translates to: + /// **'設定されていません'** + String get questDetailContentCategoryEmptyText; + + /// No description provided for @questDetailContentStatusLabel. + /// + /// In ja, this message translates to: + /// **'ステータス'** + String get questDetailContentStatusLabel; + + /// No description provided for @questDetailContentStatusEmptyText. + /// + /// In ja, this message translates to: + /// **'設定されていません'** + String get questDetailContentStatusEmptyText; + + /// No description provided for @questDetailContentNoteLabel. + /// + /// In ja, this message translates to: + /// **'ノート'** + String get questDetailContentNoteLabel; + + /// No description provided for @questDetailContentNoteEmptyText. + /// + /// In ja, this message translates to: + /// **'設定されていません'** + String get questDetailContentNoteEmptyText; + /// No description provided for @questAddAppBarTitle. /// /// In ja, this message translates to: diff --git a/feature/quest/lib/src/gen/l10n/l10n_en.dart b/feature/quest/lib/src/gen/l10n/l10n_en.dart index ba0696dc..d8a4eead 100644 --- a/feature/quest/lib/src/gen/l10n/l10n_en.dart +++ b/feature/quest/lib/src/gen/l10n/l10n_en.dart @@ -15,6 +15,36 @@ class L10nEn extends L10n { @override String get questDetailAppBarTitle => 'Quest'; + @override + String get questDetailContentBegunAtLabel => 'Begun At'; + + @override + String get questDetailContentBegunAtEmptyText => 'Not set'; + + @override + String get questDetailContentEndedAtLabel => 'Ended At'; + + @override + String get questDetailContentEndedAtEmptyText => 'Not set'; + + @override + String get questDetailContentCategoryLabel => 'Category'; + + @override + String get questDetailContentCategoryEmptyText => 'Not set'; + + @override + String get questDetailContentStatusLabel => 'Status'; + + @override + String get questDetailContentStatusEmptyText => 'Not set'; + + @override + String get questDetailContentNoteLabel => 'Note'; + + @override + String get questDetailContentNoteEmptyText => 'Not set'; + @override String get questAddAppBarTitle => 'Add Quest'; diff --git a/feature/quest/lib/src/gen/l10n/l10n_ja.dart b/feature/quest/lib/src/gen/l10n/l10n_ja.dart index db23d527..ce66124e 100644 --- a/feature/quest/lib/src/gen/l10n/l10n_ja.dart +++ b/feature/quest/lib/src/gen/l10n/l10n_ja.dart @@ -15,6 +15,36 @@ class L10nJa extends L10n { @override String get questDetailAppBarTitle => 'クエスト'; + @override + String get questDetailContentBegunAtLabel => '開始日時'; + + @override + String get questDetailContentBegunAtEmptyText => '設定されていません'; + + @override + String get questDetailContentEndedAtLabel => '終了日時'; + + @override + String get questDetailContentEndedAtEmptyText => '設定されていません'; + + @override + String get questDetailContentCategoryLabel => 'カテゴリ'; + + @override + String get questDetailContentCategoryEmptyText => '設定されていません'; + + @override + String get questDetailContentStatusLabel => 'ステータス'; + + @override + String get questDetailContentStatusEmptyText => '設定されていません'; + + @override + String get questDetailContentNoteLabel => 'ノート'; + + @override + String get questDetailContentNoteEmptyText => '設定されていません'; + @override String get questAddAppBarTitle => 'クエストを追加'; diff --git a/feature/quest/lib/src/l10n/app_en.arb b/feature/quest/lib/src/l10n/app_en.arb index 0bb1ee46..648cdbd1 100644 --- a/feature/quest/lib/src/l10n/app_en.arb +++ b/feature/quest/lib/src/l10n/app_en.arb @@ -2,6 +2,16 @@ "questListAppBarTitle": "Quests", "questListAddQuest": "Add Quest", "questDetailAppBarTitle": "Quest", + "questDetailContentBegunAtLabel": "Begun At", + "questDetailContentBegunAtEmptyText": "Not set", + "questDetailContentEndedAtLabel": "Ended At", + "questDetailContentEndedAtEmptyText": "Not set", + "questDetailContentCategoryLabel": "Category", + "questDetailContentCategoryEmptyText": "Not set", + "questDetailContentStatusLabel": "Status", + "questDetailContentStatusEmptyText": "Not set", + "questDetailContentNoteLabel": "Note", + "questDetailContentNoteEmptyText": "Not set", "questAddAppBarTitle": "Add Quest", "questAddFormTitleLabel": "Title", "questAddFormTitleEmptyErrorMessage": "Please enter a title", diff --git a/feature/quest/lib/src/l10n/app_ja.arb b/feature/quest/lib/src/l10n/app_ja.arb index 03535615..d311c4db 100644 --- a/feature/quest/lib/src/l10n/app_ja.arb +++ b/feature/quest/lib/src/l10n/app_ja.arb @@ -2,6 +2,16 @@ "questListAppBarTitle": "クエスト", "questListAddQuest": "クエストを追加する", "questDetailAppBarTitle": "クエスト", + "questDetailContentBegunAtLabel": "開始日時", + "questDetailContentBegunAtEmptyText": "設定されていません", + "questDetailContentEndedAtLabel": "終了日時", + "questDetailContentEndedAtEmptyText": "設定されていません", + "questDetailContentCategoryLabel": "カテゴリ", + "questDetailContentCategoryEmptyText": "設定されていません", + "questDetailContentStatusLabel": "ステータス", + "questDetailContentStatusEmptyText": "設定されていません", + "questDetailContentNoteLabel": "ノート", + "questDetailContentNoteEmptyText": "設定されていません", "questAddAppBarTitle": "クエストを追加", "questAddFormTitleLabel": "タイトル", "questAddFormTitleEmptyErrorMessage": "タイトルを入力してください", diff --git a/feature/quest/lib/src/ui/page/detail/component/quest_content.dart b/feature/quest/lib/src/ui/page/detail/component/quest_content.dart index 333ecb97..d7ece7f7 100644 --- a/feature/quest/lib/src/ui/page/detail/component/quest_content.dart +++ b/feature/quest/lib/src/ui/page/detail/component/quest_content.dart @@ -1,5 +1,7 @@ +import 'package:core_designsystem/component.dart'; import 'package:core_domain/quest_use_case.dart'; import 'package:core_model/quest.dart'; +import 'package:feature_quest/src/gen/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; @@ -14,6 +16,8 @@ final class QuestContent extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + final l10n = L10n.of(context); + final provider = questStreamByIdUseCaseProvider(id: _questId); final quest = ref.watch(provider); @@ -37,12 +41,63 @@ final class QuestContent extends HookConsumerWidget { fontWeight: FontWeight.bold, ), ), - Text(quest.description), - Text(quest.note), + // カバー画像 + if (quest.coverImageUrl != null) + ClipRRect( + borderRadius: BorderRadius.circular(8), + child: Image.network(quest.coverImageUrl!), + ), + + // 説明 + if (quest.description.isNotEmpty) Text(quest.description), + + // 開始日時 + ...[ + const Gap(8), + Text(l10n.questDetailContentBegunAtLabel), + if (quest.begunAt != null) + Text(quest.begunAt!.toIso8601String()) + else + Text(l10n.questDetailContentBegunAtEmptyText), + ], + + // 終了日時 + ...[ + const Gap(8), + Text(l10n.questDetailContentEndedAtLabel), + if (quest.endedAt != null) + Text(quest.endedAt!.toIso8601String()) + else + Text(l10n.questDetailContentEndedAtEmptyText), + ], + + // カテゴリ + ...[ + const Gap(8), + Text(l10n.questDetailContentCategoryLabel), + if (quest.categoryId != null) + Text(quest.categoryId!) + else + Text(l10n.questDetailContentCategoryEmptyText), + ], + + // ステータス + ...[ + const Gap(8), + Text(l10n.questDetailContentStatusLabel), + Text(quest.status.name), + ], + + // ノート + ...[ + const Gap(8), + Text(l10n.questDetailContentNoteLabel), + Text(quest.note), + ], ].expand( (element) => [ element, - const SizedBox(height: 16), + const Gap(8), ], ), ],