diff --git a/.forgejo/workflows/deploy_hosted.yml b/.forgejo/workflows/deploy_hosted.yml
index f945a6b3f..80347594c 100644
--- a/.forgejo/workflows/deploy_hosted.yml
+++ b/.forgejo/workflows/deploy_hosted.yml
@@ -1,4 +1,5 @@
on:
+ workflow_dispatch:
push:
branches-ignore:
- build/*
@@ -52,27 +53,35 @@ jobs:
- name: Zipping dist file
run: |
- mv dist /tmp/${{ github.ref_name }}
+ BRANCH=$(echo ${{ github.ref_name }} | sed 's/\//-/g')
+ mv dist /tmp/${BRANCH}
cd /tmp
- zip ${{ github.ref_name }}.zip -r ${{ github.ref_name }}/*
+ zip ${BRANCH}.zip -r ${BRANCH}/*
cd -
- name: uploading file
- run: scp /tmp/${{ github.ref_name }}.zip hetzner:/root/staging/
+ run: |
+ BRANCH=$(echo ${{ github.ref_name }} | sed 's/\//-/g')
+ scp /tmp/${BRANCH}.zip hetzner:/root/staging/
- name: cleanup files
- run: rm /tmp/${{ github.ref_name }}.zip && rm -rf /tmp/${{ github.ref_name }}/
+ run: |
+ BRANCH=$(echo ${{ github.ref_name }} | sed 's/\//-/g')
+ rm /tmp/${BRANCH}.zip && rm -rf /tmp/${BRANCH}/
- name: unzipping remote file
- run: ssh hetzner "cd /root/staging && rm -rf ${{ github.ref_name }} && unzip ${{ github.ref_name }}.zip && rm -rf /root/public/${{ github.ref_name }} && mv /root/staging/${{ github.ref_name }}/ /root/public/ && rm ${{ github.ref_name }}.zip"
+ run: |
+ BRANCH=$(echo ${{ github.ref_name }} | sed 's/\//-/g')
+ ssh hetzner "cd /root/staging && rm -rf ${BRANCH} && unzip ${BRANCH}.zip && rm -rf /root/public/${BRANCH} && mv /root/staging/${BRANCH}/ /root/public/ && rm ${BRANCH}.zip"
- name: Comment on the PR
run: |
+ BRANCH=$(echo ${{ github.ref_name }} | sed 's/\//-/g')
PR_NUMBER=$(echo ${{ github.event.pull_request.number || github.event.issue.number }})
if [[ -n "$PR_NUMBER" ]]
then
echo "Found a pull request or issue number, will post to $PR_NUMBER ..."
- MSG=$(echo "Congratulations! This PR been successfully built and has been deployed. It is (temporarily) available on https://builds.mapcomplete.org/${PR_NUMBER}")
+ MSG=$(echo "Congratulations! This PR been successfully built and has been deployed. It is (temporarily) available on https://builds.mapcomplete.org/${BRANCH}")
BODY="{\"body\": \"$MSG\"}"
# Token must have following permissions: issue > read and write
curl -X POST "https://source.mapcomplete.org/api/v1/repos/${GITHUB_REPOSITORY}/issues/${PR_NUMBER}/comments" \
diff --git a/package-lock.json b/package-lock.json
index 5a58d8d00..ffaf6cd84 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -82,6 +82,7 @@
"showdown": "^2.1.0",
"svelte": "^3.59.2",
"svg-path-parser": "^1.1.0",
+ "tag2link": "^2025.3.21",
"tailwind-merge": "^1.14.0",
"tailwindcss": "^3.4.17",
"ts-node": "^10.9.2",
@@ -26392,6 +26393,12 @@
"version": "3.2.4",
"license": "MIT"
},
+ "node_modules/tag2link": {
+ "version": "2025.3.21",
+ "resolved": "https://registry.npmjs.org/tag2link/-/tag2link-2025.3.21.tgz",
+ "integrity": "sha512-JvRTQdY/z0vAEFUzL7rhLndNiDnStlurW+1jgXL5FW+GppR2T/dq2lXMEppbFNxJ9C4h5b+ykjcMPH791YeLdA==",
+ "license": "ISC"
+ },
"node_modules/tailwind-merge": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz",
@@ -48535,6 +48542,11 @@
"symbol-tree": {
"version": "3.2.4"
},
+ "tag2link": {
+ "version": "2025.3.21",
+ "resolved": "https://registry.npmjs.org/tag2link/-/tag2link-2025.3.21.tgz",
+ "integrity": "sha512-JvRTQdY/z0vAEFUzL7rhLndNiDnStlurW+1jgXL5FW+GppR2T/dq2lXMEppbFNxJ9C4h5b+ykjcMPH791YeLdA=="
+ },
"tailwind-merge": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz",
diff --git a/package.json b/package.json
index 6f9397d5d..a88a9112d 100644
--- a/package.json
+++ b/package.json
@@ -244,6 +244,7 @@
"showdown": "^2.1.0",
"svelte": "^3.59.2",
"svg-path-parser": "^1.1.0",
+ "tag2link": "^2025.3.21",
"tailwind-merge": "^1.14.0",
"tailwindcss": "^3.4.17",
"ts-node": "^10.9.2",
diff --git a/scripts/prepare-build.sh b/scripts/prepare-build.sh
index 0e0fc6c58..d5fdd5431 100755
--- a/scripts/prepare-build.sh
+++ b/scripts/prepare-build.sh
@@ -20,8 +20,8 @@ npm run download:editor-layer-index &&
npm run prep:layeroverview &&
npm run generate && # includes a single "refresh:layeroverview". Resetting the files is unnecessary as they are not in there in the first place
npm run generate:mapcomplete-changes-theme &&
-npm run refresh:layeroverview && # run refresh:layeroverview a second time to propagate all calls
-npm run generate:layeroverview && # run refresh:layeroverview a third time to fix some issues with the favourite layer all calls
+npm run refresh:layeroverview && # a second time to propagate all calls
+npm run refresh:layeroverview && # a third time to fix some issues with the favourite layer all calls
npm run generate:layouts
diff --git a/src/UI/Popup/AllTagsPanel.svelte b/src/UI/Popup/AllTagsPanel/AllTagsPanel.svelte
similarity index 86%
rename from src/UI/Popup/AllTagsPanel.svelte
rename to src/UI/Popup/AllTagsPanel/AllTagsPanel.svelte
index 39a66f335..33b710ad0 100644
--- a/src/UI/Popup/AllTagsPanel.svelte
+++ b/src/UI/Popup/AllTagsPanel/AllTagsPanel.svelte
@@ -1,10 +1,12 @@
+
+{#if url}
+
+ {$tags[key]}
+
+{:else}
+ {$tags[key]}
+{/if}
diff --git a/src/UI/SpecialVisualisations/SettingsVisualisations.ts b/src/UI/SpecialVisualisations/SettingsVisualisations.ts
index ea52ea627..d22cf6888 100644
--- a/src/UI/SpecialVisualisations/SettingsVisualisations.ts
+++ b/src/UI/SpecialVisualisations/SettingsVisualisations.ts
@@ -6,7 +6,7 @@ import LogoutButton from "../Base/LogoutButton.svelte"
import LoginButton from "../Base/LoginButton.svelte"
import ThemeViewState from "../../Models/ThemeViewState"
import OrientationDebugPanel from "../Debug/OrientationDebugPanel.svelte"
-import AllTagsPanel from "../Popup/AllTagsPanel.svelte"
+import AllTagsPanel from "../Popup/AllTagsPanel/AllTagsPanel.svelte"
import { ImmutableStore, UIEventSource } from "../../Logic/UIEventSource"
import ClearCaches from "../Popup/ClearCaches.svelte"
import Locale from "../i18n/Locale"
diff --git a/src/UI/SpecialVisualizations.ts b/src/UI/SpecialVisualizations.ts
index a212ae011..0fdee9e98 100644
--- a/src/UI/SpecialVisualizations.ts
+++ b/src/UI/SpecialVisualizations.ts
@@ -10,7 +10,7 @@ import { HistogramViz } from "./Popup/HistogramViz"
import { UploadToOsmViz } from "./Popup/UploadToOsmViz"
import { MultiApplyViz } from "./Popup/MultiApplyViz"
import { UIEventSource } from "../Logic/UIEventSource"
-import AllTagsPanel from "./Popup/AllTagsPanel.svelte"
+import AllTagsPanel from "./Popup/AllTagsPanel/AllTagsPanel.svelte"
import { VariableUiElement } from "./Base/VariableUIElement"
import { Translation } from "./i18n/Translation"
import Translations from "./i18n/Translations"
diff --git a/src/UI/Studio/EditLayer.svelte b/src/UI/Studio/EditLayer.svelte
index 79ef7776e..c561edfe1 100644
--- a/src/UI/Studio/EditLayer.svelte
+++ b/src/UI/Studio/EditLayer.svelte
@@ -13,7 +13,7 @@
import SchemaBasedInput from "./SchemaBasedInput.svelte"
import FloatOver from "../Base/FloatOver.svelte"
import TagRenderingInput from "./TagRenderingInput.svelte"
- import AllTagsPanel from "../Popup/AllTagsPanel.svelte"
+ import AllTagsPanel from "../Popup/AllTagsPanel/AllTagsPanel.svelte"
import QuestionPreview from "./QuestionPreview.svelte"
import ShowConversionMessages from "./ShowConversionMessages.svelte"
import RawEditor from "./RawEditor.svelte"