import type { Route } from './+types/route' import { Link, NavLink, Outlet, type ShouldRevalidateFunctionArgs } from 'react-router' import { Avatar, AvatarFallback } from '@repo/ui/components/ui/avatar' import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '@repo/ui/components/ui/breadcrumb' import { Tabs, TabsList, TabsTrigger } from '@repo/ui/components/ui/tabs' import { initials } from '@repo/ui/lib/utils' import { request as req } from '@repo/util/request' const links = [ { to: '', title: 'Perfil', end: true }, { to: 'emails', title: 'Emails' } ] export function meta() { return [ { title: 'Editar colaborador' } ] } export async function loader({ params, request, context }: Route.LoaderArgs) { const r = await req({ url: `/users/${params.id}`, request, context }) if (!r.ok) { throw new Response(null, { status: r.status }) } return { user: await r.json() } as { user: any } } export function shouldRevalidate({ currentParams, nextParams }: ShouldRevalidateFunctionArgs) { return currentParams.id !== nextParams.id } export default function Route({ loaderData: { user } }: Route.ComponentProps) { return (
Colaboradores Editar colaborador
{initials(user.name)}
  • {user.name}
  • {user.email}
{links.map(({ to, title, ...props }, idx) => ( {({ isActive }) => ( {title} )} ))}
) }