You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.7 KiB

  1. import Authenticated from '@/Layouts/AuthenticatedLayout';
  2. import { Head } from '@inertiajs/react';
  3. import { PageProps } from '@/types';
  4. import Superadmin from '@/Layouts/DashboardLayouts/SuperadminLayout';
  5. import Admin from '@/Layouts/DashboardLayouts/AdminLayout';
  6. import EndUser from '@/Layouts/DashboardLayouts/EndUserLayout';
  7. export default function Dashboard({ auth }: PageProps) {
  8. const thisUser = auth.user;
  9. const renderDashboardContent = () => {
  10. switch (thisUser.role_id) {
  11. case 1:
  12. return <Superadmin user={thisUser} />;
  13. case 2:
  14. return <Admin user={thisUser} />;
  15. case 3:
  16. return <EndUser user={thisUser} />;
  17. default:
  18. return null;
  19. }
  20. };
  21. return (
  22. <Authenticated user={thisUser}>
  23. <Head title="Dashboard" />
  24. <div className="drawer lg:drawer-open">
  25. <input id="my-drawer-2" type="checkbox" className="drawer-toggle" />
  26. <div className="drawer-content flex flex-row justify-between p-6 bg-neutral-20">
  27. {renderDashboardContent()}
  28. </div>
  29. <div className="drawer-side">
  30. <label htmlFor="my-drawer-2" aria-label="close sidebar" className="drawer-overlay"></label>
  31. <ul className="menu p-4 w-56 h-full bg-primary-background text-base-content">
  32. {/* Sidebar content here */}
  33. <li><a>Sidebar Item 1</a></li>
  34. <li><a>Sidebar Item 2</a></li>
  35. </ul>
  36. </div>
  37. </div>
  38. </Authenticated>
  39. );
  40. }