52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
"use client"
|
|
|
|
import dynamic from "next/dynamic"
|
|
|
|
import { AppShell } from "@/components/app-shell"
|
|
import { SiteHeader } from "@/components/site-header"
|
|
|
|
const TicketQueueSummaryCards = dynamic(
|
|
() =>
|
|
import("@/components/tickets/ticket-queue-summary").then((module) => ({
|
|
default: module.TicketQueueSummaryCards,
|
|
})),
|
|
{ ssr: false }
|
|
)
|
|
|
|
const TicketsView = dynamic(
|
|
() =>
|
|
import("@/components/tickets/tickets-view").then((module) => ({
|
|
default: module.TicketsView,
|
|
})),
|
|
{ ssr: false }
|
|
)
|
|
|
|
const NewTicketDialog = dynamic(
|
|
() =>
|
|
import("@/components/tickets/new-ticket-dialog").then((module) => ({
|
|
default: module.NewTicketDialog,
|
|
})),
|
|
{ ssr: false }
|
|
)
|
|
|
|
export function TicketsPageClient() {
|
|
return (
|
|
<AppShell
|
|
header={
|
|
<SiteHeader
|
|
title="Tickets"
|
|
lead="Visão consolidada de filas e SLAs"
|
|
secondaryAction={<SiteHeader.SecondaryButton>Exportar CSV</SiteHeader.SecondaryButton>}
|
|
primaryAction={<NewTicketDialog />}
|
|
/>
|
|
}
|
|
>
|
|
<div className="flex flex-col gap-6">
|
|
<div className="px-4 lg:px-6">
|
|
<TicketQueueSummaryCards />
|
|
</div>
|
|
<TicketsView />
|
|
</div>
|
|
</AppShell>
|
|
)
|
|
}
|