summaryrefslogtreecommitdiff
path: root/packages/frontend-embed/src
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2026-03-02 16:05:12 -0500
committerFreya Murphy <freya@freyacat.org>2026-03-02 18:39:22 -0500
commit24734d408700a72d45c3ff4a679606cab3ec544f (patch)
treed0fee0bcf508f3c631f7c26724bb5cd94dfc88a0 /packages/frontend-embed/src
parentmerge: Release/2025.4.5 (!1258) (diff)
downloadsharkey-stable.tar.gz
sharkey-stable.tar.bz2
sharkey-stable.zip
split url into webUrl and localUrl (like mastodon)stable
Diffstat (limited to '')
-rw-r--r--packages/frontend-embed/src/boot.ts4
-rw-r--r--packages/frontend-embed/src/components/EmAcct.vue4
-rw-r--r--packages/frontend-embed/src/components/EmLink.vue2
-rw-r--r--packages/frontend-embed/src/components/EmMention.vue2
-rw-r--r--packages/frontend-embed/src/components/EmMfm.ts4
-rw-r--r--packages/frontend-embed/src/components/EmNote.vue4
-rw-r--r--packages/frontend-embed/src/components/EmNoteDetailed.vue6
-rw-r--r--packages/frontend-embed/src/components/EmSubNoteContent.vue4
-rw-r--r--packages/frontend-embed/src/components/EmUrl.vue2
-rw-r--r--packages/frontend-embed/src/pages/clip.vue4
-rw-r--r--packages/frontend-embed/src/pages/tag.vue4
-rw-r--r--packages/frontend-embed/src/pages/user-timeline.vue4
-rw-r--r--packages/frontend-embed/src/utils.ts4
13 files changed, 24 insertions, 24 deletions
diff --git a/packages/frontend-embed/src/boot.ts b/packages/frontend-embed/src/boot.ts
index f11cfef8fd..e8476650a0 100644
--- a/packages/frontend-embed/src/boot.ts
+++ b/packages/frontend-embed/src/boot.ts
@@ -15,7 +15,7 @@ import { applyTheme, assertIsTheme } from '@/theme.js';
import { fetchCustomEmojis } from '@/custom-emojis.js';
import { DI } from '@/di.js';
import { serverMetadata } from '@/server-metadata.js';
-import { url, version, locale, lang, updateLocale, langsVersion } from '@@/js/config.js';
+import { webUrl, version, locale, lang, updateLocale, langsVersion } from '@@/js/config.js';
import { parseEmbedParams } from '@@/js/embed-page.js';
import { postMessageToParentWindow, setIframeId } from '@/post-message.js';
import { serverContext } from '@/server-context.js';
@@ -106,7 +106,7 @@ const app = createApp(
defineAsyncComponent(() => import('@/ui.vue')),
);
-app.provide(DI.mediaProxy, new MediaProxy(serverMetadata, url));
+app.provide(DI.mediaProxy, new MediaProxy(serverMetadata, webUrl));
app.provide(DI.serverMetadata, serverMetadata);
diff --git a/packages/frontend-embed/src/components/EmAcct.vue b/packages/frontend-embed/src/components/EmAcct.vue
index ff794d9b6e..2a8bd0ccc8 100644
--- a/packages/frontend-embed/src/components/EmAcct.vue
+++ b/packages/frontend-embed/src/components/EmAcct.vue
@@ -13,12 +13,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup>
import * as Misskey from 'misskey-js';
import { toUnicode } from 'punycode.js';
-import { host as hostRaw } from '@@/js/config.js';
+import { localHost } from '@@/js/config.js';
defineProps<{
user: Misskey.entities.UserLite;
detail?: boolean;
}>();
-const host = toUnicode(hostRaw);
+const host = toUnicode(localHost);
</script>
diff --git a/packages/frontend-embed/src/components/EmLink.vue b/packages/frontend-embed/src/components/EmLink.vue
index aec9b33072..945e73e5cd 100644
--- a/packages/frontend-embed/src/components/EmLink.vue
+++ b/packages/frontend-embed/src/components/EmLink.vue
@@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup>
import { ref } from 'vue';
import EmA from './EmA.vue';
-import { url as local } from '@@/js/config.js';
+import { webUrl as local } from '@@/js/config.js';
const props = withDefaults(defineProps<{
url: string;
diff --git a/packages/frontend-embed/src/components/EmMention.vue b/packages/frontend-embed/src/components/EmMention.vue
index b5aaa95894..5e76dc1e0f 100644
--- a/packages/frontend-embed/src/components/EmMention.vue
+++ b/packages/frontend-embed/src/components/EmMention.vue
@@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { toUnicode } from 'punycode.js';
import { } from 'vue';
import tinycolor from 'tinycolor2';
-import { host as localHost } from '@@/js/config.js';
+import { localHost } from '@@/js/config.js';
const props = defineProps<{
username: string;
diff --git a/packages/frontend-embed/src/components/EmMfm.ts b/packages/frontend-embed/src/components/EmMfm.ts
index 74ae3373ef..fe51776b0b 100644
--- a/packages/frontend-embed/src/components/EmMfm.ts
+++ b/packages/frontend-embed/src/components/EmMfm.ts
@@ -7,7 +7,7 @@ import { h, provide } from 'vue';
import type { VNode, SetupContext } from 'vue';
import * as mfm from 'mfm-js';
import * as Misskey from 'misskey-js';
-import { host } from '@@/js/config.js';
+import { localHost } from '@@/js/config.js';
import EmUrl from '@/components/EmUrl.vue';
import EmTime from '@/components/EmTime.vue';
import EmLink from '@/components/EmLink.vue';
@@ -379,7 +379,7 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven
case 'mention': {
return [h('bdi', h(EmMention, {
key: Math.random(),
- host: (token.props.host == null && props.author && props.author.host != null ? props.author.host : token.props.host) ?? host,
+ host: (token.props.host == null && props.author && props.author.host != null ? props.author.host : token.props.host) ?? localHost,
username: token.props.username,
}))];
}
diff --git a/packages/frontend-embed/src/components/EmNote.vue b/packages/frontend-embed/src/components/EmNote.vue
index 0dc77d09a7..253b5e30dc 100644
--- a/packages/frontend-embed/src/components/EmNote.vue
+++ b/packages/frontend-embed/src/components/EmNote.vue
@@ -65,7 +65,7 @@ SPDX-License-Identifier: AGPL-3.0-only
/>
</div>
<div v-if="appearNote.files && appearNote.files.length > 0">
- <EmMediaList :mediaList="appearNote.files" :originalEntityUrl="`${url}/notes/${appearNote.id}`"/>
+ <EmMediaList :mediaList="appearNote.files" :originalEntityUrl="`${webUrl}/notes/${appearNote.id}`"/>
</div>
<EmPoll v-if="appearNote.poll" :noteId="appearNote.id" :poll="appearNote.poll" :readOnly="true" :class="$style.poll"/>
<div v-if="appearNote.renote" :class="$style.quote"><EmNoteSimple :note="appearNote.renote" :class="$style.quoteNote"/></div>
@@ -108,7 +108,7 @@ import { computed, inject, ref, shallowRef } from 'vue';
import * as mfm from 'mfm-js';
import * as Misskey from 'misskey-js';
import { shouldCollapsed } from '@@/js/collapsed.js';
-import { url } from '@@/js/config.js';
+import { webUrl } from '@@/js/config.js';
import { computeMergedCw } from '@@/js/compute-merged-cw.js';
import I18n from '@/components/I18n.vue';
import EmNoteSub from '@/components/EmNoteSub.vue';
diff --git a/packages/frontend-embed/src/components/EmNoteDetailed.vue b/packages/frontend-embed/src/components/EmNoteDetailed.vue
index 8a10778e8a..817503faf3 100644
--- a/packages/frontend-embed/src/components/EmNoteDetailed.vue
+++ b/packages/frontend-embed/src/components/EmNoteDetailed.vue
@@ -49,7 +49,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.noteHeaderUsername"><EmAcct :user="appearNote.user"/></div>
</div>
<div :class="$style.noteHeaderInfo">
- <a :href="url" :class="$style.noteHeaderInstanceIconLink" target="_blank" rel="noopener noreferrer">
+ <a :href="webUrl" :class="$style.noteHeaderInstanceIconLink" target="_blank" rel="noopener noreferrer">
<img :src="serverMetadata.iconUrl || '/favicon.ico'" alt="" :class="$style.noteHeaderInstanceIcon"/>
</a>
</div>
@@ -76,7 +76,7 @@ SPDX-License-Identifier: AGPL-3.0-only
/>
</div>
<div v-if="appearNote.files && appearNote.files.length > 0">
- <EmMediaList :mediaList="appearNote.files" :originalEntityUrl="`${url}/notes/${appearNote.id}`"/>
+ <EmMediaList :mediaList="appearNote.files" :originalEntityUrl="`${webUrl}/notes/${appearNote.id}`"/>
</div>
<EmPoll v-if="appearNote.poll" ref="pollViewer" :noteId="appearNote.id" :poll="appearNote.poll" :readOnly="true" :class="$style.poll"/>
<div v-if="appearNote.renote" :class="$style.quote"><EmNoteSimple :note="appearNote.renote" :class="$style.quoteNote"/></div>
@@ -148,7 +148,7 @@ import { notePage } from '@/utils.js';
import { i18n } from '@/i18n.js';
import { DI } from '@/di.js';
import { shouldCollapsed } from '@@/js/collapsed.js';
-import { url } from '@@/js/config.js';
+import { webUrl } from '@@/js/config.js';
import EmMfm from '@/components/EmMfm.js';
const props = defineProps<{
diff --git a/packages/frontend-embed/src/components/EmSubNoteContent.vue b/packages/frontend-embed/src/components/EmSubNoteContent.vue
index e9acbcb293..4d9ac23da6 100644
--- a/packages/frontend-embed/src/components/EmSubNoteContent.vue
+++ b/packages/frontend-embed/src/components/EmSubNoteContent.vue
@@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div>
<details v-if="note.files && note.files.length > 0">
<summary>({{ i18n.tsx.withNFiles({ n: note.files.length }) }})</summary>
- <EmMediaList :mediaList="note.files" :originalEntityUrl="`${url}/notes/${note.id}`"/>
+ <EmMediaList :mediaList="note.files" :originalEntityUrl="`${webUrl}/notes/${note.id}`"/>
</details>
<details v-if="note.poll">
<summary>{{ i18n.ts.poll }}</summary>
@@ -35,7 +35,7 @@ import * as Misskey from 'misskey-js';
import EmMediaList from '@/components/EmMediaList.vue';
import EmPoll from '@/components/EmPoll.vue';
import { i18n } from '@/i18n.js';
-import { url } from '@@/js/config.js';
+import { webUrl } from '@@/js/config.js';
import { shouldCollapsed } from '@@/js/collapsed.js';
import EmA from '@/components/EmA.vue';
import EmMfm from '@/components/EmMfm.js';
diff --git a/packages/frontend-embed/src/components/EmUrl.vue b/packages/frontend-embed/src/components/EmUrl.vue
index 2dbbe90858..a3bd74270a 100644
--- a/packages/frontend-embed/src/components/EmUrl.vue
+++ b/packages/frontend-embed/src/components/EmUrl.vue
@@ -27,7 +27,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { ref } from 'vue';
import { toUnicode as decodePunycode } from 'punycode.js';
import EmA from './EmA.vue';
-import { url as local } from '@@/js/config.js';
+import { webUrl as local } from '@@/js/config.js';
function safeURIDecode(str: string): string {
try {
diff --git a/packages/frontend-embed/src/pages/clip.vue b/packages/frontend-embed/src/pages/clip.vue
index f4d4e8cf6f..0ee1cabfe8 100644
--- a/packages/frontend-embed/src/pages/clip.vue
+++ b/packages/frontend-embed/src/pages/clip.vue
@@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="_nowrap"><a :href="`/clips/${clip.id}`" target="_blank" rel="noopener">{{ clip.name }}</a></div>
<div :class="$style.sub">{{ i18n.tsx.fromX({ x: instanceName }) }}</div>
</div>
- <a :href="url" :class="$style.instanceIconLink" target="_blank" rel="noopener noreferrer">
+ <a :href="webUrl" :class="$style.instanceIconLink" target="_blank" rel="noopener noreferrer">
<img
:class="$style.instanceIcon"
:src="serverMetadata.iconUrl || '/favicon.ico'"
@@ -41,7 +41,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { ref, computed, inject, useTemplateRef } from 'vue';
import * as Misskey from 'misskey-js';
import { scrollToTop } from '@@/js/scroll.js';
-import { url, instanceName } from '@@/js/config.js';
+import { webUrl, instanceName } from '@@/js/config.js';
import { isLink } from '@@/js/is-link.js';
import { defaultEmbedParams } from '@@/js/embed-page.js';
import type { Paging } from '@/components/EmPagination.vue';
diff --git a/packages/frontend-embed/src/pages/tag.vue b/packages/frontend-embed/src/pages/tag.vue
index 4b00ae7c2d..62d7953c70 100644
--- a/packages/frontend-embed/src/pages/tag.vue
+++ b/packages/frontend-embed/src/pages/tag.vue
@@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="_nowrap"><a :href="`/tags/${tag}`" target="_blank" rel="noopener">#{{ tag }}</a></div>
<div :class="$style.sub">{{ i18n.tsx.fromX({ x: instanceName }) }}</div>
</div>
- <a :href="url" :class="$style.instanceIconLink" target="_blank" rel="noopener noreferrer">
+ <a :href="webUrl" :class="$style.instanceIconLink" target="_blank" rel="noopener noreferrer">
<img
:class="$style.instanceIcon"
:src="serverMetadata.iconUrl || '/favicon.ico'"
@@ -45,7 +45,7 @@ import EmNotes from '@/components/EmNotes.vue';
import XNotFound from '@/pages/not-found.vue';
import EmTimelineContainer from '@/components/EmTimelineContainer.vue';
import { i18n } from '@/i18n.js';
-import { url, instanceName } from '@@/js/config.js';
+import { webUrl, instanceName } from '@@/js/config.js';
import { isLink } from '@@/js/is-link.js';
import { DI } from '@/di.js';
import { defaultEmbedParams } from '@@/js/embed-page.js';
diff --git a/packages/frontend-embed/src/pages/user-timeline.vue b/packages/frontend-embed/src/pages/user-timeline.vue
index 348b1a7622..6ae78af92d 100644
--- a/packages/frontend-embed/src/pages/user-timeline.vue
+++ b/packages/frontend-embed/src/pages/user-timeline.vue
@@ -22,7 +22,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</I18n>
<div :class="$style.sub">{{ i18n.tsx.fromX({ x: instanceName }) }}</div>
</div>
- <a :href="url" :class="$style.instanceIconLink" target="_blank" rel="noopener noreferrer">
+ <a :href="webUrl" :class="$style.instanceIconLink" target="_blank" rel="noopener noreferrer">
<img
:class="$style.instanceIcon"
:src="serverMetadata.iconUrl || '/favicon.ico'"
@@ -47,7 +47,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<script setup lang="ts">
import { ref, computed, inject, useTemplateRef } from 'vue';
import * as Misskey from 'misskey-js';
-import { url, instanceName } from '@@/js/config.js';
+import { webUrl, instanceName } from '@@/js/config.js';
import { defaultEmbedParams } from '@@/js/embed-page.js';
import type { Paging } from '@/components/EmPagination.vue';
import EmNotes from '@/components/EmNotes.vue';
diff --git a/packages/frontend-embed/src/utils.ts b/packages/frontend-embed/src/utils.ts
index 939648aa38..c307b1588d 100644
--- a/packages/frontend-embed/src/utils.ts
+++ b/packages/frontend-embed/src/utils.ts
@@ -4,7 +4,7 @@
*/
import * as Misskey from 'misskey-js';
-import { url } from '@@/js/config.js';
+import { webUrl } from '@@/js/config.js';
export const acct = (user: Misskey.Acct) => {
return Misskey.acct.toString(user);
@@ -15,7 +15,7 @@ export const userName = (user: Misskey.entities.User) => {
};
export const userPage = (user: Misskey.Acct, path?: string, absolute = false) => {
- return `${absolute ? url : ''}/@${acct(user)}${(path ? `/${path}` : '')}`;
+ return `${absolute ? webUrl : ''}/@${acct(user)}${(path ? `/${path}` : '')}`;
};
export const notePage = (note: Misskey.entities.Note) => {