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
|
try
|
||||||
{
|
{
|
||||||
_keys = await Keys.ListAsync(default);
|
_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)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -48,3 +48,22 @@
|
|||||||
flex: 0 0 18px;
|
flex: 0 0 18px;
|
||||||
width: 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