Add firmware SHA hash tool
This commit is contained in:
@@ -123,6 +123,7 @@ button { color: inherit; }
|
||||
.mode-tab { min-height: 28px; padding: 0 10px; color: var(--muted); background: transparent; border: 0; border-radius: 5px; cursor: pointer; font-size: 12px; }
|
||||
.mode-tab:hover { color: var(--text); }
|
||||
.mode-tab.is-active { color: var(--text); background: var(--surface); box-shadow: 0 0 0 1px var(--border); }
|
||||
.mode-tab:disabled { cursor: not-allowed; opacity: .55; }
|
||||
.tool-controls { margin-bottom: 14px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
|
||||
.control-spacer, .action-spacer { flex: 1; }
|
||||
.compact-field { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
|
||||
@@ -221,6 +222,28 @@ button { color: inherit; }
|
||||
.result-table td { color: var(--muted); }
|
||||
.result-table tbody tr:last-child td { border-bottom: 0; }
|
||||
.crc-value { color: var(--text) !important; font-family: "SFMono-Regular", Consolas, monospace; font-weight: 600; }
|
||||
.hash-config { margin-bottom: 14px; display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; }
|
||||
.hash-config .parameter-field { min-width: 270px; }
|
||||
.hash-config .mode-tabs { width: 100%; }
|
||||
.hash-results { margin-top: 16px; }
|
||||
.hash-summary { min-height: 58px; padding: 10px 13px; display: flex; align-items: center; gap: 12px; color: var(--muted); background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border)); border-radius: 7px; font-size: 11px; }
|
||||
.hash-summary > div { min-width: 0; }
|
||||
.hash-summary strong, .hash-summary span { display: block; }
|
||||
.hash-summary strong { color: var(--text); font-size: 12px; }
|
||||
.hash-summary span { margin-top: 3px; overflow-wrap: anywhere; }
|
||||
.hash-summary-mode { margin-left: auto; color: var(--accent) !important; font-family: "SFMono-Regular", Consolas, monospace; font-weight: 600; white-space: nowrap; }
|
||||
.hash-digest-list { margin-top: 10px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
|
||||
.hash-digest-row, .hash-field-row { min-width: 0; min-height: 48px; padding: 7px 0; display: grid; grid-template-columns: 78px minmax(0, 1fr) 30px; align-items: center; gap: 10px; border-bottom: 1px solid var(--border); }
|
||||
.hash-digest-row:last-child, .hash-field-row:last-child { border-bottom: 0; }
|
||||
.hash-digest-row strong, .hash-field-row > span { color: var(--muted); font-size: 11px; font-weight: 600; }
|
||||
.hash-digest-row code, .hash-field-row code { min-width: 0; color: var(--text); font-family: "SFMono-Regular", Consolas, monospace; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
|
||||
.hash-block-list { margin-top: 16px; display: grid; gap: 10px; }
|
||||
.hash-block-result { min-width: 0; padding: 0 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 7px; }
|
||||
.hash-block-result > header { min-height: 42px; display: flex; align-items: center; gap: 10px; color: var(--muted); border-bottom: 1px solid var(--border); font-size: 11px; }
|
||||
.hash-block-result > header strong { color: var(--text); font-size: 12px; white-space: nowrap; }
|
||||
.hash-block-result > header span { min-width: 0; font-family: "SFMono-Regular", Consolas, monospace; overflow-wrap: anywhere; }
|
||||
.hash-block-result > header small { margin-left: auto; color: var(--faint); white-space: nowrap; }
|
||||
.hash-field-row { grid-template-columns: 78px minmax(0, 1fr) 30px; }
|
||||
.fixed-parameter { min-height: 34px; display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
|
||||
.fixed-parameter strong { color: var(--text); font-family: "SFMono-Regular", Consolas, monospace; font-weight: 600; }
|
||||
.rsa-generate-row { margin-top: 0; margin-bottom: 18px; }
|
||||
@@ -296,6 +319,12 @@ button { color: inherit; }
|
||||
.firmware-summary > div { width: 100%; }
|
||||
.crc-total { align-items: flex-start; flex-direction: column; }
|
||||
.crc-total strong { margin-left: 0; font-size: 18px; overflow-wrap: anywhere; }
|
||||
.hash-config { display: grid; grid-template-columns: 1fr; align-items: stretch; }
|
||||
.hash-config .parameter-field { min-width: 0; }
|
||||
.hash-summary { align-items: flex-start; flex-direction: column; }
|
||||
.hash-summary-mode { margin-left: 0; }
|
||||
.hash-block-result > header { align-items: flex-start; flex-wrap: wrap; padding: 10px 0; }
|
||||
.hash-block-result > header small { width: 100%; margin-left: 0; }
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
|
||||
Reference in New Issue
Block a user