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

@@ -9,9 +9,10 @@ use ROITheme\Admin\Infrastructure\Ui\AdminDashboardRenderer;
* FormBuilder para Theme Settings
*
* RESPONSABILIDAD: Generar formulario de configuraciones globales del tema
* (codigo personalizado - CSS y JavaScript)
* (JavaScript personalizado)
*
* NOTA: Analytics y AdSense se gestionan desde el componente adsense-placement
* NOTA: CSS personalizado se gestiona desde CustomCSSManager (TIPO 3)
* Analytics y AdSense se gestionan desde el componente adsense-placement
*
* @package ROITheme\Admin\ThemeSettings\Infrastructure\Ui
*/
@@ -27,22 +28,11 @@ final class ThemeSettingsFormBuilder
$html .= $this->buildHeader($componentId);
// Layout Group (nueva seccion)
// Layout Group
$html .= $this->buildLayoutGroup($componentId);
$html .= '<div class="row g-3">';
// Columna izquierda - CSS
$html .= '<div class="col-lg-6">';
$html .= $this->buildCssGroup($componentId);
$html .= '</div>';
// Columna derecha - JavaScript
$html .= '<div class="col-lg-6">';
// JavaScript Personalizado (solo 1 card)
$html .= $this->buildJsGroup($componentId);
$html .= '</div>';
$html .= '</div>';
return $html;
}
@@ -139,7 +129,7 @@ final class ThemeSettingsFormBuilder
$html .= ' Configuraciones Globales del Tema';
$html .= ' </h3>';
$html .= ' <p class="mb-0 small" style="opacity: 0.85;">';
$html .= ' Codigo Personalizado (CSS y JavaScript)';
$html .= ' Layout y JavaScript Personalizado';
$html .= ' </p>';
$html .= ' </div>';
$html .= ' <button type="button" class="btn btn-sm btn-outline-light btn-reset-defaults" data-component="theme-settings">';
@@ -152,35 +142,6 @@ final class ThemeSettingsFormBuilder
return $html;
}
private function buildCssGroup(string $componentId): string
{
$html = '<div class="card shadow-sm mb-3" style="border-left: 4px solid #1e3a5f;">';
$html .= ' <div class="card-body">';
$html .= ' <h5 class="fw-bold mb-3" style="color: #1e3a5f;">';
$html .= ' <i class="bi bi-filetype-css me-2" style="color: #FF8600;"></i>';
$html .= ' CSS Personalizado';
$html .= ' </h5>';
$customCss = $this->renderer->getFieldValue($componentId, 'custom_code', 'custom_css', '');
$html .= $this->buildTextareaCode(
'themeSettingsCustomCss',
'Estilos CSS',
$customCss,
'Se inyecta en wp_head. No incluir etiquetas &lt;style&gt;',
10
);
$html .= ' <div class="alert alert-info small mb-0 mt-2">';
$html .= ' <i class="bi bi-info-circle me-1"></i>';
$html .= ' El CSS se carga despues de los estilos del tema.';
$html .= ' </div>';
$html .= ' </div>';
$html .= '</div>';
return $html;
}
private function buildJsGroup(string $componentId): string
{
$html = '<div class="card shadow-sm mb-3" style="border-left: 4px solid #1e3a5f;">';