White-Label / Branding ======================== NoxPanel soporta personalización completa de marca (white-label) por tenant, permitiendo que cada organización tenga su propio branding en el panel. Funcionalidades ----------------- - Nombre de marca personalizado (reemplaza "NoxPanel" en todo el UI) - Logo y favicon personalizados via URL - Colores del tema: primario, secundario, sidebar fondo, sidebar texto - CSS personalizado inyectado globalmente - Footer con texto y URL personalizados - Configuración de email remitente (nombre y dirección) - Dominio de panel personalizado - Toggle de activación/desactivación Cómo Funciona ---------------- 1. El modelo ``WhiteLabelConfig`` almacena la configuración por tenant (relación OneToOne con ``HostingTenant``). 2. El context processor ``hosting.context_processors.whitelabel_context`` carga la configuración activa del tenant del usuario en cada petición. 3. ``base.html`` inyecta los estilos CSS personalizados cuando ``whitelabel.is_active`` es ``True``: - Variables CSS (``--brand-400`` a ``--brand-700``) - Color de fondo y texto del sidebar - CSS personalizado (campo ``custom_css``) - Logo, favicon, nombre de marca, footer 4. La página de configuración (``/hosting/whitelabel/``) incluye una vista previa en vivo que se actualiza al cambiar los colores. Campos del Modelo ------------------ .. list-table:: :header-rows: 1 :widths: 25 15 60 * - Campo - Tipo - Descripción * - ``brand_name`` - CharField - Nombre de la marca (default: "NoxPanel") * - ``logo_url`` - URLField - URL del logo de la marca * - ``favicon_url`` - URLField - URL del favicon * - ``primary_color`` - CharField - Color principal en hex (default: #4F46E5) * - ``secondary_color`` - CharField - Color secundario en hex (default: #10B981) * - ``sidebar_bg_color`` - CharField - Color de fondo del sidebar (default: #1e1e2e) * - ``sidebar_text_color`` - CharField - Color de texto del sidebar (default: #cdd6f4) * - ``custom_css`` - TextField - CSS personalizado inyectado globalmente * - ``footer_text`` - CharField - Texto del footer * - ``footer_url`` - URLField - URL del footer (enlace) * - ``email_from_name`` - CharField - Nombre del remitente de emails * - ``email_from_address`` - EmailField - Dirección de email del remitente * - ``custom_panel_domain`` - CharField - Dominio personalizado del panel * - ``is_active`` - BooleanField - Activa/desactiva el branding personalizado Acceso ------- La configuración de white-label está disponible para superusuarios en: **Sidebar** → Administración → White-Label **URL**: ``/hosting/whitelabel/``