Skip to content

feat(admin-ui): implement mobile header, dashboard, and health screens (#2920)#2921

Open
faisalsiddique4400 wants to merge 2 commits into
mainfrom
admin-ui-issue-2920
Open

feat(admin-ui): implement mobile header, dashboard, and health screens (#2920)#2921
faisalsiddique4400 wants to merge 2 commits into
mainfrom
admin-ui-issue-2920

Conversation

@faisalsiddique4400

@faisalsiddique4400 faisalsiddique4400 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

feat(admin-ui): implement mobile header, dashboard, and health screens (#2920)

Summary

This PR introduces the mobile implementation of the Admin UI header along with responsive layouts for the Dashboard and Health pages.

The update improves the mobile user experience by adapting these core screens to smaller displays while maintaining consistency with the existing Admin UI design system and responsive navigation.


Fix Summary

  • Implemented a responsive mobile header for the Admin UI
  • Added mobile layouts for the Dashboard page
  • Added mobile layouts for the Health page
  • Optimized page structure and spacing for smaller screen sizes
  • Improved responsive rendering of dashboard and health information
  • Integrated the new mobile screens with the existing navigation flow
  • Preserved existing desktop and tablet layouts
  • Maintained consistency with the Admin UI design language

Verification

npm run check:all

passes successfully.

  • Verified the mobile header renders correctly on supported screen sizes
  • Verified the Dashboard page displays correctly in mobile view
  • Verified the Health page displays correctly in mobile view
  • Verified navigation between mobile screens functions as expected
  • Verified desktop and tablet layouts remain unchanged
  • Verified no regressions in existing responsive behavior

🔗 Ticket

Closes: #2920

Summary by CodeRabbit

  • New Features
    • Added a mobile-friendly profile menu with profile, theme, language, and sign-out options.
    • Added responsive dashboard, navigation, date picker, and service health layouts for smaller screens.
    • Added a compact, icon-only refresh control for mobile health views.
    • Added support for themed logo variants and localized labels across supported languages.
  • Bug Fixes
    • Improved mobile spacing, text truncation, chart layout, status cards, and navbar borders.
    • Prevented narrow-screen popups and service health headers from overlapping or overflowing.

#2920)

Signed-off-by: faisalsiddique4400 <faisalsiddique10886@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@faisalsiddique4400, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 22 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9c01093a-5cfe-4760-b5e4-62987a77260d

📥 Commits

Reviewing files that changed from the base of the PR and between ee1a154 and 675eccf.

📒 Files selected for processing (4)
  • admin-ui/app/hooks/useThemePersistence.ts
  • admin-ui/app/routes/Apps/Gluu/GluuNavBar.tsx
  • admin-ui/app/routes/Apps/Gluu/ThemeDropdown.tsx
  • admin-ui/app/routes/components/Dropdowns/MobileProfileDropdown.tsx
📝 Walkthrough

Walkthrough

The admin UI adds mobile-responsive navigation, dashboard, date-picker, and health-page layouts. It introduces a mobile profile dropdown, themed logo variants, localized labels, custom refresh icons, responsive service cards, and navbar border theming.

Changes

Mobile admin UI

Layer / File(s) Summary
Responsive navbar and mobile profile
admin-ui/app/routes/Apps/Gluu/*, admin-ui/app/routes/components/Dropdowns/*, admin-ui/app/routes/components/LogoThemed/*, admin-ui/app/locales/*, admin-ui/app/styles/miltonbo/scss/_layout.scss
The navbar now switches between desktop and mobile controls, with localized greetings, a mobile profile dropdown, themed logo variants, responsive truncation, persisted theme/language selection, and dynamic navbar border colors.
Responsive dashboard content
admin-ui/app/routes/Dashboards/*, admin-ui/app/components/GluuDatePicker/*, admin-ui/app/locales/*
The dashboard adds mobile headings, responsive cards, status sections, chart legends, dark-mode typography, and a viewport-constrained date-picker layout.
Responsive health page and refresh control
admin-ui/plugins/admin/components/Health/*, admin-ui/app/components/GluuSearchToolbar/*, admin-ui/app/components/SVG/*, admin-ui/app/locales/*
The health page adds mobile spacing, headings, single-column service cards, icon-only refresh behavior, localized health labels, and revised service-status styling.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested reviewers: duttarnab, moabu

Poem

I’m a small rabbit hopping wide,
Mobile screens now fit inside.
Icons spin and menus glow,
Cards and calendars neatly flow.
With translated hops from here to there,
Responsive magic fills the air.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR also adds an unrelated UMA resource detail translation key that is not needed for the mobile header, dashboard, or health work. Remove the unrelated UMA resource detail translation change or split it into a separate PR if it serves a different feature.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: mobile header, dashboard, and health screen updates for admin-ui.
Linked Issues check ✅ Passed The PR implements the mobile app header plus dashboard and health page screens requested in #2920.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch admin-ui-issue-2920

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mo-auto mo-auto added comp-admin-ui Component affected by issue or PR kind-feature Issue or PR is a new feature request labels Jul 10, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@admin-ui/app/routes/Apps/Gluu/GluuNavBar.tsx`:
- Line 82: Update the home link in GluuNavBar’s mobile logo Link to use a static
translated aria-label that describes its destination or purpose, such as “Home,”
instead of the current pageTitle value; use the project’s existing i18n
translation mechanism.
- Line 31: Update the useMediaQuery call in GluuNavBar to pass the noSsr option
as true, ensuring the mobile breakpoint is evaluated immediately without the
initial desktop-layout render.

In `@admin-ui/app/routes/components/Dropdowns/MobileProfileDropdown.tsx`:
- Around line 77-107: Extract the duplicated user-config theme persistence logic
from MobileProfileDropdown’s onChangeTheme and ThemeDropdownComponent’s
onChangeTheme into a shared useThemePersistence(userInfo) hook. Have the hook
validate, read/merge/write STORAGE_KEYS.USER_CONFIG keyed by inum, handle parse
failures, and expose the theme-change callback; update both components to use it
while retaining their existing dispatch behavior and dependencies.
- Around line 109-123: Add error handling to the promise chain in
changeLanguage, handling rejections from ensureLocaleLoaded or
i18n.changeLanguage with an internal catch that logs diagnostic details and
reconciles the optimistic lang state and persisted INIT_LANG/USER_CONFIG values
as appropriate. Keep the operation fire-and-forget without allowing unhandled
rejections, and update dependencies only if required by the chosen error
handler.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 09ff9758-2d29-4d17-8e59-6d0644242e7f

📥 Commits

Reviewing files that changed from the base of the PR and between badc905 and ee1a154.

📒 Files selected for processing (22)
  • admin-ui/app/components/GluuDatePicker/GluuDatePicker.style.ts
  • admin-ui/app/components/GluuSearchToolbar/GluuRefreshButton.tsx
  • admin-ui/app/components/GluuSearchToolbar/types.ts
  • admin-ui/app/components/SVG/Refresh.tsx
  • admin-ui/app/components/SVG/index.tsx
  • admin-ui/app/locales/en/translation.json
  • admin-ui/app/locales/es/translation.json
  • admin-ui/app/locales/fr/translation.json
  • admin-ui/app/locales/pt/translation.json
  • admin-ui/app/routes/Apps/Gluu/GluuNavBar.tsx
  • admin-ui/app/routes/Apps/Gluu/hooks/useNavbarTheme.ts
  • admin-ui/app/routes/Apps/Gluu/styles/GluuNavBar.style.ts
  • admin-ui/app/routes/Dashboards/DashboardPage.style.ts
  • admin-ui/app/routes/Dashboards/DashboardPage.tsx
  • admin-ui/app/routes/components/Dropdowns/MobileProfileDropdown.tsx
  • admin-ui/app/routes/components/Dropdowns/styles/MobileProfileDropdown.style.ts
  • admin-ui/app/routes/components/LogoThemed/LogoThemed.tsx
  • admin-ui/app/styles/miltonbo/scss/_layout.scss
  • admin-ui/plugins/admin/components/Health/HealthPage.style.ts
  • admin-ui/plugins/admin/components/Health/HealthPage.tsx
  • admin-ui/plugins/admin/components/Health/components/ServiceStatusCard.style.ts
  • admin-ui/plugins/admin/components/Health/components/ServiceStatusCard.tsx

Comment thread admin-ui/app/routes/Apps/Gluu/GluuNavBar.tsx
Comment thread admin-ui/app/routes/Apps/Gluu/GluuNavBar.tsx Outdated
Comment thread admin-ui/app/routes/components/Dropdowns/MobileProfileDropdown.tsx Outdated
Comment thread admin-ui/app/routes/components/Dropdowns/MobileProfileDropdown.tsx
Signed-off-by: faisalsiddique4400 <faisalsiddique10886@gmail.com>
@sonarqubecloud

Copy link
Copy Markdown

@duttarnab duttarnab left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  1. The botton navigation should be always visible
Image
  1. The horizontal scroll should not be allowed in mobile view
Image

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

Labels

comp-admin-ui Component affected by issue or PR kind-feature Issue or PR is a new feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(admin-ui): Implement the header of the app and screens of the dashboard and the health page in the mobile view

3 participants