JIT
frontend implementation for a responsive interface design
hi, please i like you to do the frontend implementation of this interface based on this interface description --- ## πŸ”§ GENERAL DESIGN OVERVIEW * **Responsive Design**: The layout automatically adjusts to fit any phone screen size without affecting how content is displayed. * **Color Scheme**: * **Light Mode**: Gradient purple-blue (`#667eea β†’ #764ba2`) headers and buttons, white background for cards and pages. * **Dark Mode**: Deep blue/purple background (`#1a1a2e β†’ #16213e`), with soft purples for accents. * **Font**: Clean, modern sans-serif (`Segoe UI`, `Tahoma`, `Verdana`). * **Icons Used**: Emojis (🏠, πŸ“š, πŸ“Š, πŸ‘€) for navigation. Replaceable with Material Icons if desired. * **Logo Position**: Top-left of each screen’s headerβ€”replace the word **β€œDashboard”** with your **JPG logo image** here. --- ## πŸ“± NUMBER OF PAGES (5 main screens) ### 1. **Dashboard** * **Purpose**: Shows overview stats and sessions for active courses. * **Transitions From**: Bottom navigation ("🏠 Dashboard" icon). * **Icons/Elements**: * Top-left: ☰ Menu icon (placeholder). * Top-right: πŸŒ™/β˜€οΈ theme toggle button. * **Header**: "Dashboard" (replace with logo), "Welcome back, Dr. Mbua". * **Statistics Section**: * **Card 1**: β€œ5” Active Courses. * **Card 2**: β€œ142” Total Students. * **Course Cards** (3 cards): * Example: β€œSoftware Engineering - CSC301” * Session buttons: * βœ… `Start Session` (green) * πŸ‘οΈ `View Attendance` (grey) ### 2. **Courses** * **Purpose**: Manage course-specific student lists. * **Transitions From**: Bottom nav ("πŸ“š Courses"). * **Course Cards** (same structure as dashboard): * ✏️ `Upload Students` (purple) * βš™οΈ `Manage` (grey) ### 3. **Attendance Reports** * **Purpose**: Filter and view class attendance history. * **Transitions From**: Dashboard course card or nav ("πŸ“Š Reports"). * **Elements**: * Filters: Course, semester, date range. * πŸ“ˆ `Apply Filter` button (purple). * πŸ“„ `Export to CSV` button. ### 4. **Live Attendance** * **Purpose**: Real-time check-in list (for active sessions). * **Transitions From**: `View Live` button on a dashboard card. * **Elements**: * Stat Cards: β€œChecked In” and β€œExpected” * Recent check-ins (name + matricle + status). * ❌ `Stop Session` button (red) ### 5. **Profile** * **Purpose**: Manage user details and app settings. * **Transitions From**: Bottom nav ("πŸ‘€ Profile"). * **Sections**: * πŸ‘€ Profile avatar (β€œDM” initials). * Read-only name + ID fields. * Editable email + phone. * πŸ”„ `Update Profile` button. * **App Settings**: * πŸŒ— Dark Mode toggle. * πŸ”” Notifications toggle. * πŸ“€ Auto-export toggle. * πŸ”’ Change password form. * πŸšͺ `Logout` button (red) --- ## πŸ”² BOTTOM NAVIGATION BAR (Fixed) * **Always visible at bottom**, switches between the 4 primary pages. * **Icons and Labels**: 1. 🏠 `Dashboard` 2. πŸ“š `Courses` 3. πŸ“Š `Reports` 4. πŸ‘€ `Profile` * **Active tab** is highlighted in light purple background. --- ## βœ… ACTIONABLE BUTTONS (AND THEIR PURPOSES) | Page | Button Text | Function | | ---------- | --------------------- | --------------------------------------------------- | | Dashboard | `Start Session` | Opens a modal to pick location and begin session | | | `View Attendance` | Navigates to Attendance Reports with filter pre-set | | | `Stop Session` | Ends an ongoing session | | | `View Live` | Navigates to Real-time Attendance screen | | Courses | `Upload Students` | Opens file upload modal for CSV | | | `Manage` | Placeholder (intended to manage list) | | Attendance | `Apply Filter` | Filters attendance table | | | `Export to CSV` | Downloads filtered data | | Real-time | `Stop Session` | Ends live check-in | | Profile | `Update Profile` | Saves profile changes | | | `Change Password` | Placeholder functionality | | | `Logout` | Logs the lecturer out | | All Pages | `πŸŒ™ / β˜€οΈ` (top right) | Toggles between light and dark mode | --- ## 🧭 PAGE TRANSITIONS & LOGIC * All screens use `display: none` and `display: block` to transition. * Clicking a nav item hides other screens and shows the selected one. * Each nav item becomes highlighted when selected. * Clicking on dashboard actions (e.g., View Attendance, View Live) auto-navigates to related pages with correct course preloaded. --- ## πŸ–ΌοΈ ICONS USED (AND RECOMMENDED REPLACEMENTS) | Purpose | Emoji Used | Suggested Icon (if using Material Icons) | | ------------- | ---------- | ---------------------------------------- | | Dashboard tab | 🏠 | `home` | | Courses tab | πŸ“š | `menu_book` | | Reports tab | πŸ“Š | `bar_chart` | | Profile tab | πŸ‘€ | `person` | | Menu icon | ☰ | `menu` | | Theme toggle | πŸŒ™/β˜€οΈ | `dark_mode` / `light_mode` | --- ## πŸ–ΌοΈ LOGO REPLACEMENT INSTRUCTION * In the HTML, replace the `<h1>Dashboard</h1>` tag inside the `.header-content` of each screen with: ```html <img src="path_to_your_logo.jpg" alt="App Logo" style="height: 40px;"> ``` Make sure `path_to_your_logo.jpg` points to your image file. Example if in same folder: ```html <img src="logo.jpg" alt="App Logo" style="height: 40px;"> ``` --- ## πŸ” RESPONSIVE DESIGN RULE * Uses `max-width: 414px;` for mobile devices. * Grid layouts (stats, filters) change from 2-column to 1-column automatically on smaller screens using media queries. * Fonts, paddings, and card layouts scale down smoothly to fit different device sizes. --- ## πŸ” SECURITY AND INTERACTIVITY (BUILT-IN) * Modals for: * Session start (classroom selection) * Uploading student list (CSV only) * Toggles for theme, notifications, and auto-export. * Live updates (simulated with JS `setInterval`) for check-ins. ---
Updated files
v1