refactor(theme-settings): remove CSS card, CSS now managed by CustomCSSManager

- Remove custom_css field from schema (v1.4.0 → v1.5.0)
- Remove buildCssGroup() from FormBuilder
- Remove renderCustomCSS() from Renderer
- Update layout: single JS card instead of 2-column layout
- Update descriptions to reference CustomCSSManager (TIPO 3)

CSS personalizado ahora se gestiona exclusivamente desde el
componente CustomCSSManager, eliminando duplicidad funcional.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-12-01 16:43:12 -06:00
parent 625d99d698
commit e1923b630d
3 changed files with 13 additions and 87 deletions

View File

@@ -13,11 +13,11 @@ use ROITheme\Shared\Domain\Entities\Component;
* A diferencia de otros componentes, no renderiza HTML visual
* sino que genera codigo para inyectar en wp_head y wp_footer.
*
* NOTA: Este es un componente especial que solo maneja codigo personalizado.
* NOTA: CSS personalizado se gestiona desde CustomCSSManager (TIPO 3).
* Analytics y AdSense se gestionan desde el componente adsense-placement.
*
* Responsabilidades:
* - Generar CSS personalizado
* - Generar Layout CSS (container width)
* - Generar JavaScript para header
* - Generar JavaScript para footer
*
@@ -51,9 +51,10 @@ final class ThemeSettingsRenderer implements RendererInterface
*
* Incluye:
* - Layout CSS (container width)
* - Custom CSS (si configurado)
* - Custom JS Header (si configurado)
*
* NOTA: CSS personalizado se gestiona desde CustomCSSManager (TIPO 3)
*
* @param array $data Datos del componente desde BD
* @return string Contenido para wp_head
*/
@@ -67,12 +68,6 @@ final class ThemeSettingsRenderer implements RendererInterface
$output .= $layoutOutput . "\n";
}
// Custom CSS
$cssOutput = $this->renderCustomCSS($data);
if (!empty($cssOutput)) {
$output .= $cssOutput . "\n";
}
// Custom JS Header
$jsHeaderOutput = $this->renderCustomJSHeader($data);
if (!empty($jsHeaderOutput)) {
@@ -149,29 +144,6 @@ final class ThemeSettingsRenderer implements RendererInterface
return $this->renderCustomJSFooter($data);
}
/**
* Genera el CSS personalizado
*
* @param array $data Datos del componente
* @return string Bloque style o vacio si no hay CSS
*/
private function renderCustomCSS(array $data): string
{
$css = trim($data['custom_code']['custom_css'] ?? '');
if (empty($css)) {
return '';
}
return sprintf(
'<!-- Custom CSS (ROI Theme) -->
<style id="roi-theme-custom-css">
%s
</style>',
$css // No escapar CSS - usuario avanzado responsable
);
}
/**
* Genera el JavaScript personalizado para header
*