refactor(app): changed ways we get data so we can have better reasons why app no worky
This commit is contained in:
@@ -19,11 +19,14 @@ export default function Header() {
|
||||
const { data: session } = useSession();
|
||||
const { signOut } = authClient;
|
||||
const router = useRouterState();
|
||||
|
||||
const navigate = useNavigate();
|
||||
const currentPath = router.location.href;
|
||||
|
||||
return (
|
||||
<header className="sticky top-0 z-50 flex w-full items-center border-b bg-background">
|
||||
<header
|
||||
className={`sticky top-0 z-50 flex w-full items-center border-b ${session?.session.impersonatedBy ? "bg-amber-600" : "bg-background"} `}
|
||||
>
|
||||
<div className="flex justify-between w-full">
|
||||
<div className="flex items-center gap-2 px-4">
|
||||
<div className="flex flex-row">
|
||||
@@ -48,6 +51,20 @@ export default function Header() {
|
||||
<span className="font-semibold text-2xl">Logistics Support Tool</span>
|
||||
</div>
|
||||
<div className="m-1 flex gap-1">
|
||||
<div>
|
||||
{session?.session.impersonatedBy && (
|
||||
<Button
|
||||
onClick={async () => {
|
||||
await authClient.admin.stopImpersonating();
|
||||
await authClient.getSession();
|
||||
|
||||
window.location.assign("/lst/app/admin/users");
|
||||
}}
|
||||
>
|
||||
Stop Impersonating
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
<div>
|
||||
<ModeToggle />
|
||||
</div>
|
||||
|
||||
51
frontend/src/components/NotFound.tsx
Normal file
51
frontend/src/components/NotFound.tsx
Normal file
@@ -0,0 +1,51 @@
|
||||
import { useRouter } from "@tanstack/react-router";
|
||||
|
||||
import { Card, CardContent, CardHeader } from "./ui/card";
|
||||
|
||||
export default function NotFound() {
|
||||
const router = useRouter();
|
||||
|
||||
let url: string;
|
||||
if (window.location.origin.includes("localhost")) {
|
||||
url = `https://www.youtube.com/watch?v=dQw4w9WgXcQ`;
|
||||
} else if (window.location.origin.includes("vms006")) {
|
||||
url = `https://${window.location.hostname.replace("vms006", "prod.alpla.net/")}lst/app/old`;
|
||||
} else {
|
||||
url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ";
|
||||
}
|
||||
return (
|
||||
<div className="flex items-center justify-center bg-background text-foreground">
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<p className="text-2xl">
|
||||
Oops, Looks like you hit a link you shouldn't have
|
||||
</p>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<p className="mt-3 text-muted-foreground">
|
||||
Your have tried to go to a page that you are not authorized to be
|
||||
at.
|
||||
</p>
|
||||
<div className="flex justify-center">
|
||||
<div>
|
||||
<a href={`${url}`} target="_blank" rel="noopener">
|
||||
<b>
|
||||
<strong>OLD - LST Home</strong>
|
||||
</b>
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<button
|
||||
type="button"
|
||||
className="w-64"
|
||||
onClick={() => router.navigate({ to: "/", replace: true })}
|
||||
>
|
||||
<strong>Home</strong>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import { useSuspenseQuery } from "@tanstack/react-query";
|
||||
import { Link } from "@tanstack/react-router";
|
||||
import { Bell, Logs, Server, Settings, UsersRound } from "lucide-react";
|
||||
|
||||
import { getSettings } from "../../lib/queries/getSettings";
|
||||
import {
|
||||
SidebarGroup,
|
||||
SidebarGroupContent,
|
||||
@@ -23,6 +24,7 @@ import {
|
||||
|
||||
export default function AdminSidebar({ session }: any) {
|
||||
const { setOpen } = useSidebar();
|
||||
const { data: settings, isLoading } = useSuspenseQuery(getSettings());
|
||||
const items = [
|
||||
{
|
||||
title: "Notifications",
|
||||
@@ -70,7 +72,9 @@ export default function AdminSidebar({ session }: any) {
|
||||
icon: UsersRound,
|
||||
role: ["systemAdmin", "admin", "manager"],
|
||||
module: "admin",
|
||||
active: true,
|
||||
active:
|
||||
!isLoading &&
|
||||
settings.filter((n: any) => n.name === "mobile")[0].active,
|
||||
},
|
||||
];
|
||||
return (
|
||||
@@ -80,7 +84,7 @@ export default function AdminSidebar({ session }: any) {
|
||||
<SidebarMenu>
|
||||
{items.map((item) => (
|
||||
<div key={item.title}>
|
||||
{item.role.includes(session.user.role) && (
|
||||
{item.role.includes(session.user.role) && item.active && (
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton asChild>
|
||||
<Link to={item.url} onClick={() => setOpen(false)}>
|
||||
|
||||
Reference in New Issue
Block a user