Skip to content

feat(admin-ui): implement responsive mobile layout for Sessions and Authentication modules (#2960) - #2961

Merged
duttarnab merged 2 commits into
mainfrom
admin-ui-issue-2960
Aug 10, 2026
Merged

feat(admin-ui): implement responsive mobile layout for Sessions and Authentication modules (#2960)#2961
duttarnab merged 2 commits into
mainfrom
admin-ui-issue-2960

Conversation

@faisalsiddique4400

@faisalsiddique4400 faisalsiddique4400 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

feat(admin-ui): implement responsive mobile layout for Sessions and Authentication modules (#<issue_number>)

Summary

This PR continues the Admin UI mobile redesign by implementing responsive, view-only layouts for the Sessions and Authentication modules.

The update optimizes both modules for phone and small-tablet viewports by introducing mobile-specific view-only behavior, improving search and filtering, adopting the shared responsive detail grid, standardizing layouts and spacing, and aligning all mobile breakpoints with the shared responsive constants. Desktop and tablet layouts and functionality remain unchanged.


Fix Summary

  • Implemented responsive mobile layouts for the Sessions and Authentication modules
  • Converted the Sessions list to a view-only experience on mobile
  • Removed Revoke, Export CSV, and Delete actions from the Sessions page on mobile
  • Replaced the revoke-user selector with a free-text search field on mobile
  • Added session search across username, IP address, and client ID
  • Updated pagination to reflect filtered results and reset to the first page after search
  • Replaced the desktop Sessions filter popover with a mobile bottom sheet
  • Standardized the filter sheet layout to match the shared mobile filter experience
  • Migrated the Sessions expanded row to the shared responsive detail grid
  • Enabled wrapping for long session values to prevent horizontal overflow
  • Implemented responsive, view-only layouts across all Authentication tabs
  • Removed Add, Edit, Delete, Settings, and other write actions from mobile views where editing is not supported
  • Preserved row expansion and read-only navigation actions
  • Updated Default ACR and ACRS forms to display a Back-only footer on mobile
  • Removed Add Property and Remove Property controls from the ACRS form on mobile
  • Implemented functional search for Agama Flows on desktop and mobile
  • Added filtering by project name and project type
  • Simplified the Agama Flows mobile toolbar by removing the refresh action
  • Updated spacing between tabs, search, and content to match the shared mobile design
  • Improved the Agama project configuration modal footer to prevent button wrapping on narrow screens
  • Added mobile page titles for both Sessions and Authentication modules
  • Replaced module-specific breakpoint definitions with the shared MOBILE_MEDIA_QUERY constant to ensure consistent responsive behavior across CSS and JavaScript
  • Preserved existing desktop and tablet layouts and functionality
  • Maintained consistency with the shared Admin UI mobile design system

Verification

npm run check:all

passes successfully.

  • Verified the Sessions page renders correctly on mobile devices
  • Verified Revoke, Export CSV, and Delete actions are hidden on mobile
  • Verified session search filters by username, IP address, and client ID
  • Verified pagination updates correctly after filtering
  • Verified the Sessions filter opens as a mobile bottom sheet
  • Verified expanded session details render using the shared responsive detail grid
  • Verified long values wrap correctly without horizontal scrolling
  • Verified Authentication tabs render correctly in mobile view
  • Verified all write actions are hidden on supported mobile viewports
  • Verified Default ACR and ACRS forms render with a Back-only footer
  • Verified Agama Flows search functions correctly on desktop and mobile
  • Verified the Agama mobile toolbar, spacing, and modal layout match the responsive design
  • Verified mobile page titles display correctly
  • Verified shared responsive breakpoints are used consistently across CSS and JavaScript
  • Verified desktop and tablet layouts remain unchanged
  • Verified no regressions in existing functionality

🔗 Ticket

Closes: #<issue_number>

Summary by CodeRabbit

  • New Features

    • Added responsive mobile layouts across authentication, Agama flows, and session pages.
    • Added mobile filter sheets with cancel/apply controls and improved field organization.
    • Added live session search by username, IP address, and client ID.
    • Added Agama project search with filtering and pagination.
    • Added mobile page titles and clearer filter labels.
    • Session details now use a consistent detail-grid presentation.
  • Bug Fixes

    • Improved mobile spacing, button sizing, and toolbar layouts.
    • Limited mobile actions to those best suited for smaller screens.

…uthentication modules (#2960)

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

coderabbitai Bot commented Aug 7, 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

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

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 Plus

Run ID: 73747846-2558-4704-a929-8a266cb71c03

📥 Commits

Reviewing files that changed from the base of the PR and between 14bb1a8 and 7875794.

📒 Files selected for processing (5)
  • admin-ui/plugins/auth-server/components/Authentication/Acrs/AcrsForm.tsx
  • admin-ui/plugins/auth-server/components/Authentication/Acrs/__tests__/AcrsForm.test.tsx
  • admin-ui/plugins/auth-server/components/Authentication/AgamaFlows/AgamaFlows.tsx
  • admin-ui/plugins/auth-server/components/Authentication/DefaultAcr/DefaultAcr.tsx
  • admin-ui/plugins/auth-server/components/Authentication/DefaultAcr/__tests__/DefaultAcr.test.tsx
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch admin-ui-issue-2960

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 Aug 7, 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: 3

🤖 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/plugins/auth-server/components/Authentication/Acrs/AcrsForm.tsx`:
- Around line 458-471: Update AcrsForm so every LDAP field, toggle, and
script-property input is disabled or read-only when isMobile is true, including
the controls near addConfigProperty and the referenced ranges. Prevent the Form
submission path from invoking formik.handleSubmit on mobile, so Enter cannot
open GluuCommitDialog. Add a regression test verifying mobile controls are
non-editable and submission is blocked.

In
`@admin-ui/plugins/auth-server/components/Authentication/AgamaFlows/AgamaFlows.tsx`:
- Line 88: Normalize searchPattern once by deriving a trimmed search value or
non-empty search flag, then use it consistently in query-mode selection, query
parameters, visibleData filtering and pagination, and totalItems calculation.
Ensure whitespace-only input follows the unfiltered paginated path rather than
fetching and returning all rows.

In
`@admin-ui/plugins/auth-server/components/Authentication/DefaultAcr/DefaultAcr.tsx`:
- Around line 209-225: Update the GluuSelectRow usage in the DefaultAcr
component to pass disabled={isMobile}, making the mobile Default ACR selector
read-only while preserving its existing behavior on desktop.
🪄 Autofix

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 Plus

Run ID: 2794f77e-ddf8-45f6-a22d-d303b341b6a0

📥 Commits

Reviewing files that changed from the base of the PR and between 8ddbeab and 14bb1a8.

📒 Files selected for processing (20)
  • admin-ui/app/components/GluuFilterPopover/GluuFilterPopover.style.ts
  • admin-ui/app/components/GluuFilterPopover/GluuFilterPopover.tsx
  • admin-ui/app/constants/ui.ts
  • admin-ui/plugins/auth-server/components/Authentication/Acrs/Acrs.tsx
  • admin-ui/plugins/auth-server/components/Authentication/Acrs/AcrsForm.style.ts
  • admin-ui/plugins/auth-server/components/Authentication/Acrs/AcrsForm.tsx
  • admin-ui/plugins/auth-server/components/Authentication/AgamaFlows/AgamaFlows.style.ts
  • admin-ui/plugins/auth-server/components/Authentication/AgamaFlows/AgamaFlows.tsx
  • admin-ui/plugins/auth-server/components/Authentication/AgamaFlows/AgamaProjectConfigModal.style.ts
  • admin-ui/plugins/auth-server/components/Authentication/AgamaFlows/constants.ts
  • admin-ui/plugins/auth-server/components/Authentication/Aliases/Aliases.tsx
  • admin-ui/plugins/auth-server/components/Authentication/Authentication.tsx
  • admin-ui/plugins/auth-server/components/Authentication/DefaultAcr/DefaultAcr.style.ts
  • admin-ui/plugins/auth-server/components/Authentication/DefaultAcr/DefaultAcr.tsx
  • admin-ui/plugins/auth-server/components/Authentication/styles/Authentication.style.ts
  • admin-ui/plugins/auth-server/components/OidcClients/__tests__/components/ClientWizardForm.test.tsx
  • admin-ui/plugins/auth-server/components/Sessions/components/SessionDetailPage.tsx
  • admin-ui/plugins/auth-server/components/Sessions/components/SessionListPage.tsx
  • admin-ui/plugins/auth-server/components/Sessions/components/styles/SessionListPage.style.ts
  • admin-ui/plugins/auth-server/components/Sessions/types/sessionTypes.ts

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

sonarqubecloud Bot commented Aug 7, 2026

Copy link
Copy Markdown

@duttarnab
duttarnab merged commit 2896833 into main Aug 10, 2026
8 checks passed
@duttarnab
duttarnab deleted the admin-ui-issue-2960 branch August 10, 2026 07:01
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.

3 participants