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

Add static/classic/amo/installed (whatever they're called) themes

Abierto
#456 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
frontend

Línea de trabajo

Empieza leyendo el flujo de ThemeBuilder y el uso de la browser.management API descrito en la issue; después, sigue cómo Firefox Color almacena y aplica actualmente los temas. Define cómo deben representarse los temas estáticos, los temas instalados y el override seleccionado antes de implementar los cambios de UI y de estado. Se considera terminado cuando los temas estáticos instalados se pueden mostrar, seleccionar, persistir y aplicar sin que el tema de Firefox Color tome el control.

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

Descripción

Priority: p3

So this comes out of a discussion with the add-ons team, and the idea was that we might collaborate on this issue as a changing of the guard, so to speak. I was noodling around with this the other day, but didn't get very far...here's what i was thinking...certainly open to better suggestions:

  1. Use browser.management api to get all installed themes from the user and track which one they have enabled.
  2. Create a new set of redux actions called statics that can manage the state of static themes. I think we'd need to keep a list of installed static themes, a boolean to track if a static theme should override a ff color theme, and a pointer to user's selected static theme. something like
statics.id: // id of last selected static theme
statics.isActive: // boolean if a static theme should override an FF color API theme
statics.list // list of all static themes the user has installed
  1. On the UI side, create a new panel in the ThemeBuilder that renders all the user's static themes. Something like PaginatedStaticPicker.
  2. There are up to six themes that come from Firefox and do not exist in AMO, these are default, dark, compact light, a stripey pastel theme, the browser renaissance theme, and an outer space theme. For each of these we make representations using our theming JSON schema. For AMO themes, we can do a fetch of the BG image of each using the theme id and use that to make a representation of each AMO Theme.
  3. When a user clicks on one of these themes, we update the app state and override the selected FF color theme. We also pass back a message to browser.management to update to the selected static theme.
  4. Next time FF color starts up, it checks to see if statics.isActive is true before taking over and re-theming based on the current FF color theme state
Lenguaje dominante
JavaScript
Estrellas
506
Forks
100
Métricas de merge de PR
Sin PR fusionados en 30 d

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 mozilla/FirefoxColor

Todos los issues de mozilla/FirefoxColor

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.