Backup pre-corrección namespaces: mejoras schemas y componentes

Cambios incluidos:
- Actualización de copy/textos en 7 schemas JSON
- Mejoras en AdminAjaxHandler con mapeos adicionales
- Refactorización de FormBuilders y Renderers
- Correcciones en dashboard admin JS
- Nuevo ContactFormRenderer funcional

NOTA: Este commit sirve como respaldo antes de corregir
inconsistencias de case en namespaces (API→Api, WordPress→Wordpress)

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-26 17:59:01 -06:00
parent 0846a3bf03
commit 4c807e1cf2
26 changed files with 717 additions and 79 deletions

View File

@@ -591,6 +591,109 @@ final class AdminAjaxHandler
'contactFormButtonPadding' => ['group' => 'visual_effects', 'attribute' => 'button_padding'],
'contactFormTransitionDuration' => ['group' => 'visual_effects', 'attribute' => 'transition_duration'],
'contactFormTextareaRows' => ['group' => 'visual_effects', 'attribute' => 'textarea_rows'],
// =====================================================
// CTA BOX SIDEBAR
// =====================================================
// Visibility
'ctaEnabled' => ['group' => 'visibility', 'attribute' => 'is_enabled'],
'ctaShowOnDesktop' => ['group' => 'visibility', 'attribute' => 'show_on_desktop'],
'ctaShowOnMobile' => ['group' => 'visibility', 'attribute' => 'show_on_mobile'],
'ctaShowOnPages' => ['group' => 'visibility', 'attribute' => 'show_on_pages'],
// Content
'ctaTitle' => ['group' => 'content', 'attribute' => 'title'],
'ctaDescription' => ['group' => 'content', 'attribute' => 'description'],
'ctaButtonText' => ['group' => 'content', 'attribute' => 'button_text'],
'ctaButtonIcon' => ['group' => 'content', 'attribute' => 'button_icon'],
'ctaButtonAction' => ['group' => 'content', 'attribute' => 'button_action'],
'ctaButtonLink' => ['group' => 'content', 'attribute' => 'button_link'],
// Behavior
'ctaTextAlign' => ['group' => 'behavior', 'attribute' => 'text_align'],
// Typography
'ctaTitleFontSize' => ['group' => 'typography', 'attribute' => 'title_font_size'],
'ctaTitleFontWeight' => ['group' => 'typography', 'attribute' => 'title_font_weight'],
'ctaDescFontSize' => ['group' => 'typography', 'attribute' => 'description_font_size'],
'ctaButtonFontSize' => ['group' => 'typography', 'attribute' => 'button_font_size'],
'ctaButtonFontWeight' => ['group' => 'typography', 'attribute' => 'button_font_weight'],
// Colors
'ctaBackgroundColor' => ['group' => 'colors', 'attribute' => 'background_color'],
'ctaTitleColor' => ['group' => 'colors', 'attribute' => 'title_color'],
'ctaDescriptionColor' => ['group' => 'colors', 'attribute' => 'description_color'],
'ctaButtonBgColor' => ['group' => 'colors', 'attribute' => 'button_background_color'],
'ctaButtonTextColor' => ['group' => 'colors', 'attribute' => 'button_text_color'],
'ctaButtonHoverBg' => ['group' => 'colors', 'attribute' => 'button_hover_background'],
'ctaButtonHoverText' => ['group' => 'colors', 'attribute' => 'button_hover_text_color'],
// Spacing
'ctaContainerPadding' => ['group' => 'spacing', 'attribute' => 'container_padding'],
'ctaTitleMarginBottom' => ['group' => 'spacing', 'attribute' => 'title_margin_bottom'],
'ctaDescMarginBottom' => ['group' => 'spacing', 'attribute' => 'description_margin_bottom'],
'ctaButtonPadding' => ['group' => 'spacing', 'attribute' => 'button_padding'],
'ctaIconMarginRight' => ['group' => 'spacing', 'attribute' => 'icon_margin_right'],
// Visual Effects
'ctaBorderRadius' => ['group' => 'visual_effects', 'attribute' => 'border_radius'],
'ctaButtonBorderRadius' => ['group' => 'visual_effects', 'attribute' => 'button_border_radius'],
'ctaBoxShadow' => ['group' => 'visual_effects', 'attribute' => 'box_shadow'],
'ctaTransitionDuration' => ['group' => 'visual_effects', 'attribute' => 'transition_duration'],
// =====================================================
// FOOTER
// =====================================================
// Visibility
'footerEnabled' => ['group' => 'visibility', 'attribute' => 'is_enabled'],
'footerShowOnDesktop' => ['group' => 'visibility', 'attribute' => 'show_on_desktop'],
'footerShowOnMobile' => ['group' => 'visibility', 'attribute' => 'show_on_mobile'],
// Widget 1
'footerWidget1Visible' => ['group' => 'widget_1', 'attribute' => 'widget_1_visible'],
'footerWidget1Title' => ['group' => 'widget_1', 'attribute' => 'widget_1_title'],
// Widget 2
'footerWidget2Visible' => ['group' => 'widget_2', 'attribute' => 'widget_2_visible'],
'footerWidget2Title' => ['group' => 'widget_2', 'attribute' => 'widget_2_title'],
// Widget 3
'footerWidget3Visible' => ['group' => 'widget_3', 'attribute' => 'widget_3_visible'],
'footerWidget3Title' => ['group' => 'widget_3', 'attribute' => 'widget_3_title'],
// Newsletter
'footerNewsletterVisible' => ['group' => 'newsletter', 'attribute' => 'newsletter_visible'],
'footerNewsletterTitle' => ['group' => 'newsletter', 'attribute' => 'newsletter_title'],
'footerNewsletterDescription' => ['group' => 'newsletter', 'attribute' => 'newsletter_description'],
'footerNewsletterPlaceholder' => ['group' => 'newsletter', 'attribute' => 'newsletter_email_placeholder'],
'footerNewsletterButtonText' => ['group' => 'newsletter', 'attribute' => 'newsletter_button_text'],
'footerNewsletterWebhookUrl' => ['group' => 'newsletter', 'attribute' => 'newsletter_webhook_url'],
'footerNewsletterSuccessMessage' => ['group' => 'newsletter', 'attribute' => 'newsletter_success_message'],
'footerNewsletterErrorMessage' => ['group' => 'newsletter', 'attribute' => 'newsletter_error_message'],
// Footer Bottom
'footerCopyrightText' => ['group' => 'footer_bottom', 'attribute' => 'copyright_text'],
// Colors
'footerBgColor' => ['group' => 'colors', 'attribute' => 'bg_color'],
'footerTextColor' => ['group' => 'colors', 'attribute' => 'text_color'],
'footerTitleColor' => ['group' => 'colors', 'attribute' => 'title_color'],
'footerLinkColor' => ['group' => 'colors', 'attribute' => 'link_color'],
'footerLinkHoverColor' => ['group' => 'colors', 'attribute' => 'link_hover_color'],
'footerButtonBgColor' => ['group' => 'colors', 'attribute' => 'button_bg_color'],
'footerButtonTextColor' => ['group' => 'colors', 'attribute' => 'button_text_color'],
'footerButtonHoverBg' => ['group' => 'colors', 'attribute' => 'button_hover_bg'],
// Spacing
'footerPaddingY' => ['group' => 'spacing', 'attribute' => 'padding_y'],
'footerMarginTop' => ['group' => 'spacing', 'attribute' => 'margin_top'],
// Visual Effects
'footerInputBorderRadius' => ['group' => 'visual_effects', 'attribute' => 'input_border_radius'],
'footerButtonBorderRadius' => ['group' => 'visual_effects', 'attribute' => 'button_border_radius'],
'footerTransitionDuration' => ['group' => 'visual_effects', 'attribute' => 'transition_duration'],
];
}
}