Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Allow setting Dark Palette as default initial state in Palette Switcher

Abierto
#4,613 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
52/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
php
Área
frontend

Línea de trabajo

Comienza siguiendo la configuración del componente Palette Switcher en el Customizer y el filtro neve_default_color_palette; después, inspecciona cómo están conectados el estado de la primera visita, el almacenamiento local y el manejo de prefers-color-scheme. Se considera terminado cuando un valor predeterminado Light/Base o Dark configurado solo se aplica cuando no hay ninguna preferencia almacenada, mientras que el cambio, la persistencia y el mapeo semántico adaptado al sistema operativo siguen siendo correctos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

customer report feature-request-triage

Impact: 70 · Confidence: 90 · Complexity: 50

Description

Problem: Currently, the Palette Switcher component in Neve always defaults to the 'Base Palette' (Light) for first-time visitors when 'Automatically adjust color scheme' is disabled. Site owners who want a dark-themed site by default are forced to swap color definitions between Base and Dark palettes, which breaks semantic OS-aware color scheme detection (prefers-color-scheme) and accessibility expectations.

Desired Behavior: Provide an option in the Palette Switcher component settings (and/or a PHP filter) to define which palette (Base/Light or Dark) serves as the default state for first-time visitors before any preference is stored in local storage, while retaining correct semantic mapping when OS-aware detection is active or when the user toggles modes.

Acceptance Criteria:

  • Add a setting in the Customizer Palette Switcher component (or PHP filter neve_default_color_palette) to specify the default initial palette (Light/Base vs Dark).
  • First-time visitors without a stored palette choice receive the configured default palette.
  • Palette Switcher toggling, local storage persistence, and OS-aware logic continue to work correctly with their respective semantic light/dark designations.

Customer Context

The customer is a WordPress developer on Neve Pro (Business plan) who redesigned their site with a dark theme as the primary design. They want new visitors to see the Dark Palette on first load, but cannot swap colors between Base and Dark palettes because doing so inverts OS-aware logic (prefers-color-scheme) for visitors with native Light OS settings.

Root Cause Analysis

The root cause is that Neve's Palette Switcher hardcodes the 'Base Palette' (Light) as the default fallback for unvisited sessions when automatic OS detection is disabled or unsupported. Site owners who design dark-first websites cannot configure the initial default palette to be Dark without swapping palette color definitions, which degrades accessibility and breaks semantic OS-aware preference detection.

Reasoning

The customer (a Pro WordPress developer on a Business plan) needs to set the Dark Palette as the initial default palette for first-time visitors without breaking the semantically correct Light/Dark roles or OS-aware logic (prefers-color-scheme). Currently, Neve hardcodes the 'Base Palette' (Light) as the default first-visit state when automatic OS adjustment is disabled. Swapping colors in the Customizer is an invalid workaround because it breaks accessibility and OS-aware detection. Allowing site owners to select which palette serves as the initial default (Base/Light vs Dark) or providing a filter to set initial palette state is a legitimate net-new capability.


Source: HelpScout #3439746979
Generated by feature-request-triage workflow (ID: feature-request-triage_6a9953537c3006.83729601)

Lenguaje dominante
PHP
Estrellas
307
Forks
88
Merge medio
1 d 23 h
PR fusionados (30 d)
14

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Codeinwp/neve

Todos los issues de Codeinwp/neve

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.