This commit is contained in:
2026-07-25 15:08:37 -05:00
parent d5faf998f4
commit e19b23de81
7 changed files with 230 additions and 54 deletions
+4 -3
View File
@@ -24,7 +24,7 @@ body {
#091211;
}
button, input { font: inherit; }
button, input, select { font: inherit; }
button:disabled { cursor: wait; opacity: .58; }
.topbar {
@@ -110,7 +110,7 @@ h2 { margin-bottom: 0; font-size: 1.4rem; letter-spacing: -.02em; }
.stack.compact { padding: 0; }
label, legend { color: var(--muted); font-size: .78rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
input {
input, select {
width: 100%;
margin-top: 8px;
padding: 12px 13px;
@@ -120,7 +120,7 @@ input {
outline: none;
background: #0a1514;
}
input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(88, 224, 173, .12); }
input:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(88, 224, 173, .12); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
fieldset { display: grid; gap: 10px; padding: 0; border: 0; }
@@ -211,6 +211,7 @@ dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.empty, .fine-print { color: var(--muted); }
.package-forms { display: grid; gap: 26px; }
.form-title { margin: 0; color: var(--ink); font-weight: 850; }
.form-help { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.upload-status { min-height: 1.2em; margin: 0; color: var(--amber); overflow-wrap: anywhere; }
.manual-metadata { padding-top: 22px; border-top: 1px solid var(--line); }
.manual-metadata summary { color: var(--accent); cursor: pointer; font-weight: 750; }
+9 -4
View File
@@ -37,10 +37,15 @@ document.addEventListener("submit", async (event) => {
if (!response.ok) {
throw new Error(result.error || `Upload failed with HTTP ${response.status}`);
}
status.textContent = `Uploaded ${result.filename}; SHA-256 ${result.sha256}`;
window.setTimeout(() => {
window.location.assign("/portal?notice=Package+uploaded+and+registered");
}, 900);
if (result.warning) {
status.textContent = `${result.warning} The replacement is active; see the audit trail for details.`;
button.disabled = false;
} else {
status.textContent = `Uploaded ${result.filename}; SHA-256 ${result.sha256}`;
window.setTimeout(() => {
window.location.assign("/portal?notice=Package+uploaded+and+registered");
}, 900);
}
} catch (error) {
status.textContent = error.message;
button.disabled = false;