Minor UI fixes

This commit is contained in:
grimsi
2024-10-06 10:03:14 +02:00
parent f045a333e5
commit 3950effe8a
3 changed files with 24 additions and 21 deletions
+18 -15
View File
@@ -4,6 +4,7 @@ import {Dropdown, DropdownItem, DropdownMenu, DropdownTrigger} from "@nextui-org
import {useNavigate} from "react-router-dom"; import {useNavigate} from "react-router-dom";
import {ConfigEndpoint} from "Frontend/generated/endpoints"; import {ConfigEndpoint} from "Frontend/generated/endpoints";
import Avatar from "Frontend/components/general/Avatar"; import Avatar from "Frontend/components/general/Avatar";
import {CollectionElement} from "@react-types/shared";
export default function ProfileMenu() { export default function ProfileMenu() {
const auth = useAuth(); const auth = useAuth();
@@ -42,6 +43,7 @@ export default function ProfileMenu() {
}, },
]; ];
// @ts-ignore
return ( return (
<Dropdown placement="bottom-end"> <Dropdown placement="bottom-end">
<DropdownTrigger> <DropdownTrigger>
@@ -57,23 +59,24 @@ export default function ProfileMenu() {
/> />
</div> </div>
</DropdownTrigger> </DropdownTrigger>
<DropdownMenu> <DropdownMenu disabledKeys={["username"]}>
{/* @ts-ignore */} <DropdownItem key="username">
{profileMenuItems.map(({label, icon, onClick, showIf, color}) => { <p className="font-bold">Signed in as {auth.state.user?.username}</p>
</DropdownItem>
{profileMenuItems.filter(item => item.showIf !== false).map(({label, icon, onClick, color}) => {
return ( return (
(showIf === undefined || showIf === true) ? <DropdownItem
<DropdownItem key={label}
key={label} onClick={onClick}
onClick={onClick} startContent={<div color={color}>{icon}</div>}
startContent={<div color={color}>{icon}</div>} /* @ts-ignore */
/* @ts-ignore */ color={color ? color : ""}
color={color ? color : ""} className={`text-${color} hover:bg-primary/20`}
className={`text-${color} hover:bg-primary/20`} >
> {label}
{label} </DropdownItem>
</DropdownItem> : null
); );
})} }) as unknown as CollectionElement<object>}
</DropdownMenu> </DropdownMenu>
</Dropdown> </Dropdown>
); );
@@ -37,6 +37,10 @@ function UserManagementLayout({getConfig, formik}: any) {
<div className="flex flex-row items-baseline justify-between"> <div className="flex flex-row items-baseline justify-between">
<h2 className={"text-xl font-bold mt-8 mb-1"}>Users</h2> <h2 className={"text-xl font-bold mt-8 mb-1"}>Users</h2>
{!autoRegisterNewUsers &&
<SmallInfoField className="mb-4 text-warning" icon={Info}
message="Automatic user registration for SSO users is disabled"/>
}
<Tooltip content="Invite new user"> <Tooltip content="Invite new user">
<Button isIconOnly variant="faded" onPress={inviteUserModal.onOpen}> <Button isIconOnly variant="faded" onPress={inviteUserModal.onOpen}>
<UserPlus/> <UserPlus/>
@@ -44,10 +48,6 @@ function UserManagementLayout({getConfig, formik}: any) {
</Tooltip> </Tooltip>
</div> </div>
<Divider className="mb-4"/> <Divider className="mb-4"/>
{!autoRegisterNewUsers &&
<SmallInfoField className="mb-4 text-warning" icon={Info}
message="Automatic user registration for SSO users is disabled"/>
}
<div className="grid grid-cols-300px gap-4"> <div className="grid grid-cols-300px gap-4">
{users.map((user) => <UserManagementCard user={user} key={user.username}/>)} {users.map((user) => <UserManagementCard user={user} key={user.username}/>)}
</div> </div>
@@ -49,7 +49,7 @@ const Wizard = ({children, initialValues, onSubmit}: {
/*// @ts-ignore*/ /*// @ts-ignore*/
validationSchema={step.props.validationSchema} validationSchema={step.props.validationSchema}
> >
{(formik: { values: any; isSubmitting: any; }) => ( {(formik) => (
<Form className="flex flex-col h-full"> <Form className="flex flex-col h-full">
<div className="w-full mb-8"> <div className="w-full mb-8">
<Stepper activeStep={stepNumber} activeLineClassName="bg-primary" <Stepper activeStep={stepNumber} activeLineClassName="bg-primary"
@@ -76,7 +76,7 @@ const Wizard = ({children, initialValues, onSubmit}: {
</div> </div>
<div className="left-8 right-8 absolute bottom-8 -z-1"> <div className="left-8 right-8 absolute bottom-8 -z-1">
<div className="flex justify-between"> <div className="flex justify-between">
<Button color="primary" onClick={() => previous(formik.values)} disabled={isFirstStep}> <Button color="primary" onClick={() => previous(formik.values)} isDisabled={isFirstStep}>
<ArrowLeft/> <ArrowLeft/>
</Button> </Button>
<Button <Button