import Link from 'next/link'; import { Wrench } from 'lucide-react'; import { resolveUser } from '@/lib/auth'; import { api } from '@/lib/trpc/server'; import { SignOutButton } from './sign-out-button'; import { StatusBadge } from './status-badge'; import { SyncChip } from './sync-chip'; export default async function HomePage() { const user = await resolveUser(); // myRecent is a protectedProcedure — fails gracefully when there is no session. type RecentItem = Awaited>[number]; let recent: RecentItem[] = []; try { recent = await api.maintenanceRequest.myRecent({ limit: 5 }); } catch { // No session or other error — show empty list without crashing. } return (
{/* ── Header ── */}

Operador

{user?.email ?? '—'}

{/* ── Sync status ── */} {/* ── Primary CTA ── */} Pedir manutenção {/* ── Recent requests ── */}

Os meus pedidos

{recent.length === 0 ? (

Nenhum pedido ainda.

) : (
    {recent.map((req) => (
  • {req.workstation.code} — {req.workstation.name}

    {req.description}

  • ))}
)}
); }