- Replace API sync with direct MySQL database insert
- Add IP address capture and storage (SQLite + MySQL)
- Normalize SiteId to 2-digit format (e.g., "02" instead of "SITE : 2")
- Mark records as synced instead of deleting after sync
- Add day-end cleanup for old synced rows
- Rename table to lunch_order_transactions
- Add MySqlConnector package and connection string config
- ScannerDashboard: added Order History card under employee panel (shows last 4 orders)
- Added Today’s Order History modal (View All) with overlay close + close button
- Wired modal state + bindings; added TodayOrderHistory collection and loaders
- Fixed modal element naming for code-behind references
- Updated device id storage to use readable machine/device identifier instead of GUID
- Settings: placed Post Data button next to Sync Endpoint and added IsPosting/PostButtonText/CanPostNow state.
Backend / data
- Add AdminLoginRecords table (Username, EmployeeId, LoginTimeUtc); record on each admin login
- Add IAdminAuditService (RecordLoginAsync, GetLastLogin); AdminAuditService implementation
- Settings: Admin Card ID always prefilled from last admin login in DB (AdminLoginRecords.EmployeeId), fallback "ADMIN"
- Wire AdminAuditService in App.xaml.cs; inject into AdminLoginViewModel and SettingsViewModel
UI
- Scanner Dashboard: two-panel layout (left: employee card with photo, name, department, employee ID, order; right: order placement + stats)
- Employee section: larger fonts and spacing, circular profile image, sample data and asset (emppic.jpeg)
- Menu bar: Site / Settings / Logout in WrapPanel for responsive layout; consistent button sizing
- Dashboard and card responsive (ScrollViewer, MinWidth 0, card MinWidth 360 / MaxWidth 1150)
- Scanner status: activity-based only (connected when input received; no hardware detection)
- Add SiteId/DeviceId to scan pipeline (config, SQLite, sync payload, schema upgrade)
- Canteen wording: orders/place order, Today’s Orders, Total Orders (today only), scanner connectivity status
- Menu: site left, Settings/Logout right; fix focus for site input and when closing menu
- Cooldown: prominent on-screen alert to ask customer to rescan after countdown
- Sync: post to production every 15 minutes (was 3 hours)
- UI: remove “Utopia Canteen System” heading, larger logo, single menu row layout