diff --git a/assets/i18n/strings.i18n.json b/assets/i18n/strings.i18n.json index 8a9d29c39..1211c0ef9 100644 --- a/assets/i18n/strings.i18n.json +++ b/assets/i18n/strings.i18n.json @@ -251,6 +251,8 @@ "description": "Please log in to write notices and leave reactions.", "action": "Login" }, + "groups": "Group", + "myGroups": "My Groups", "setting": { "title": "Setting", "notification": { diff --git a/assets/i18n/strings_jp.i18n.json b/assets/i18n/strings_jp.i18n.json index fe04bc360..dbc835115 100644 --- a/assets/i18n/strings_jp.i18n.json +++ b/assets/i18n/strings_jp.i18n.json @@ -251,6 +251,8 @@ "description": "お知らせを作成し、リアクションを残すにはログインしてください。", "action": "ログイン" }, + "groups": "グループ", + "myGroups": "マイグループ", "setting": { "title": "設定", "notification": { diff --git a/assets/i18n/strings_ko.i18n.json b/assets/i18n/strings_ko.i18n.json index 12031dbbd..6f179e046 100644 --- a/assets/i18n/strings_ko.i18n.json +++ b/assets/i18n/strings_ko.i18n.json @@ -251,6 +251,8 @@ "description": "공지를 작성하고, 반응을 남기려면 로그인해주세요.", "action": "로그인하기" }, + "groups": "그룹", + "myGroups": "내가 속한 그룹들", "setting": { "title": "설정", "notification": { diff --git a/assets/i18n/strings_ru.i18n.json b/assets/i18n/strings_ru.i18n.json index 8f130fc77..4e524a527 100644 --- a/assets/i18n/strings_ru.i18n.json +++ b/assets/i18n/strings_ru.i18n.json @@ -251,6 +251,8 @@ "description": "Пожалуйста, войдите, чтобы писать уведомления и оставлять реакции.", "action": "Войти" }, + "groups": "Группа", + "myGroups": "Мои группы", "setting": { "title": "Настройки", "notification": { diff --git a/assets/icons/color-filter.svg b/assets/icons/color-filter.svg new file mode 100644 index 000000000..61e8b4790 --- /dev/null +++ b/assets/icons/color-filter.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/lib/app/modules/core/data/models/analytics_event.dart b/lib/app/modules/core/data/models/analytics_event.dart index b3d3e7c29..d12b4dfb2 100644 --- a/lib/app/modules/core/data/models/analytics_event.dart +++ b/lib/app/modules/core/data/models/analytics_event.dart @@ -114,6 +114,7 @@ class AnalyticsEvent with _$AnalyticsEvent { const factory AnalyticsEvent.profileLogout(PageSource from) = _ProfileLogout; const factory AnalyticsEvent.profileWithdraw() = _ProfileWithdraw; const factory AnalyticsEvent.profileLogin(PageSource from) = _ProfileLogin; + const factory AnalyticsEvent.profileGroup() = _ProfileGroup; const factory AnalyticsEvent.profileSettingEnableNotification() = _ProfileSettingEnableNotification; const factory AnalyticsEvent.profileSettingLanguage(AppLocale lang) = diff --git a/lib/app/modules/user/presentation/pages/profile_page.dart b/lib/app/modules/user/presentation/pages/profile_page.dart index a77b69589..2a5d446dc 100644 --- a/lib/app/modules/user/presentation/pages/profile_page.dart +++ b/lib/app/modules/user/presentation/pages/profile_page.dart @@ -82,7 +82,18 @@ class _Layout extends StatelessWidget { ], ), ), - const SizedBox(height: 40), + SizedBox(height: 40), + if (authenticated) ...[ + ZiggleRowButton( + icon: Assets.icons.colorFilter.svg(), + title: Text(context.t.user.groups), + onPressed: () { + AnalyticsRepository.click(AnalyticsEvent.profileGroup()); + GroupManagementMainRoute().push(context); + }, + ), + const SizedBox(height: 20), + ], ZiggleRowButton( icon: Assets.icons.setting.svg(), title: Text(context.t.user.setting.title), diff --git a/lib/app/router.dart b/lib/app/router.dart index 3a38bef43..d93f42ed5 100644 --- a/lib/app/router.dart +++ b/lib/app/router.dart @@ -92,6 +92,10 @@ class AppRouter extends RootStackRouter { ], ), AutoRoute(path: '/search', page: SearchRoute.page), + AutoRoute( + path: '/group/managementMain', + page: GroupManagementMainRoute.page, + ), AutoRoute( path: '/group/create', page: GroupCreationShellRoute.page,