add some more icons

This commit is contained in:
Milo Schwartz 2024-11-16 12:18:22 -05:00
parent 3c7b2c03f8
commit 587bb758a2
No known key found for this signature in database
6 changed files with 24 additions and 7 deletions

View file

@ -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" />,
}, },
]; ];

View file

@ -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>

View file

@ -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" />,
}, },
]; ];

View file

@ -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,

View file

@ -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;
} }

View file

@ -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>