Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#456 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
javascript
Bereich
frontend

Rechercherichtung

Lies zunächst den ThemeBuilder-Ablauf und die in der Issue beschriebene Verwendung der browser.management API, und verfolge dann, wie Firefox Color Themes derzeit speichert und anwendet. Lege fest, wie statische Themes, installierte Themes und der ausgewählte Override dargestellt werden sollen, bevor du die UI- und State-Änderungen implementierst. Erledigt bedeutet, dass installierte statische Themes angezeigt, ausgewählt, gespeichert und angewendet werden können, ohne dass das Firefox Color-Theme die Kontrolle übernimmt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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
Vorherrschende Sprache
JavaScript
Sterne
506
Forks
100
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus mozilla/FirefoxColor

Alle Issues in mozilla/FirefoxColor

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.