feat: implement mobile responsiveness audit, tables-to-cards, and 3D screen WebXR simulator fallback - #89
Merged
jobbykings merged 2 commits intoJun 22, 2026
Conversation
…ndle optimization
…screen WebXR simulator fallback
jobbykings
approved these changes
Jun 22, 2026
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request audits and implements mobile responsive layouts down to 320px across StarkEd frontend viewports. It resolves layout collisions in collaboration rooms, implements responsive card fallbacks for tabular data, handles navigation folding on mobile screen sizes, and implements an interactive 3D WebXR simulation sandbox on unsupported browsers.
Additionally, it resolves a Next.js production build crash by ensuring client-side store hydration on
/chat-assistant.Key Changes
1. Global Navigation & Mobile Drawer
MobileNavShell.tsxas a Client-side wrapper in rootlayout.tsxto handle page routing.MobileNav.tsxto render all 8 main routes in the hamburger menu drawer, while restricting the bottom navigation bar to the first 4 main routes (Home,Courses,Analytics,Certificates) to prevent crowding on small mobile viewports.2. Collaboration Panel Overlays
ChatPanel.tsxandParticipantsList.tsxto display as absolute fixed overlays on viewports< 768pxinstead of shrinking the WebRTC main canvas area, restoring full functionality to WebRTC rooms on mobile.ControlBar.tsxbutton margins, padding, and gaps on mobile to fit all WebRTC options comfortably on a320pxscreen while maintaining WCAG-compliant touch targets.3. Metaverse Spaces HUD
CampusHUD.tsxto shrink HUD statistics text on mobile.4. Interactive 3D WebXR Screen Simulator Fallback
WebXREngine.tsxso that devices without native WebXR/VR browser capabilities mount in 3D Screen Simulator Mode instead of rendering a static "Not Supported" block.Open,Pinch,Fisttoggles) with WCAG-compliant5. Progress Dashboard & User Management Table-to-Card
ProgressDashboard.tsxto wrap main navigation tabs vertically and redesign course progress cards to scale stacked thumbnails and action buttons properly on mobile.admin/users/page.tsxto hide the static HTML<table>element on screens smaller than medium (hidden md:block) and dynamically render responsive user cards (grid grid-cols-1 md:hidden) with touch-friendly actions.chat-assistant.tsxto prevent Next.js static prerendering crashes during build by deferring Zustand persisted store state hooks to post-client-mount.Verification & Testing
320px,768px, and1024pxwidths. No horizontal scrollbars.44px(WCAG 2.5.5 compliance).pnpm run buildran successfully, exporting and compiling all122/122static pages.Closes #69