feat: automações de tickets e testes de regressão
This commit is contained in:
parent
9f1a6a7401
commit
8ab510bfe9
18 changed files with 2221 additions and 20 deletions
|
|
@ -52,7 +52,7 @@ import { cn } from "@/lib/utils"
|
|||
|
||||
import type { LucideIcon } from "lucide-react"
|
||||
|
||||
type NavRoleRequirement = "staff" | "admin"
|
||||
type NavRoleRequirement = "staff" | "admin" | "agent"
|
||||
|
||||
type NavigationItem = {
|
||||
title: string
|
||||
|
|
@ -85,6 +85,7 @@ const navigation: NavigationGroup[] = [
|
|||
{ title: "Resolvidos", url: "/tickets/resolved", icon: ShieldCheck, requiredRole: "staff" },
|
||||
],
|
||||
},
|
||||
{ title: "Automações", url: "/automations", icon: Waypoints, requiredRole: "agent" },
|
||||
{ title: "Modo Play", url: "/play", icon: PlayCircle, requiredRole: "staff" },
|
||||
{ title: "Agenda", url: "/agenda", icon: CalendarDays, requiredRole: "staff" },
|
||||
{ title: "Dispositivos", url: "/admin/devices", icon: MonitorCog, requiredRole: "admin" },
|
||||
|
|
@ -150,16 +151,17 @@ const navigation: NavigationGroup[] = [
|
|||
|
||||
export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
|
||||
const pathname = usePathname()
|
||||
const { session, isLoading, isAdmin, isStaff } = useAuth()
|
||||
const { session, isLoading, isAdmin, isStaff, role } = useAuth()
|
||||
const [isHydrated, setIsHydrated] = React.useState(false)
|
||||
const canAccess = React.useCallback(
|
||||
(requiredRole?: NavRoleRequirement) => {
|
||||
if (!requiredRole) return true
|
||||
if (requiredRole === "admin") return isAdmin
|
||||
if (requiredRole === "agent") return isAdmin || role === "agent"
|
||||
if (requiredRole === "staff") return isStaff
|
||||
return false
|
||||
},
|
||||
[isAdmin, isStaff]
|
||||
[isAdmin, isStaff, role]
|
||||
)
|
||||
const initialExpanded = React.useMemo(() => {
|
||||
const open = new Set<string>()
|
||||
|
|
@ -377,4 +379,3 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
|
|||
</Sidebar>
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue