From 929d35f17f3af9d871327e1352c54572895c16c3 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Wed, 30 Sep 2026 23:54:44 +0000 Subject: [PATCH 1/3] Research Gallery: the language menu in the phone bar and at the bottom of the rail The gallery fills the tab layout's two new slots (the end of the phone bar, and the bottom of the desktop rail) with the shared ShellLanguageMenu, showing the language in effect. The menu first asks the host with a cancelable doxa-language-request. A host that takes it changes the language itself and sets `language`. Otherwise the gallery switches on its own, and that pick holds over a `language` the host never updates, until the host changes it. A saved choice never outranks the host page's own language. EMBED.md shows the listener. --- plugin-designs/doxa-maps-spa/EMBED.md | 24 +++++++++- .../doxa-maps-spa/doxa-maps-spa.vue | 47 ++++++++++++++----- 2 files changed, 59 insertions(+), 12 deletions(-) diff --git a/plugin-designs/doxa-maps-spa/EMBED.md b/plugin-designs/doxa-maps-spa/EMBED.md index ad4e6251e..0c396a0b1 100644 --- a/plugin-designs/doxa-maps-spa/EMBED.md +++ b/plugin-designs/doxa-maps-spa/EMBED.md @@ -13,7 +13,7 @@ tab rail nests every production map. It is built to drop onto somebody else's pa |---|---|---| | **Paste** | two lines: ` + - + \n\n\n" + "script": "\n\n\n" }, "instances": [ { diff --git a/public/dx-maps/manifest.json b/public/dx-maps/manifest.json index f91a87fd0..316cc6fbf 100644 --- a/public/dx-maps/manifest.json +++ b/public/dx-maps/manifest.json @@ -361,7 +361,7 @@ "bundle": "doxa-maps-spa", "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js", - "integrity": "sha384-eMJnHI1Ed2HY5E2Zx0NpfPeu0upkZUhFg8sffdCZbsz9UP+rnWwQEtSTolFHcQxu", + "integrity": "sha384-jJHY8JXkPZd8UQz7gDBNE4n+LX+DsK5MgcafqLChgSL5e1AUz+YaItO8LOX19VzO", "elements": [ "doxa-maps-spa" ], @@ -391,7 +391,7 @@ "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" }, "instances": [ { From 592397194678648cfa733352cef34d3af6baa264 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Thu, 1 Oct 2026 10:34:51 +0000 Subject: [PATCH 3/3] Embed guide: the Nuxt form of the language listener, and carrying the open tab across a locale route --- plugin-designs/doxa-maps-spa/EMBED.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugin-designs/doxa-maps-spa/EMBED.md b/plugin-designs/doxa-maps-spa/EMBED.md index 0c396a0b1..243b00008 100644 --- a/plugin-designs/doxa-maps-spa/EMBED.md +++ b/plugin-designs/doxa-maps-spa/EMBED.md @@ -97,6 +97,10 @@ a cancelable `doxa-language-request` event (it bubbles and crosses shadow roots) }) ``` + On Nuxt with @nuxtjs/i18n that call is `navigateTo(switchLocalePath(e.detail.language))`; + switchLocalePath already keeps the query and hash. If a new locale route re-mounts the page, carry the + open tab across: keep the id from `tab-change` (`e.detail[0].id`) in `?tab=`, which the gallery reads. + - **You do nothing:** the gallery switches itself. The reader's pick then holds even over a `language` you passed, until you change that attribute again. The gallery never writes your page's URL.