Add static/classic/amo/installed (whatever they're called) themes
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
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:
- Use
browser.managementapi to get all installed themes from the user and track which one they have enabled. - Create a new set of redux actions called
staticsthat 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
- On the UI side, create a new panel in the
ThemeBuilderthat renders all the user's static themes. Something likePaginatedStaticPicker. - 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.
- 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.
- Next time FF color starts up, it checks to see if
statics.isActiveis 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
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus mozilla/FirefoxColor
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
mozilla/FirefoxColor#1081 · 1 Kommentar ·
-
does not see browserOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
mozilla/FirefoxColor#1087 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
mozilla/FirefoxColor#1085 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
mozilla/FirefoxColor#1084 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
mozilla/FirefoxColor#1083 · 1 Reaktion ·
Alle Issues in mozilla/FirefoxColor
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
parse-community/parse-server#10699 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: dashboard bug perceived difficulty: 3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Nitjsefnie-Harness-Commons/daedalus#1179 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Aframe enhancement javascript
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
webarkit/Aframe-nft#17 ·
-
spec-feedback
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100