feat(admin): migrar navegación de tabs a cards agrupados
- Implementar sistema de grupos de componentes tipo "carpetas de apps" - Crear ComponentGroupRegistry para gestionar grupos y componentes - Añadir vista home con grupos: Header, Contenido, CTAs, Engagement, Forms, Config - Rediseñar UI con Design System: header navy, cards blancos, mini-cards verticales - Incluir animaciones fadeInUp escalonadas y efectos hover con glow - Mantener navegación a vistas de componentes individuales 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -18,10 +18,12 @@ final class AdminDashboardRenderer implements DashboardRendererInterface
|
||||
|
||||
/**
|
||||
* @param GetComponentSettingsUseCase|null $getComponentSettingsUseCase
|
||||
* @param ComponentGroupRegistry|null $groupRegistry Registro de grupos de componentes
|
||||
* @param array<string, mixed> $components Componentes disponibles
|
||||
*/
|
||||
public function __construct(
|
||||
private readonly ?GetComponentSettingsUseCase $getComponentSettingsUseCase = null,
|
||||
private readonly ?ComponentGroupRegistry $groupRegistry = null,
|
||||
private readonly array $components = []
|
||||
) {
|
||||
}
|
||||
@@ -167,4 +169,33 @@ final class AdminDashboardRenderer implements DashboardRendererInterface
|
||||
return "ROITheme\\Admin\\{$className}\\Infrastructure\\Ui\\{$className}FormBuilder";
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene los grupos de componentes
|
||||
*
|
||||
* @return array<string, array<string, mixed>>
|
||||
*/
|
||||
public function getComponentGroups(): array
|
||||
{
|
||||
if ($this->groupRegistry === null) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return $this->groupRegistry->getGroups();
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el grupo al que pertenece un componente
|
||||
*
|
||||
* @param string $componentId ID del componente
|
||||
* @return string|null ID del grupo o null
|
||||
*/
|
||||
public function getGroupForComponent(string $componentId): ?string
|
||||
{
|
||||
if ($this->groupRegistry === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->groupRegistry->getGroupForComponent($componentId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user