fix(adminui): clear stale one-time key banner on delete; modal backdrop no longer overruns viewport (#631)
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
@@ -142,6 +142,13 @@
|
||||
try
|
||||
{
|
||||
_keys = await Keys.ListAsync(default);
|
||||
// The one-time banner is only meaningful while its key exists; the credential is
|
||||
// otua_<keyId>_<secret>, so drop it once no listed key matches (deleted here or elsewhere).
|
||||
if (_created is not null
|
||||
&& !_keys.Any(k => _created.StartsWith($"otua_{k.ApiKeyId}_", StringComparison.Ordinal)))
|
||||
{
|
||||
_created = null;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -48,3 +48,22 @@
|
||||
flex: 0 0 18px;
|
||||
width: 18px;
|
||||
}
|
||||
|
||||
/* Modal sizing (#631). Bootstrap sizes .modal-backdrop with 100vw/100vh, and 100vw includes the
|
||||
scrollbar gutter, so on a tall form (Configure driver / Modbus) the backdrop overran the viewport
|
||||
and produced a page-level horizontal scrollbar. Pin it with inset:0 instead (no vw/vh), and keep
|
||||
the dialog inside the viewport. These modals are hand-rolled (display:block, no Bootstrap JS). */
|
||||
.modal-backdrop {
|
||||
inset: 0;
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.modal {
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-width: min(var(--bs-modal-width, 500px), calc(100vw - 2rem));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user