85 lines
2.8 KiB
TypeScript
85 lines
2.8 KiB
TypeScript
import type { Metadata } from 'next';
|
|
import { Geist, Geist_Mono } from 'next/font/google';
|
|
import '../globals.css';
|
|
|
|
import { ResponseProvider } from '../../shared/components/response/ResponseContext';
|
|
import { AppSidebar } from '@/components/app-sidebar';
|
|
import {
|
|
Breadcrumb,
|
|
BreadcrumbItem,
|
|
BreadcrumbLink,
|
|
BreadcrumbList,
|
|
BreadcrumbPage,
|
|
BreadcrumbSeparator,
|
|
} from '@/components/ui/breadcrumb';
|
|
import { Separator } from '@/components/ui/separator';
|
|
import { SidebarInset, SidebarProvider, SidebarTrigger } from '@/components/ui/sidebar';
|
|
import { Toaster } from '@/components/ui/sonner';
|
|
import Response from '../../shared/components/response/response';
|
|
|
|
const geistSans = Geist({
|
|
variable: '--font-geist-sans',
|
|
subsets: ['latin'],
|
|
});
|
|
|
|
const geistMono = Geist_Mono({
|
|
variable: '--font-geist-mono',
|
|
subsets: ['latin'],
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'Monitoring App - Orius Tecnologia',
|
|
description: 'Evolução tecnológica com toque humano',
|
|
icons: {
|
|
icon: '/images/favicon.ico',
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="en">
|
|
<body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
|
|
<SidebarProvider>
|
|
<AppSidebar />
|
|
<SidebarInset>
|
|
<header className="mb-4 flex h-16 shrink-0 items-center gap-2 border-b-1 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12">
|
|
<div className="flex items-center gap-2 px-4">
|
|
<SidebarTrigger className="-ml-1" />
|
|
<Separator
|
|
orientation="vertical"
|
|
className="mr-2 data-[orientation=vertical]:h-4"
|
|
/>
|
|
<Breadcrumb>
|
|
<BreadcrumbList>
|
|
<BreadcrumbItem className="hidden md:block">
|
|
<BreadcrumbLink href="#">
|
|
Orius Tecnologia
|
|
</BreadcrumbLink>
|
|
</BreadcrumbItem>
|
|
<BreadcrumbSeparator className="hidden md:block" />
|
|
<BreadcrumbItem>
|
|
<BreadcrumbPage>
|
|
Monitoramento de Servidores
|
|
</BreadcrumbPage>
|
|
</BreadcrumbItem>
|
|
</BreadcrumbList>
|
|
</Breadcrumb>
|
|
</div>
|
|
</header>
|
|
<ResponseProvider>
|
|
<div className="flex flex-1 flex-col gap-4 p-4 pt-0">
|
|
{children}
|
|
<Toaster richColors position="top-center" />
|
|
<Response />
|
|
</div>
|
|
</ResponseProvider>
|
|
</SidebarInset>
|
|
</SidebarProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|