FieldOps/apps/admin-web/app/layout.tsx
Pedro Gomes 617c81357f MAI CALL - step 11
Passo 11 completo. Build limpo, AC verificado.

O que foi construído no admin-web (localhost:3001):

Infraestrutura completa a partir do zero: Tailwind, tRPC client/server, auth por autologin, env.ts, providers
/maintenance — cliente de polling com refetchInterval: 5000ms:
Header com contador de pedidos abertos + filtros por estado (checkboxes) e área (select)
Grid de cards com thumbnail (presigned GET), posto, descrição, reporter + tempo relativo, badge de status
OPEN → botão Aceitar (mutation claim)
CLAIMED → info "Aceite por X há Ym" + botão Marcar resolvido (dialog com nota opcional)
RESOLVED → badge verde + info "Resolvido por X há Ym"
Badge no document.title: (N) FieldOps — Manutenção
Toggle de notificação sonora via Web Audio API (beep ao detectar novo OPEN)
2026-05-16 16:41:16 +01:00

19 lines
502 B
TypeScript

import type { Metadata } from 'next';
import { Providers } from './providers';
import './globals.css';
export const metadata: Metadata = {
title: 'FieldOps — Manutenção',
description: 'Backoffice de manutenção industrial.',
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="pt">
<body className="min-h-screen bg-background font-sans antialiased">
<Providers>{children}</Providers>
</body>
</html>
);
}