# Mobile UI Fixes Summary **Date:** March 29, 2026 **Version:** 0.12.45 **Focus:** Android Chrome mobile browser issues --- ## 🎯 **Objective** Fix mobile UI issues in RosterChirp application on Android Chrome browser: 1. Chrome autocomplete bar covering input fields 2. Calendar popup appearing when selecting end time 3. Time dropdowns being hidden by keyboard 4. Inconsistent date/time row behavior --- ## 📁 **Files Modified** ### **Frontend Components** #### **1. `frontend/src/components/SchedulePage.jsx`** **Changes Made:** - **TimeInput component:** Added `inputMode="text"` and `enterKeyHint="done"` to prevent calendar popup - **Form wrapper:** Changed from `autoComplete="new-password"` to `autoComplete="off"` for standard behavior - **Dropdown positioning:** Increased z-index from 300 to 9999 to prevent calendar interference - **Input attributes:** Added explicit `type="text"` and `inputMode="text"` for strong calendar prevention **Lines Modified:** 187-222 #### **2. `frontend/src/components/MobileEventForm.jsx`** **Changes Made:** - **TimeInputMobile component:** Complete rewrite with intelligent positioning - **Visual Viewport API:** Added keyboard detection and dynamic positioning - **Smart dropdown logic:** Calculates available space above/below input - **Input attributes:** Added `inputMode="text"` and `enterKeyHint="done"` - **Z-index fix:** Increased to 9999 to prevent calendar interference - **End date/time row structure:** Fixed to match start date/time row **Lines Modified:** 72-181, 554-568 #### **3. `frontend/src/components/UserManagerModal.jsx`** **Changes Made:** - **Form wrapper:** Added `autoComplete="off"` to suppress Chrome autocomplete - **Input consistency:** Ensured all inputs use standard autocomplete suppression **Lines Modified:** 293-295 #### **4. `frontend/src/pages/GroupManagerPage.jsx`** **Changes Made:** - **Form wrapper:** Added `autoComplete="off"` for consistent behavior - **Input attributes:** Standardized autocomplete suppression **Lines Modified:** 744-746 #### **5. `frontend/src/pages/UserManagerPage.jsx`** **Changes Made:** - **Form wrapper:** Added `autoComplete="off"` for mobile compatibility - **Input consistency:** Updated all input fields **Lines Modified:** 624-626 #### **6. `frontend/src/index.css`** **Changes Made:** - **Cleaned up aggressive CSS:** Removed `-webkit-autofill` overrides that could affect iOS/desktop - **Reverted to standard:** Cross-browser compatible approach **Lines Modified:** 35-62 (removed aggressive autocomplete CSS) --- ## 🔧 **Technical Solutions Implemented** ### **1. Chrome Autocomplete Suppression** ```jsx // Standard approach (safe for all browsers)