feat(ui): mejorar la estructura y composición de RdxPageContent en patrones y sistema UI
This commit is contained in:
parent
9f303819b3
commit
c6de77897d
@ -68,9 +68,22 @@ AppMain
|
|||||||
├── content
|
├── content
|
||||||
│ └── RdxPageContainer
|
│ └── RdxPageContainer
|
||||||
│ └── RdxPageContent
|
│ └── RdxPageContent
|
||||||
└── footer opcional
|
└── footer opcional
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
RdxPageFrame
|
||||||
|
→ estructura y scroll
|
||||||
|
|
||||||
|
RdxPageContainer
|
||||||
|
→ ancho y padding
|
||||||
|
|
||||||
|
RdxPageContent
|
||||||
|
→ composición de los hijos principales
|
||||||
|
```
|
||||||
|
|
||||||
|
Regla: Las Pages no deben reconstruir estas responsabilidades con wrappers HTML locales.
|
||||||
|
|
||||||
## 6. Identity y sesión
|
## 6. Identity y sesión
|
||||||
|
|
||||||
El runtime actual se compone en `apps/web/src/app.tsx`:
|
El runtime actual se compone en `apps/web/src/app.tsx`:
|
||||||
|
|||||||
@ -36,18 +36,20 @@ El controller de página concentra URL, filtros, consulta, estados y navegación
|
|||||||
|
|
||||||
```tsx
|
```tsx
|
||||||
<RdxPageFrame
|
<RdxPageFrame
|
||||||
header={<RdxEditorHeader title={title} onBack={onBack} />}
|
header={<RdxEditorHeader />}
|
||||||
footer={<RdxEditorActionBar secondary={cancel} primary={submit} />}
|
footer={<RdxEditorActionBar />}
|
||||||
>
|
>
|
||||||
<RdxPageContainer width="content">
|
<RdxPageContainer width="content">
|
||||||
<RdxPageContent aside={aside}>
|
<RdxPageContent>
|
||||||
{notice}
|
{pageError ? <ErrorAlert /> : null}
|
||||||
<RdxPanel title={sectionTitle}>{fields}</RdxPanel>
|
<Editor />
|
||||||
</RdxPageContent>
|
</RdxPageContent>
|
||||||
</RdxPageContainer>
|
</RdxPageContainer>
|
||||||
</RdxPageFrame>
|
</RdxPageFrame>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Los errores inline no definen su propio spacing estructural. Participan del spacing estándar de RdxPageContent igual que el resto de hijos principales.
|
||||||
|
|
||||||
Footer y aside son opcionales. `content` es adecuado para formularios focalizados; `full` para editores documentales amplios. Create y Update deben compartir geometría cuando solo cambian defaults, submit o navegación.
|
Footer y aside son opcionales. `content` es adecuado para formularios focalizados; `full` para editores documentales amplios. Create y Update deben compartir geometría cuando solo cambian defaults, submit o navegación.
|
||||||
|
|
||||||
Loading y error bloqueante usan también `RdxPageFrame` y `RdxPageContainer`; no reconstruyen el viewport.
|
Loading y error bloqueante usan también `RdxPageFrame` y `RdxPageContainer`; no reconstruyen el viewport.
|
||||||
|
|||||||
@ -144,6 +144,21 @@ Excepción: un detalle documental puede configurar el contenido del frame con `o
|
|||||||
- Tablas y editores de líneas conservan su layout funcional.
|
- Tablas y editores de líneas conservan su layout funcional.
|
||||||
- Evitar card dentro de card y sombras acumuladas.
|
- Evitar card dentro de card y sombras acumuladas.
|
||||||
|
|
||||||
|
### Composición del contenido principal
|
||||||
|
|
||||||
|
`RdxPageContent` es el compositor estructural de los hijos principales de una página.
|
||||||
|
|
||||||
|
Los avisos, errores inline, secciones y contenido funcional deben ser hijos directos cuando pertenezcan al mismo nivel visual.
|
||||||
|
`RdxPanel` no es un wrapper genérico. Se usa únicamente cuando existe una sección con identidad visual o semántica propia.
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
<RdxPageContent>
|
||||||
|
{error ? <ErrorAlert /> : null}
|
||||||
|
<Editor />
|
||||||
|
</RdxPageContent>
|
||||||
|
```
|
||||||
|
No deben introducirse wrappers adicionales únicamente para controlar gap, ancho, padding o centrado.
|
||||||
|
|
||||||
## 8. Responsive y accesibilidad
|
## 8. Responsive y accesibilidad
|
||||||
|
|
||||||
- Las columnas se apilan antes de producir overflow horizontal.
|
- Las columnas se apilan antes de producir overflow horizontal.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user