mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-09 15:35:39 +02:00
When a spool ran out mid-print and the printer carried on from the backup spool, the queue card still named the original slot and marked it Empty. The printer status now carries the print's tray change log, and the card shows the tray that took over: one outside the job's mapping, right after the mapped tray it replaced, followed through a backup that ran out in turn. Queued jobs still warn about an empty slot.
63 lines
3.5 KiB
HTML
63 lines
3.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
|
<!-- L-4: Restrict Referer header to origin-only on cross-origin navigation so
|
|
sensitive tokens in query parameters are not leaked to third-party servers. -->
|
|
<meta name="referrer" content="strict-origin-when-cross-origin" />
|
|
<title>Bambuddy</title>
|
|
|
|
<!-- PWA Meta Tags -->
|
|
<meta name="description" content="Monitor and manage your Bambu Lab 3D printers" />
|
|
<meta name="theme-color" content="#00ae42" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<meta name="apple-mobile-web-app-title" content="Bambuddy" />
|
|
|
|
<!-- Manifest -->
|
|
<link rel="manifest" href="/manifest.json" />
|
|
|
|
<!-- Favicons -->
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png" />
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png" />
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png" />
|
|
|
|
<!-- Splash screens for iOS -->
|
|
<link rel="apple-touch-startup-image" href="/img/android-chrome-512x512.png" />
|
|
<script type="module" crossorigin src="/assets/index-Cxa-KVmA.js"></script>
|
|
<link rel="modulepreload" crossorigin href="/assets/chunk-aKtaBQYM.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/client-DnySrlFv.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/QueryClientProvider-Ce8_sN3w.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/useMutation-B-Tr2hIP.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/useQuery-BBCjCezC.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/useQueries-Be6PMvSC.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DvBYJlWL.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/arrow-down-Cj0DZhNf.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/arrow-up-D-pfJ3WZ.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/calendar-BLKPnWqV.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/check-Ck0cMLU4.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/info-ROUoQhJR.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/loader-circle-BEmFtawu.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/x-DR-Trv6U.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/file-DDkFXH-b.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/ToastContext-BRX0SW3C.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/triangle-alert-Dt_1FcBy.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/react-dom-B8Dg6xzp.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/Button-DDr6eAFy.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/Card-Bzc64K35.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/filamentSwatchHelpers-D3oXQSGk.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/date-G9KUauqz.js">
|
|
<link rel="stylesheet" crossorigin href="/assets/index-LBjsy7mY.css">
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
|
|
<!-- Service Worker Registration (skip on SpoolBuddy kiosk).
|
|
Kept as an external file so the CSP `script-src 'self'` covers it
|
|
without needing 'unsafe-inline' or per-build hashes. -->
|
|
<script src="/sw-register.js"></script>
|
|
</body>
|
|
</html>
|