Skip to content

Overhauled Community Admin UI#223

Draft
johnnycrich wants to merge 182 commits intostagingfrom
jr/refactor/m3-community
Draft

Overhauled Community Admin UI#223
johnnycrich wants to merge 182 commits intostagingfrom
jr/refactor/m3-community

Conversation

@johnnycrich
Copy link
Contributor

@johnnycrich johnnycrich commented Aug 7, 2025

What is in this PR?

As per #186, this change set re-implements the community admin interface to use M3 components, add new functionality where relevant.

Changes in the codebase

  • Usr TabBarView, built-in TabController rather than CustomTabBarView as the encompassing containment for all admin sections.
  • Remove permissions enum MembershipStatus.attendee and update all others descriptions.
  • Migrate usage of CupertinoSwitch to Material Switch.
  • Add prefixIcon to CustomTextField.
  • Where possible, utilized Flex widget with conditional direction based on device type in order to simplify layout code.
  • Refactored overview tab to replace now deprecated settings panel CreateCommunityDialog.
  • Migrated members tab to utilize Material PaginatedDataTable, allow for real time filtering of members.
  • Created new MemberDataUtils class, new DataTab class, remove deprecated EventsTab.
  • Overhauled ChooseColorSection to use a tab controller for preset/custom colors selection, new grid format for presets. Implemented flutter_colorpicker for custom color selection.
  • Consolidated community image service code within CloudFunctionsCommunityService.
  • Removed code related to community banner image.
  • Overhauled SettingsTab to divide toggles into sections, use updated Material components.
  • Removed "Optional" text from optional text fields, added a "*Required" helper for Name
  • Community URL auto-updates when updating the community name, displays the updated community URL name if edited
  • Use proper AlertDialog for error utils alerts as well as admin overview form issues.
  • Added email, website, social link fields to Community model and overview form.
  • Added dozens of new localization strings.
  • For firebase test workflow, added install of JDK 21 so a firebase tools runtime can be installed.
  • Near-countless other small changes.

Fixes #264

Testing this PR

  • Click on gear icon in navbar and see that you're taken to new overview section.
  • For all tabs, see that both the desktop and mobile layouts functions as you would expect, matches our mockups.
  • Try editing various aspects of your community within this section, including removing and replacing image, updating URL, etc.
  • Give your community a new theme in the presets and see that it is reflected after saving and returning to landing page.
  • Try to give your community an invalid contrast for custom color theme, and see an error displayed to that effect.
  • On the members tab, try filtering by entering a member name that does not exist and see a message about no results.
  • Hover the info icon next to the Role header, and get a dialog referring you to the help center.
  • Make sure that the owner of the community has their dropdown disabled.
  • For non-owners, see a dropdown with role information. See the owner role disabled.
  • On the data tab, see all events with the participant counts and status reflected for each.
  • For an upcoming event, see that you can download only registration data.
  • For previous events that have recordings, see that clicking on download opens a dialogue, allowing selection of either or both registration data and recording. Selecting neither disables the download button.
  • Go to the settings tab and see that toggles are now kewl. 😎

johnnycrich and others added 30 commits June 10, 2025 15:33
…out issues), remove dedicated device-size specific code, update membership permission text.
…n removing Expanded from description text / setting Column's size to min to allow the menu items to render. Added 8px vertical padding on items.
# Conflicts:
#	client/lib/features/admin/presentation/views/events_tab.dart
#	client/lib/features/admin/presentation/views/members_tab.dart
#	client/lib/features/admin/presentation/views/overview_tab.dart
#	client/lib/features/admin/presentation/views/settings_tab.dart
…aTab; resolve linter library_private_types_in_public_api.
@johnnycrich
Copy link
Contributor Author

@katherineqian thank you for taking the time to get a review in! I resolved all of your items!

Copy link
Collaborator

@dariusk dariusk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you Johnny!!!

Copy link
Collaborator

@katherineqian katherineqian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!

@epenn
Copy link
Contributor

epenn commented Jan 8, 2026

@epenn
Copy link
Contributor

epenn commented Jan 26, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort Larger tasks & stories that make up the roadmap

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Community Management color picker text Implement new Community Management flow

5 participants