Commit Graph
3 Commits
Author SHA1 Message Date
Johan Sandoval 2cbb03894b Card layout for tables on phones and tablets; fit terminal bar
Sideways-scrolling tables only showed a few of the 11 columns at a time on
a phone or iPad. Below 1100px (where the nav already collapses) each row
now renders as a card: the device as the title and every other column as
a labelled line, one card per row on phones and two or more on tablets.

- web/mobile.js copies column names onto cells (data-label) for the cards
  and re-applies them as the dashboard re-renders; no-op on wide screens
- Column filters fold behind a "Show filters" button with an active count
- Custom View keeps its sort/filter header as a strip of chips
- Terminal: Follow and the "your actions (simulated)" legend move into the
  terminal window's title bar; tabs read "Server" / "Worker" on phones, so
  LIVE, the legend and Follow are all visible on small screens
2026-10-06 16:29:23 +00:00
Johan Sandoval 5a7fd4f2df Make the dashboard usable on phones and tablets
- Add the missing viewport meta tag; phones were rendering the desktop
  layout at 980px and shrinking it
- Add web/mobile.css (all rules inside max-width media queries, so desktop
  is unchanged):
  - data tables keep readable column widths and scroll sideways in their card
  - group headers wrap their copy buttons and stay put while tables scroll
  - Tracked Devices cards and the Documentation sidebar stack vertically
  - modals fit the screen below the fixed nav; Advanced View's three
    columns stack and the dialog scrolls as one
  - 16px inputs on phones so iOS doesn't zoom on focus
- Terminal bar: compact tabs and a dot-only LIVE indicator on narrow
  screens, taller panel in phone landscape, tighter demo dialog
2026-10-06 16:10:43 +00:00
Johan Sandoval 1c531bc2ab Generalize USMT Dash and add a containerized demo mode
Remove all environment-specific data and make the dashboard adoptable
anywhere, then add a demo that runs the real PowerShell services.

- Strip cached device data, internal knowledge-base articles and
  screenshots, server/site names and the old project notes; replace the
  knowledge base with generic sample articles and diagrams
- Move every environment value into Config/usmt-dash.psd1
- Route all infrastructure access in the worker and Get-Software.ps1
  through a provider (Providers/SCCM.ps1), with a config-driven asset
  inventory view instead of a hard-coded custom class
- Add Providers/Demo.ps1: a deterministic simulated fleet whose
  migrations progress in real time, and Demo/New-DemoData.ps1 to seed it
- Server: -Demo makes the API read-only; add get-config and get-logs;
  serve static files only from web/, Documentation/ and an allowlist of
  Data/ files with a path-traversal guard; gzip large responses
- Mirror both services' console output to Data/Logs via a Write-Host
  proxy, and add a terminal panel to the dashboard that streams it
- Demo sandbox (web/demo/demo.js): visitor changes to tags, articles and
  images are kept in the visitor's browser and echoed in the terminals;
  nothing a visitor does reaches the server
- Vendor marked, highlight.js and html2pdf.js instead of loading CDNs
- Dockerfile and compose file for hosting the demo (Coolify-ready)
2026-10-06 15:20:43 +00:00