From e3961db0d67d943de5af91e61885884011bf1309 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Tue, 1 Apr 2025 15:57:22 -0400 Subject: [PATCH] chore: added button to go to activity generator page to activity planner page (#2309) --- assets/l10n/intl_en.arb | 4 +- .../activity_planner_page.dart | 2 +- .../activity_planner_page_appbar.dart | 95 +++++++++++++++---- 3 files changed, 78 insertions(+), 23 deletions(-) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 9b093e70b..0281396e8 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -4839,8 +4839,8 @@ "randomize": "Randomize", "clear": "Clear", "makeYourOwnActivity": "Make your own activity", - "featuredActivities": "Featured activities", - "yourBookmarks": "My bookmarks", + "featuredActivities": "Featured", + "yourBookmarks": "Bookmarked", "goToChat": "Go to chat", "save": "Save", "selectActivity": "Select activity", diff --git a/lib/pangea/activity_planner/activity_planner_page.dart b/lib/pangea/activity_planner/activity_planner_page.dart index a7a4cbdbe..18df46a14 100644 --- a/lib/pangea/activity_planner/activity_planner_page.dart +++ b/lib/pangea/activity_planner/activity_planner_page.dart @@ -56,7 +56,7 @@ class ActivityPlannerPageState extends State { return Scaffold( appBar: ActivityPlannerPageAppBar( pageMode: pageMode, - setPageMode: _setPageMode, + roomID: widget.roomID, ), body: Center( child: ConstrainedBox( diff --git a/lib/pangea/activity_planner/activity_planner_page_appbar.dart b/lib/pangea/activity_planner/activity_planner_page_appbar.dart index c91003415..9c86b34b9 100644 --- a/lib/pangea/activity_planner/activity_planner_page_appbar.dart +++ b/lib/pangea/activity_planner/activity_planner_page_appbar.dart @@ -1,16 +1,21 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:go_router/go_router.dart'; +import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/activity_planner/activity_planner_page.dart'; +import 'package:fluffychat/pangea/activity_suggestions/activity_suggestions_constants.dart'; +import 'package:fluffychat/pangea/common/widgets/customized_svg.dart'; class ActivityPlannerPageAppBar extends StatelessWidget implements PreferredSizeWidget { final PageMode pageMode; - final Function(PageMode) setPageMode; + final String roomID; + const ActivityPlannerPageAppBar({ required this.pageMode, - required this.setPageMode, + required this.roomID, super.key, }); @@ -20,39 +25,89 @@ class ActivityPlannerPageAppBar extends StatelessWidget @override Widget build(BuildContext context) { final l10n = L10n.of(context); + final theme = Theme.of(context); + return AppBar( - leading: IconButton( - icon: const Icon(Icons.close), - onPressed: () => Navigator.of(context).pop(), + leadingWidth: 150.0, + leading: Row( + children: [ + const SizedBox(width: 8.0), + IconButton( + icon: const Icon(Icons.close), + onPressed: () => Navigator.of(context).pop(), + ), + ], ), title: pageMode == PageMode.savedActivities - ? Center( - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - const Icon(Icons.bookmarks), - const SizedBox(width: 8), - Flexible( - child: Text(l10n.myBookmarkedActivities), - ), - ], - ), + ? Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon(Icons.bookmarks), + const SizedBox(width: 8), + Flexible( + child: Text(l10n.myBookmarkedActivities), + ), + ], ) - : Center( + : Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon(Icons.event_note_outlined), + const SizedBox(width: 8), + Flexible( + child: Text( + l10n.activityPlannerTitle, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + actions: [ + Container( + width: 150.0, + alignment: Alignment.center, + child: InkWell( + customBorder: const CircleBorder(), + onTap: () => context.go('/rooms/$roomID/planner/generator'), + child: Container( + decoration: BoxDecoration( + color: theme.colorScheme.surfaceContainerHighest, + borderRadius: BorderRadius.circular(36.0), + ), + padding: const EdgeInsets.symmetric( + vertical: 6.0, + horizontal: 10.0, + ), child: Row( + spacing: 8.0, mainAxisSize: MainAxisSize.min, children: [ - const Icon(Icons.event_note_outlined), - const SizedBox(width: 8), + CustomizedSvg( + svgUrl: + "${AppConfig.assetsBaseURL}/${ActivitySuggestionsConstants.crayonIconPath}", + colorReplacements: { + "#CDBEF9": colorToHex( + theme.colorScheme.secondary, + ), + }, + height: 16.0, + width: 16.0, + ), Flexible( child: Text( - l10n.activityPlannerTitle, + L10n.of(context).createActivity, + style: theme.textTheme.titleSmall?.copyWith( + fontWeight: FontWeight.bold, + ), overflow: TextOverflow.ellipsis, ), ), ], ), ), + ), + ), + ], ); } }