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. the implementation should be modular for easy debugging ๐Ÿ”ง 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: ๐Ÿ  Dashboard ๐Ÿ“š Courses ๐Ÿ“Š Reports ๐Ÿ‘ค 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: <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: <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.

I'll create a modular Flutter implementation for this interface. Here's the comprehensive solution:

Updated files
v1