mirror of
https://github.com/fosrl/pangolin.git
synced 2025-07-14 16:04:56 +02:00
add some more icons
This commit is contained in:
parent
3c7b2c03f8
commit
587bb758a2
6 changed files with 24 additions and 7 deletions
|
@ -1,6 +1,6 @@
|
||||||
import { Metadata } from "next";
|
import { Metadata } from "next";
|
||||||
import { TopbarNav } from "./components/TopbarNav";
|
import { TopbarNav } from "./components/TopbarNav";
|
||||||
import { Cog, Combine, Users, Waypoints } from "lucide-react";
|
import { Cog, Combine, Settings, Users, Waypoints } from "lucide-react";
|
||||||
import Header from "./components/Header";
|
import Header from "./components/Header";
|
||||||
import { verifySession } from "@app/lib/auth/verifySession";
|
import { verifySession } from "@app/lib/auth/verifySession";
|
||||||
import { redirect } from "next/navigation";
|
import { redirect } from "next/navigation";
|
||||||
|
@ -37,7 +37,7 @@ const topNavItems = [
|
||||||
{
|
{
|
||||||
title: "General",
|
title: "General",
|
||||||
href: "/{orgId}/settings/general",
|
href: "/{orgId}/settings/general",
|
||||||
icon: <Cog className="h-5 w-5" />,
|
icon: <Settings className="h-5 w-5" />,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ export default function ResourceInfoBox({}: ResourceInfoBoxType) {
|
||||||
href={fullUrl}
|
href={fullUrl}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="text-sm font-mono flex-grow hover:underline"
|
className="text-sm font-mono flex-grow hover:underline truncate"
|
||||||
>
|
>
|
||||||
{fullUrl}
|
{fullUrl}
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -6,7 +6,7 @@ import { redirect } from "next/navigation";
|
||||||
import { authCookieHeader } from "@app/api/cookies";
|
import { authCookieHeader } from "@app/api/cookies";
|
||||||
import { SidebarSettings } from "@app/components/SidebarSettings";
|
import { SidebarSettings } from "@app/components/SidebarSettings";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { ArrowLeft } from "lucide-react";
|
import { ArrowLeft, Cloud, Settings, Shield } from "lucide-react";
|
||||||
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
|
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
|
||||||
import { GetOrgResponse } from "@server/routers/org";
|
import { GetOrgResponse } from "@server/routers/org";
|
||||||
import OrgProvider from "@app/providers/OrgProvider";
|
import OrgProvider from "@app/providers/OrgProvider";
|
||||||
|
@ -60,14 +60,17 @@ export default async function ResourceLayout(props: ResourceLayoutProps) {
|
||||||
{
|
{
|
||||||
title: "General",
|
title: "General",
|
||||||
href: `/{orgId}/settings/resources/{resourceId}/general`,
|
href: `/{orgId}/settings/resources/{resourceId}/general`,
|
||||||
|
icon: <Settings className="w-4 h-4" />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Connectivity",
|
title: "Connectivity",
|
||||||
href: `/{orgId}/settings/resources/{resourceId}/connectivity`,
|
href: `/{orgId}/settings/resources/{resourceId}/connectivity`,
|
||||||
|
icon: <Cloud className="w-4 h-4" />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Authentication",
|
title: "Authentication",
|
||||||
href: `/{orgId}/settings/resources/{resourceId}/authentication`,
|
href: `/{orgId}/settings/resources/{resourceId}/authentication`,
|
||||||
|
icon: <Shield className="w-4 h-4" />,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { Fira_Sans, Inter } from "next/font/google";
|
import { Fira_Sans, Inter, Noto_Sans_Mono, Roboto_Mono } from "next/font/google";
|
||||||
import { Toaster } from "@/components/ui/toaster";
|
import { Toaster } from "@/components/ui/toaster";
|
||||||
import { ThemeProvider } from "@app/providers/ThemeProvider";
|
import { ThemeProvider } from "@app/providers/ThemeProvider";
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ export const metadata: Metadata = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const font = Inter({ subsets: ["latin"] });
|
const font = Inter({ subsets: ["latin"] });
|
||||||
|
// const font = Noto_Sans_Mono({ subsets: ["latin"] });
|
||||||
|
|
||||||
export default async function RootLayout({
|
export default async function RootLayout({
|
||||||
children,
|
children,
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { SidebarNav } from "@app/components/sidebar-nav";
|
import { SidebarNav } from "@app/components/sidebar-nav";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
interface SideBarSettingsProps {
|
interface SideBarSettingsProps {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
sidebarNavItems: Array<{ title: string; href: string }>;
|
sidebarNavItems: Array<{
|
||||||
|
title: string;
|
||||||
|
href: string;
|
||||||
|
icon?: React.ReactNode;
|
||||||
|
}>;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
limitWidth?: boolean;
|
limitWidth?: boolean;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ interface SidebarNavProps extends React.HTMLAttributes<HTMLElement> {
|
||||||
items: {
|
items: {
|
||||||
href: string;
|
href: string;
|
||||||
title: string;
|
title: string;
|
||||||
|
icon?: React.ReactNode;
|
||||||
}[];
|
}[];
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
}
|
}
|
||||||
|
@ -105,7 +106,14 @@ export function SidebarNav({
|
||||||
tabIndex={disabled ? -1 : undefined}
|
tabIndex={disabled ? -1 : undefined}
|
||||||
aria-disabled={disabled}
|
aria-disabled={disabled}
|
||||||
>
|
>
|
||||||
{item.title}
|
{item.icon ? (
|
||||||
|
<div className="flex items-center space-x-2">
|
||||||
|
{item.icon}
|
||||||
|
<span>{item.title}</span>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
item.title
|
||||||
|
)}
|
||||||
</Link>
|
</Link>
|
||||||
))}
|
))}
|
||||||
</nav>
|
</nav>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue