mirror of
https://github.com/crivion/laranode.git
synced 2026-05-06 21:52:34 +08:00
137 lines
6.2 KiB
JavaScript
137 lines
6.2 KiB
JavaScript
import { Link, usePage } from "@inertiajs/react";
|
|
import { RiDashboard3Fill } from "react-icons/ri";
|
|
import { ImProfile } from "react-icons/im";
|
|
import { FaPhp, FaUsers } from "react-icons/fa6";
|
|
import { VscFileSubmodule } from "react-icons/vsc";
|
|
import { TbBrandMysql } from "react-icons/tb";
|
|
import { MdSecurity } from "react-icons/md";
|
|
import { IoLockClosedOutline } from "react-icons/io5";
|
|
|
|
const SidebarNavi = () => {
|
|
|
|
const { auth } = usePage().props;
|
|
|
|
return (<div className="fixed flex flex-col top-14 left-0 w-14 hover:w-64 md:w-64 bg-gray-950 dark:bg-gray-900 h-full text-white transition-all duration-300 border-none z-10 sidebar">
|
|
<div className="overflow-y-auto overflow-x-hidden flex flex-col justify-between flex-grow dark:border-gray-800 dark:border-r">
|
|
<ul className="flex flex-col py-4 space-y-2">
|
|
<li className="hidden md:block">
|
|
<div className="flex flex-row items-center h-8">
|
|
<div className="text-sm font-light tracking-wide text-gray-400 uppercase ml-4">
|
|
Menu
|
|
</div>
|
|
</div>
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Link
|
|
href={route('dashboard')}
|
|
className="relative flex flex-row items-center h-11 focus:outline-none hover:bg-gray-900 text-gray-300 border-l-4 border-transparent hover:border-indigo-900 pr-6"
|
|
>
|
|
<div>
|
|
<RiDashboard3Fill className="ml-3 w-5 h-5" />
|
|
</div>
|
|
<span className="ml-2 text-sm tracking-wide truncate">Dashboard</span>
|
|
</Link>
|
|
</li>
|
|
|
|
{auth.user.role == 'admin' && (
|
|
<li>
|
|
<Link
|
|
to={route('accounts.index')}
|
|
className="relative flex flex-row items-center h-11 focus:outline-none hover:bg-gray-900 text-gray-300 border-l-4 border-transparent hover:border-indigo-900 pr-6"
|
|
>
|
|
<div>
|
|
<FaUsers className="ml-3 w-5 h-5" />
|
|
</div>
|
|
<span className="ml-2 text-sm tracking-wide truncate">Accounts</span>
|
|
</Link>
|
|
</li>
|
|
)}
|
|
|
|
|
|
{auth.user.role == 'admin' && (
|
|
<li>
|
|
<Link
|
|
href="/admin/firewall"
|
|
className="relative flex flex-row items-center h-11 focus:outline-none hover:bg-gray-900 text-gray-300 border-l-4 border-transparent hover:border-indigo-900 pr-6"
|
|
>
|
|
<div>
|
|
<MdSecurity className="ml-3 w-5 h-5" />
|
|
</div>
|
|
<span className="ml-2 text-sm tracking-wide truncate">Firewall</span>
|
|
</Link>
|
|
</li>
|
|
)}
|
|
|
|
<li>
|
|
<Link
|
|
href="/filemanager"
|
|
className="relative flex flex-row items-center h-11 focus:outline-none hover:bg-gray-900 text-gray-300 border-l-4 border-transparent hover:border-indigo-900 pr-6"
|
|
>
|
|
<div>
|
|
<VscFileSubmodule className="ml-3 w-5 h-5" />
|
|
</div>
|
|
<span className="ml-2 text-sm tracking-wide truncate">File Manager</span>
|
|
</Link>
|
|
</li>
|
|
|
|
<li>
|
|
<Link
|
|
to="/mysql"
|
|
className="relative flex flex-row items-center h-11 focus:outline-none hover:bg-gray-900 text-gray-300 border-l-4 border-transparent hover:border-indigo-900 pr-6"
|
|
>
|
|
<div>
|
|
<TbBrandMysql className="ml-3 w-5 h-5" />
|
|
</div>
|
|
<span className="ml-2 text-sm tracking-wide truncate">MySQL DBs</span>
|
|
</Link>
|
|
</li>
|
|
|
|
<li>
|
|
<Link
|
|
to="/admin/php-manager"
|
|
className="relative flex flex-row items-center h-11 focus:outline-none hover:bg-gray-900 text-gray-300 border-l-4 border-transparent hover:border-indigo-900 pr-6"
|
|
>
|
|
<div>
|
|
<FaPhp className="ml-3 w-5 h-5" />
|
|
</div>
|
|
<span className="ml-2 text-sm tracking-wide truncate">PHP Manager</span>
|
|
</Link>
|
|
</li>
|
|
|
|
<li>
|
|
<Link
|
|
href="/ssl"
|
|
className="relative flex flex-row items-center h-11 focus:outline-none hover:bg-gray-900 text-gray-300 border-l-4 border-transparent hover:border-indigo-900 pr-6"
|
|
>
|
|
<div>
|
|
<IoLockClosedOutline className="ml-3 w-5 h-5" />
|
|
</div>
|
|
<span className="ml-2 text-sm tracking-wide truncate">SSL Manager</span>
|
|
</Link>
|
|
</li>
|
|
|
|
<li>
|
|
<Link
|
|
href="/profile"
|
|
className="relative flex flex-row items-center h-11 focus:outline-none hover:bg-gray-900 text-gray-300 border-l-4 border-transparent hover:border-indigo-900 pr-6"
|
|
>
|
|
<div>
|
|
<ImProfile className="ml-3 w-5 h-5" />
|
|
</div>
|
|
<span className="ml-2 text-sm tracking-wide truncate">My Profile</span>
|
|
</Link>
|
|
</li>
|
|
</ul>
|
|
|
|
<p className="mb-14 px-5 py-3 hidden md:block text-center text-xs border-t border-gray-800">
|
|
<span className="font-semibold text-white block">LaraNode</span>
|
|
<span className="text-gray-300">Hosting Control Panel</span>
|
|
</p>
|
|
</div>
|
|
</div>);
|
|
}
|
|
|
|
export default SidebarNavi
|