Files
fn-design-system/components/detail_page.md
T
Egutierrez 5a824c2eee initial: mirror of @fn_library from fn_registry
75 components + DESIGN_SYSTEM.md + sync script.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 19:06:49 +02:00

59 lines
1.9 KiB
Markdown

---
name: detail_page
kind: function
lang: ts
domain: ui
version: "1.0.0"
purity: pure
signature: "detailPage(props: DetailPageProps): ReactElement"
description: "Genera una página de detalle de entidad con header (avatar, badge, back), grid de campos, tabs con contadores y timeline de actividad."
tags: [detail, page, entity, timeline, factory, composition, ui]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: [react, "@mantine/core", "@tabler/icons-react"]
params:
- name: props
desc: "Configuración de página de detalle: título, avatar, badge, tabs, timeline y campos de metadata"
output: "Componente ReactElement que renderiza página de detalle con header, grid de campos y timeline de actividad"
tested: false
tests: []
test_file_path: ""
file_path: "frontend/functions/ui/detail_page.tsx"
source_repo: "https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/Bl4cksmith/Frontend_Library"
source_license: "MIT"
source_file: ""
---
## Ejemplo
```tsx
detailPage({
title: 'John Doe',
subtitle: 'john@example.com',
badge: <Badge variant="success">Active</Badge>,
onBack: () => router.back(),
fields: [
{ label: 'Role', value: 'Administrator' },
{ label: 'Created', value: 'Mar 15, 2026' },
{ label: 'Bio', value: 'Full stack developer...', span: 2 },
],
tabs: [
{ label: 'Projects', value: 'projects', count: 12, content: <ProjectList /> },
{ label: 'Activity', value: 'activity', count: 48, content: <ActivityList /> },
],
activeTab: 'projects',
timeline: [
{ id: '1', title: 'Deployed v2.1', timestamp: '2 hours ago', variant: 'success' },
{ id: '2', title: 'Updated settings', timestamp: 'Yesterday' },
{ id: '3', title: 'Created project', timestamp: 'Mar 10, 2026' },
],
})
```
## Notas
Factory completa para páginas de detalle. Combina header con back/avatar/badge, grid de metadata, tabs con badges de conteo, y timeline de actividad con variantes de color semántico.