9 Commits

Author SHA1 Message Date
2a2fac9cdf Add Roles/MQTT-settings/Backup pages, AdminLTE demo shells, and a separate mobile design system
Backend: real endpoints for role-permission overview, MQTT broker settings
(with live reachability check), and SQLite backup download/restore (new
system.manage permission, super-admin only; restore validates the SQLite
file header and keeps a pre-restore safety copy).

Desktop frontend: Roles (read-only permissions view), MQTT Settings,
Backup & Restore wired to those endpoints; plus static AdminLTE-matching
shells for Profile, Settings (embeds the real 2FA flow in its Security
tab), Invoice, Calendar (FullCalendar), Chat, File Manager, and Projects.

Mobile frontend: new frontend/src/styles/mobile.css, a from-scratch design
system (purple theme, cards, slide-out sidebar, bottom tab bar) scoped
entirely under a .mob-app root and mob- prefixed classes so it can never
collide with the desktop Bootstrap/AdminLTE styling. Rebuilt TopBar/
BottomNav, added a new SlideOutNav, and reskinned the Dashboard and Users
pages to it with real data.
2026-08-04 14:51:28 +03:00
84cd474bcb Rebuild desktop shell on the real AdminLTE 4 package
Install admin-lte@4.1.0 (+ bootstrap 5.3.8, bootstrap-icons as peer deps) and
rebuild every desktop component against actual AdminLTE markup pulled from
its live docs/demo, rather than a Tailwind approximation:

- Real app-wrapper/app-header/app-sidebar/app-main/app-footer structure
- Working PushMenu (sidebar collapse), Treeview, ColorMode (light/dark/auto)
- Navbar: functional search (wired to Users list ?search=), notifications
  dropdown (MQTT-driven), user menu dropdown
- Sidebar: grouped nav-header sections, active-route highlighting
- Breadcrumbs, footer, Bootstrap card/table/pagination/progress widgets

Tailwind is now imported utilities-only (no preflight) so it coexists with
Bootstrap's reset; mobile shell and modals are untouched and still Tailwind.
2026-08-04 13:47:02 +03:00
7198895444 Serve frontend as static build behind Apache with API reverse-proxied
Build the React app during provisioning and serve it on :80 directly, proxying /api and /sanctum to an internal Laravel vhost on 127.0.0.1:8001. Fixes the login page not appearing at the container's root URL, since previously only the Laravel API vhost was configured and nothing served the built frontend.
2026-08-04 12:38:47 +03:00
5c699a221c Remove GIT_REPO and DB_TYPE prompts from bootstrap.sh
Always clone this repo (the full app) and always use SQLite, per updated deployment requirements. Drops now-dead mysql/fresh-scaffold branches accordingly.
2026-08-04 11:51:58 +03:00
a2c35c5915 Merge remote web-upload history with local rewrite
# Conflicts:
#	README.md
#	bootstrap.sh
2026-08-04 11:28:41 +03:00
6dc35134fa latest 2026-08-04 11:26:25 +03:00
e660da4488 Upload files to "/" 2026-08-03 16:00:36 +03:00
d0834df8df Force LF line endings for shell scripts 2026-08-03 15:58:36 +03:00
7c983a9d69 Add Laravel LXC bootstrap script, README, and Claude Code project prompt 2026-08-03 15:58:10 +03:00