mirror of
https://github.com/BrenBroZAYT/gameyfin.git
synced 2026-06-15 16:20:03 +00:00
Refactored side-menu code
This commit is contained in:
@@ -1,45 +1,22 @@
|
||||
import {Listbox, ListboxItem} from "@nextui-org/react";
|
||||
import {GearFine, Palette, User} from "@phosphor-icons/react";
|
||||
import {Outlet, useNavigate} from "react-router-dom";
|
||||
import withSideMenu from "Frontend/components/general/withSideMenu";
|
||||
|
||||
export default function ProfileView() {
|
||||
const navigate = useNavigate();
|
||||
const menuItems = [
|
||||
{
|
||||
title: "My Profile",
|
||||
url: "profile",
|
||||
icon: <User/>
|
||||
},
|
||||
{
|
||||
title: "Appearance",
|
||||
url: "appearance",
|
||||
icon: <Palette/>
|
||||
},
|
||||
{
|
||||
title: "Manage account",
|
||||
url: "account-management",
|
||||
icon: <GearFine/>
|
||||
}
|
||||
]
|
||||
|
||||
const menuItems = [
|
||||
{
|
||||
title: "My Profile",
|
||||
key: "profile",
|
||||
icon: <User/>,
|
||||
action: () => navigate('profile')
|
||||
},
|
||||
{
|
||||
title: "Appearance",
|
||||
key: "appearance",
|
||||
icon: <Palette/>,
|
||||
action: () => navigate('appearance')
|
||||
},
|
||||
{
|
||||
title: "Manage account",
|
||||
icon: <GearFine/>,
|
||||
key: "account-management",
|
||||
action: () => navigate('account-management')
|
||||
}
|
||||
]
|
||||
|
||||
return (
|
||||
<div className="flex flex-row">
|
||||
<div className="flex flex-col pr-8">
|
||||
<Listbox className="min-w-60">
|
||||
{menuItems.map((i) => (
|
||||
<ListboxItem key={i.key} onPress={i.action} startContent={i.icon}>
|
||||
{i.title}
|
||||
</ListboxItem>
|
||||
))}
|
||||
</Listbox>
|
||||
</div>
|
||||
<div className="flex flex-col flex-grow">
|
||||
<Outlet/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
export const ProfileView = withSideMenu(menuItems);
|
||||
Reference in New Issue
Block a user