v2026.10.03 fix(theme-list): restore copy buttons on redesigned themes page - #101
Merged
Merged
Conversation
Shopify's themes page redesign removed the ThemeListItem class and s-internal-context-provider, and Canvas themes link to /canvas instead of /editor, so no buttons were injected. - Find items via ul[class*="ThemeList"] > li and parse the theme ID from any /themes/:id link - Put tertiary s-internal-button copy buttons on their own row below the theme actions; a hidden clone of the more-actions button keeps them under "Edit theme", dropped at 831px and below - Re-check the path on wxt:locationchange so client-side navigation to /themes injects too
The watcher ran in the background with nothing to stop it, so every wxt exit, failed Chrome launches included, left one running.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Shopify's themes page redesign broke the theme list utilities: the ID and Preview URL copy buttons stopped appearing, on page refresh and after client-side navigation.
Theme list copy buttons (
654a126)ThemeListItemclass ands-internal-context-providerthe script relied on, and Canvas themes link to/themes/:id/canvasinstead of/editor. Items are now found viaul[class*="ThemeList"] > li, and the theme ID is parsed from any/themes/:idlink.s-internal-buttons with clipboard icons, on their own row below the theme's actions. The actions row already wraps, so a full-width row drops below it without moving React's nodes.contain: inline-sizekeeps the row from widening the actions container, and a hidden, inert clone of the more-actions button lines the copy buttons up under "Edit theme". At 831px and below, where Shopify stacks the actions under the theme, the row aligns left and drops the spacer.wxt:locationchangeand starts or stops its observer to match.Dev script (
50c1be5)bun run devstarted the changelog watcher in the background with nothing to stop it, so everywxtexit (failed Chrome launches included) left one running. Atrapnow kills it on exit, and the script still exits withwxt's exit code.watch:changelogis inlined, since nothing else used it.Docs (
639c2e3)AGENTS.mdtrimmed to project-specific facts, with new notes on the Online Store iframe and on the Chrome for Testing profile version.CLAUDE.md(a one-line@AGENTS.mdimport) removed.Test plan
bun test(748 pass),typecheck,lint,format:check,svelte-checkentrypoints/theme-customizer.content/tests/theme-list.test.ts, built on markup captured from the live themes page (Canvas and editor themes, re-injection, spacer)bun run devthen Ctrl+C: the watcher,wxtand Chrome all exit