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.
---