Add Settings PostDataNow action via ISyncService
Remove hardcoded MySQL fallback; skip sync when not configured
Use production snake_case columns + always run cleanup
Add appsettings.example.json; ignore appsettings.json to avoid secrets
Rename Settings Cancel button to Back
- 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)