diff options
Diffstat (limited to 'packages/frontend/src/pages/share.vue')
| -rw-r--r-- | packages/frontend/src/pages/share.vue | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/packages/frontend/src/pages/share.vue b/packages/frontend/src/pages/share.vue index 1d77e5931d..3e9cac9858 100644 --- a/packages/frontend/src/pages/share.vue +++ b/packages/frontend/src/pages/share.vue @@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only <script lang="ts" setup> // SPECIFICATION: https://misskey-hub.net/docs/features/share-form.html -import { ref } from 'vue'; +import { ref, computed } from 'vue'; import * as Misskey from 'misskey-js'; import MkButton from '@/components/MkButton.vue'; import MkPostForm from '@/components/MkPostForm.vue'; @@ -46,27 +46,27 @@ const localOnlyQuery = urlParams.get('localOnly'); const visibilityQuery = urlParams.get('visibility') as typeof Misskey.noteVisibilities[number]; const state = ref<'fetching' | 'writing' | 'posted'>('fetching'); -let title = $ref(urlParams.get('title')); +const title = ref(urlParams.get('title')); const text = urlParams.get('text'); const url = urlParams.get('url'); -let initialText = $ref<string | undefined>(); -let reply = $ref<Misskey.entities.Note | undefined>(); -let renote = $ref<Misskey.entities.Note | undefined>(); -let visibility = $ref(Misskey.noteVisibilities.includes(visibilityQuery) ? visibilityQuery : undefined); -let localOnly = $ref(localOnlyQuery === '0' ? false : localOnlyQuery === '1' ? true : undefined); -let files = $ref([] as Misskey.entities.DriveFile[]); -let visibleUsers = $ref([] as Misskey.entities.User[]); +const initialText = ref<string | undefined>(); +const reply = ref<Misskey.entities.Note | undefined>(); +const renote = ref<Misskey.entities.Note | undefined>(); +const visibility = ref(Misskey.noteVisibilities.includes(visibilityQuery) ? visibilityQuery : undefined); +const localOnly = ref(localOnlyQuery === '0' ? false : localOnlyQuery === '1' ? true : undefined); +const files = ref([] as Misskey.entities.DriveFile[]); +const visibleUsers = ref([] as Misskey.entities.User[]); async function init() { let noteText = ''; - if (title) noteText += `[ ${title} ]\n`; + if (title.value) noteText += `[ ${title.value} ]\n`; // Googleニュース対策 - if (text?.startsWith(`${title}.\n`)) noteText += text.replace(`${title}.\n`, ''); - else if (text && title !== text) noteText += `${text}\n`; + if (text?.startsWith(`${title.value}.\n`)) noteText += text.replace(`${title.value}.\n`, ''); + else if (text && title.value !== text) noteText += `${text}\n`; if (url) noteText += `${url}`; - initialText = noteText.trim(); + initialText.value = noteText.trim(); - if (visibility === 'specified') { + if (visibility.value === 'specified') { const visibleUserIds = urlParams.get('visibleUserIds'); const visibleAccts = urlParams.get('visibleAccts'); await Promise.all( @@ -78,7 +78,7 @@ async function init() { .map(q => 'username' in q ? { username: q.username, host: q.host === null ? undefined : q.host } : q) .map(q => os.api('users/show', q) .then(user => { - visibleUsers.push(user); + visibleUsers.value.push(user); }, () => { console.error(`Invalid user query: ${JSON.stringify(q)}`); }), @@ -91,7 +91,7 @@ async function init() { const replyId = urlParams.get('replyId'); const replyUri = urlParams.get('replyUri'); if (replyId) { - reply = await os.api('notes/show', { + reply.value = await os.api('notes/show', { noteId: replyId, }); } else if (replyUri) { @@ -99,7 +99,7 @@ async function init() { uri: replyUri, }); if (obj.type === 'Note') { - reply = obj.object; + reply.value = obj.object; } } //#endregion @@ -108,7 +108,7 @@ async function init() { const renoteId = urlParams.get('renoteId'); const renoteUri = urlParams.get('renoteUri'); if (renoteId) { - renote = await os.api('notes/show', { + renote.value = await os.api('notes/show', { noteId: renoteId, }); } else if (renoteUri) { @@ -116,7 +116,7 @@ async function init() { uri: renoteUri, }); if (obj.type === 'Note') { - renote = obj.object; + renote.value = obj.object; } } //#endregion @@ -128,7 +128,7 @@ async function init() { fileIds.split(',') .map(fileId => os.api('drive/files/show', { fileId }) .then(file => { - files.push(file); + files.value.push(file); }, () => { console.error(`Failed to fetch a file ${fileId}`); }), @@ -167,9 +167,9 @@ function onPosted(): void { postMessageToParentWindow('misskey:shareForm:shareCompleted'); } -const headerActions = $computed(() => []); +const headerActions = computed(() => []); -const headerTabs = $computed(() => []); +const headerTabs = computed(() => []); definePageMetadata({ title: i18n.ts.share, |