feat(visibility): añadir opción "Ocultar para usuarios logueados" (Plan 99.16)
- Crear UserVisibilityHelper centralizado en Shared/Infrastructure/Services - Añadir campo hide_for_logged_in en schemas de 4 componentes - Integrar validación en Renderers: TopBar, LetsTalk, CTASidebar, CTAPost - Añadir checkbox UI en FormBuilders de los 4 componentes - Refactorizar adsense-placement.php para usar el helper centralizado - Deprecar función roi_should_hide_for_logged_in() (backwards compatible) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ use ROITheme\Shared\Domain\Contracts\RendererInterface;
|
||||
use ROITheme\Shared\Domain\Contracts\CSSGeneratorInterface;
|
||||
use ROITheme\Shared\Domain\Entities\Component;
|
||||
use ROITheme\Shared\Infrastructure\Services\PageVisibilityHelper;
|
||||
use ROITheme\Shared\Infrastructure\Services\UserVisibilityHelper;
|
||||
|
||||
/**
|
||||
* CtaPostRenderer - Renderiza CTA promocional debajo del contenido
|
||||
@@ -41,6 +42,11 @@ final class CtaPostRenderer implements RendererInterface
|
||||
return '';
|
||||
}
|
||||
|
||||
// Validar visibilidad por usuario logueado
|
||||
if (!UserVisibilityHelper::shouldShowForUser($data['visibility'] ?? [])) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$css = $this->generateCSS($data);
|
||||
$html = $this->buildHTML($data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user