diff --git a/apps/cyberstorm-remix/app/commonComponents/Navigation/Navigation.css b/apps/cyberstorm-remix/app/commonComponents/Navigation/Navigation.css index 0a6d5acd7..34fb98701 100644 --- a/apps/cyberstorm-remix/app/commonComponents/Navigation/Navigation.css +++ b/apps/cyberstorm-remix/app/commonComponents/Navigation/Navigation.css @@ -140,6 +140,7 @@ gap: 2rem; align-items: center; width: min-content; + padding: var(--space-32); } .navigation-login__logo { diff --git a/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.css b/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.css index ade7ebbac..474e84913 100644 --- a/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.css +++ b/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.css @@ -37,4 +37,16 @@ font-weight: var(--font-weight-bold); line-height: var(--line-height-bold); } + + .service-accounts__nickname-input { + display: flex; + flex-direction: row; + gap: var(--gap-md); + align-items: center; + } + + .service-accounts__nickname-input-max-length { + color: var(--color-text-tertiary); + font-size: var(--font-size-body-sm); + } } diff --git a/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx b/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx index bbc0009dc..1dacdfa5e 100644 --- a/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx +++ b/apps/cyberstorm-remix/app/settings/teams/team/tabs/ServiceAccounts/ServiceAccounts.tsx @@ -325,7 +325,7 @@ function AddServiceAccountForm(props: { Enter the nickname of the service account you wish to add to the team {props.teamName} -
+
{ updateFormFieldState({ @@ -334,7 +334,11 @@ function AddServiceAccountForm(props: { }); }} placeholder={"ExampleName"} + maxLength={32} /> +
+ Max. 32 characters +
)} diff --git a/packages/cyberstorm/src/newComponents/Modal/Modal.tsx b/packages/cyberstorm/src/newComponents/Modal/Modal.tsx index 21eb2f1cf..baccdb5d6 100644 --- a/packages/cyberstorm/src/newComponents/Modal/Modal.tsx +++ b/packages/cyberstorm/src/newComponents/Modal/Modal.tsx @@ -3,6 +3,7 @@ import { isValidElement, type PropsWithChildren, type ReactNode, + useRef, } from "react"; import "./Modal.css"; import { NewButton, NewIcon } from "../.."; @@ -191,6 +192,7 @@ export function Modal(props: ModalProps) { } = props; const filteredChildren: ReactNode[] = []; + const contentRef = useRef(null); let exit = ; @@ -251,6 +253,13 @@ export function Modal(props: ModalProps) { props.contentClasses )} aria-describedby={ariaDescribedby} + onOpenAutoFocus={(e) => { + // Prevent auto-focusing the first focusable (usually Exit button with tooltip) + e.preventDefault(); + contentRef.current?.focus(); + }} + tabIndex={-1} + ref={contentRef} > {disableDefaultSubComponents ? ( children