Volver a la wiki

Página y widget /correo (UI)

Descripción

Componentes React y página Astro que conforman la UI del menú Correo (F0): vista completa del informe de buzón Zoho y widget compacto de dashboard.

Archivos:

Componentes

CorreoPage.tsx

Propósito: vista detallada del informe de /correo del miembro logueado.

Estado:

Funciones auxiliares:

Layout:

  1. Encabezado (tools-page-header):

    • Eyebrow: “Correo”
    • Título: “Tu buzón, digerido”
    • Subtitle: fecha/hora de la última pasada.
  2. Estado vacío: si no hay informe, aviso explicativo.

  3. Secciones (si hay informe):

    • Actúa (nivel='actua'): ítems que requieren acción.
      • Tarjeta por ítem con remitente, asunto, “por qué importa”.
      • Badge rojo “urgente” si aplica.
      • Botón “Abrir en Zoho” (target=“_blank”).
    • Entérate (nivel='enterate'): solo informativos.
      • Mismo layout, sin urgencia esperada.
  4. Estadística final: línea con conteo de ruido filtrado.

Estilos:

Comportamiento:


CorreoWidget.tsx

Propósito: widget compacto para el dashboard principal (bento blue). Resume contadores y urgencias.

Estado:

Contenido:

Interactividad:

Comportamiento:


Página Astro: /correo

Archivo: src/pages/correo/index.astro

Layout: BaseLayout con título “Correo”.

Contenido: monta <CorreoPage client:load /> (React, hidratado en el cliente).

Estructura:

<BaseLayout title="Correo">
  <div class="app-body">
    <main>
      <div class="mx-auto max-w-6xl px-6 py-8">
        <CorreoPage client:load />
      </div>
    </main>
  </div>
</BaseLayout>

Integración en navegación

El menú Correo aparece en:

  1. Sidebar (src/components/shell/Sidebar.tsx):

    • Entrada: { title: 'Correo', icon: 'mail', href: '/correo' }
    • Icono SVG custom (sobre abierto).
  2. BottomNav (src/components/shell/BottomNav.tsx):

    • En submenu “Tareas”: { label: 'Correo', href: '/correo' }
  3. Navigation (src/lib/navigation.ts):

    • Item en array principal.
  4. DesktopA (src/components/variants/desktop/DesktopA.tsx):

    • Widget Correo en el grid de bento cards (glow-blue, animate-in d-5).
    • Encabezado con botón “Ver informe” → /correo.

Flujo de datos

GET /api/correo/digest (D1)
  ↓
CorreoPage / CorreoWidget
  ↓
Filtra items por nivel + urgencia
  ↓
ItemCard renderiza remitente, asunto, porque, zoho_link

Estilos y diseño


Testing


Véase también

Subir