Skip to content

Conversation

@KManolov3
Copy link
Contributor

@KManolov3 KManolov3 commented Nov 4, 2025

Resolves

https://scratchfoundation.atlassian.net/browse/UEPR-416

Proposed Changes

  • Rename "theme" to "color mode" in most places in the code to better align with its current meaning.
  • Extract a reusable component for persistent editor settings
  • Add a new theme menu, with an option for cat-blocks

Reason for Changes

As part of the membership initiative, we want to reintroduce the cat blocks theme as an optional theme for supporters of Scratch

@KManolov3 KManolov3 requested a review from a team as a code owner November 4, 2025 15:14
@KManolov3 KManolov3 marked this pull request as draft November 4, 2025 15:16
@KManolov3 KManolov3 changed the title feat: make cat-blocks a configurable theme poc: make cat-blocks a configurable theme Nov 4, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Nov 4, 2025

Test report for scratch-gui

  1 files   -   1   45 suites   - 17   46s ⏱️ - 8m 53s
295 tests  - 103  292 ✅  -  98  1 💤  - 7  2 ❌ +2 
299 runs   - 117  296 ✅  - 112  1 💤  - 7  2 ❌ +2 

For more details on these failures, see this check.

Results for commit a702b4f. ± Comparison against base commit 280cc00.

This pull request removes 116 and adds 13 tests. Note that renamed tests count towards both.
Hardware extension connection modal Message saying Scratch Link is unavailable (BLE) ‑ Hardware extension connection modal Message saying Scratch Link is unavailable (BLE)
Hardware extension connection modal Message saying Scratch Link is unavailable (BT) ‑ Hardware extension connection modal Message saying Scratch Link is unavailable (BT)
Loading scratch gui Load sb2 project with a missing svg costume ‑ Loading scratch gui Load sb2 project with a missing svg costume
Loading scratch gui Load sb2 project with an invalid svg costume ‑ Loading scratch gui Load sb2 project with an invalid svg costume
Loading scratch gui Load sb3 project with a missing bmp costume ‑ Loading scratch gui Load sb3 project with a missing bmp costume
Loading scratch gui Load sb3 project with a missing svg costume ‑ Loading scratch gui Load sb3 project with a missing svg costume
Loading scratch gui Load sb3 project with an invalid bmp costume ‑ Loading scratch gui Load sb3 project with an invalid bmp costume
Loading scratch gui Load sb3 project with an invalid svg costume ‑ Loading scratch gui Load sb3 project with an invalid svg costume
Loading scratch gui Loading project file from computer gives project the filename from file ‑ Loading scratch gui Loading project file from computer gives project the filename from file
Loading scratch gui Loading project file from computer succeeds, without opening failure alert ‑ Loading scratch gui Loading project file from computer succeeds, without opening failure alert
…
Monitor Component it selects the correct colors based on dark mode ‑ Monitor Component it selects the correct colors based on dark mode
Monitor Component it selects the correct colors based on default color mode ‑ Monitor Component it selects the correct colors based on default color mode
color modes block helpers bypasses updates if using the default color mode ‑ color modes block helpers bypasses updates if using the default color mode
color modes block helpers updates extension block colors based on color mode ‑ color modes block helpers updates extension block colors based on color mode
color modes block helpers updates extension block icon based on color mode ‑ color modes block helpers updates extension block icon based on color mode
color modes block helpers updates extension category based on color mode ‑ color modes block helpers updates extension category based on color mode
color modes color mode persistence clears color mode when matching system preferences ‑ color modes color mode persistence clears color mode when matching system preferences
color modes color mode persistence persists color mode to cookie ‑ color modes color mode persistence persists color mode to cookie
color modes color mode persistence returns the color mode stored in a cookie ‑ color modes color mode persistence returns the color mode stored in a cookie
color modes color mode persistence returns the system color mode when no cookie ‑ color modes color mode persistence returns the system color mode when no cookie
…

♻️ This comment has been updated with latest results.

Copy link
Contributor

@adzhindzhi adzhindzhi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great start! It does raise some UX questions, such as how we would toggle this on/off, where it would live in the UI, and whether we'd want to use it along with the high contrast theme (likely yes), etc. But that's not something we need to figure out now.

@KManolov3 KManolov3 changed the title poc: make cat-blocks a configurable theme feat: make cat-blocks a configurable theme Nov 18, 2025
@KManolov3 KManolov3 changed the title feat: make cat-blocks a configurable theme feat: support cat-blocks as an optional theme Nov 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants