Skip to content

Commit d9e6041

Browse files
authored
set z-index on config dropdowns so they render above the modal (Stirling-Tools#6674)
1 parent 8f81fdc commit d9e6041

7 files changed

Lines changed: 52 additions & 11 deletions

File tree

.gitleaksignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ app/proprietary/src/test/java/stirling/software/proprietary/mcp/security/McpApiK
1212
testing/compose/docker-compose-keycloak-mcp.yml:generic-api-key:25
1313
testing/compose/validate-mcp-apikey.sh:curl-auth-header:73
1414
testing/compose/validate-mcp-test.sh:curl-auth-header:92
15+
16+
# Truncated placeholder API key in portal docs example (sk_live_8f2c...e10) - not a real secret.
17+
frontend/portal/src/components/docs/GettingStartedSection.tsx:generic-api-key:31

frontend/editor/src/proprietary/components/shared/config/configSections/AdminConnectionsSection.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { useAdminSettings } from "@app/hooks/useAdminSettings";
2222
import { useSettingsDirty } from "@app/hooks/useSettingsDirty";
2323
import PendingBadge from "@app/components/shared/config/PendingBadge";
2424
import { SettingsStickyFooter } from "@app/components/shared/config/SettingsStickyFooter";
25-
import { Z_INDEX_CONFIG_MODAL } from "@app/styles/zIndex";
25+
import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex";
2626
import ProviderCard from "@app/components/shared/config/configSections/ProviderCard";
2727
import {
2828
Provider,
@@ -815,7 +815,10 @@ export default function AdminConnectionsSection() {
815815
]}
816816
disabled={!loginEnabled}
817817
style={{ width: "250px" }}
818-
comboboxProps={{ zIndex: Z_INDEX_CONFIG_MODAL }}
818+
comboboxProps={{
819+
withinPortal: true,
820+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
821+
}}
819822
/>
820823
<PendingBadge
821824
show={isFieldPending("mobileScannerImageResolution")}
@@ -872,7 +875,10 @@ export default function AdminConnectionsSection() {
872875
]}
873876
disabled={!loginEnabled}
874877
style={{ width: "250px" }}
875-
comboboxProps={{ zIndex: Z_INDEX_CONFIG_MODAL }}
878+
comboboxProps={{
879+
withinPortal: true,
880+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
881+
}}
876882
/>
877883
<PendingBadge
878884
show={isFieldPending("mobileScannerPageFormat")}

frontend/editor/src/proprietary/components/shared/config/configSections/AdminDatabaseSection.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,10 @@ export default function AdminDatabaseSection() {
587587
{ value: "mysql", label: "MySQL" },
588588
{ value: "mariadb", label: "MariaDB" },
589589
]}
590+
comboboxProps={{
591+
withinPortal: true,
592+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
593+
}}
590594
disabled={!loginEnabled}
591595
/>
592596
</div>

frontend/editor/src/proprietary/components/shared/config/configSections/AdminEndpointsSection.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import PendingBadge from "@app/components/shared/config/PendingBadge";
1818
import { SettingsStickyFooter } from "@app/components/shared/config/SettingsStickyFooter";
1919
import { useLoginRequired } from "@app/hooks/useLoginRequired";
2020
import LoginRequiredBanner from "@app/components/shared/config/LoginRequiredBanner";
21+
import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex";
2122

2223
interface UISettingsData {
2324
defaultHideUnavailableTools?: boolean;
@@ -300,7 +301,10 @@ export default function AdminEndpointsSection() {
300301
"admin.settings.endpoints.toRemove.placeholder",
301302
"Select endpoints to disable",
302303
)}
303-
comboboxProps={{ zIndex: 1400 }}
304+
comboboxProps={{
305+
withinPortal: true,
306+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
307+
}}
304308
disabled={!loginEnabled}
305309
/>
306310
</div>
@@ -337,7 +341,10 @@ export default function AdminEndpointsSection() {
337341
"admin.settings.endpoints.groupsToRemove.placeholder",
338342
"Select groups to disable",
339343
)}
340-
comboboxProps={{ zIndex: 1400 }}
344+
comboboxProps={{
345+
withinPortal: true,
346+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
347+
}}
341348
disabled={!loginEnabled}
342349
/>
343350
</div>

frontend/editor/src/proprietary/components/shared/config/configSections/AdminGeneralSection.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import {
3232
toUnderscoreFormat,
3333
toUnderscoreLanguages,
3434
} from "@app/i18n";
35-
import { Z_INDEX_CONFIG_MODAL } from "@app/styles/zIndex";
35+
import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex";
3636

3737
interface GeneralSettingsData {
3838
ui: {
@@ -591,7 +591,10 @@ export default function AdminGeneralSection() {
591591
"admin.settings.general.languages.placeholder",
592592
"Select languages",
593593
)}
594-
comboboxProps={{ zIndex: Z_INDEX_CONFIG_MODAL }}
594+
comboboxProps={{
595+
withinPortal: true,
596+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
597+
}}
595598
disabled={!loginEnabled}
596599
/>
597600
</div>
@@ -626,7 +629,10 @@ export default function AdminGeneralSection() {
626629
searchable
627630
clearable
628631
placeholder="en_US"
629-
comboboxProps={{ zIndex: Z_INDEX_CONFIG_MODAL }}
632+
comboboxProps={{
633+
withinPortal: true,
634+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
635+
}}
630636
disabled={!loginEnabled}
631637
/>
632638
</div>

frontend/editor/src/proprietary/components/shared/config/configSections/AdminMcpSection.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import PendingBadge from "@app/components/shared/config/PendingBadge";
2424
import { SettingsStickyFooter } from "@app/components/shared/config/SettingsStickyFooter";
2525
import apiClient from "@app/services/apiClient";
2626
import { useLoginRequired } from "@app/hooks/useLoginRequired";
27+
import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex";
2728

2829
interface McpAuthData {
2930
mode?: string;
@@ -211,6 +212,10 @@ export default function AdminMcpSection() {
211212
value={authMode}
212213
onChange={(v) => setAuth({ mode: v || "oauth" })}
213214
allowDeselect={false}
215+
comboboxProps={{
216+
withinPortal: true,
217+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
218+
}}
214219
disabled={!settings.enabled}
215220
/>
216221

frontend/editor/src/proprietary/components/shared/config/configSections/AdminSecuritySection.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { SettingsStickyFooter } from "@app/components/shared/config/SettingsStic
2626
import apiClient from "@app/services/apiClient";
2727
import { useLoginRequired } from "@app/hooks/useLoginRequired";
2828
import LoginRequiredBanner from "@app/components/shared/config/LoginRequiredBanner";
29+
import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex";
2930

3031
interface SecuritySettingsData {
3132
enableLogin?: boolean;
@@ -364,7 +365,10 @@ export default function AdminSecuritySection() {
364365
),
365366
},
366367
]}
367-
comboboxProps={{ zIndex: 1400 }}
368+
comboboxProps={{
369+
withinPortal: true,
370+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
371+
}}
368372
disabled={!loginEnabled}
369373
/>
370374
{isFieldPending("loginMethod") && (
@@ -480,7 +484,10 @@ export default function AdminSecuritySection() {
480484
),
481485
},
482486
]}
483-
comboboxProps={{ zIndex: 1400 }}
487+
comboboxProps={{
488+
withinPortal: true,
489+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
490+
}}
484491
disabled={!loginEnabled}
485492
/>
486493
</div>
@@ -1191,7 +1198,10 @@ export default function AdminSecuritySection() {
11911198
),
11921199
},
11931200
]}
1194-
comboboxProps={{ zIndex: 1400 }}
1201+
comboboxProps={{
1202+
withinPortal: true,
1203+
zIndex: Z_INDEX_OVER_CONFIG_MODAL,
1204+
}}
11951205
disabled={!loginEnabled}
11961206
/>
11971207
</div>

0 commit comments

Comments
 (0)