diff --git a/packages/frontend/@types/vue.d.ts b/packages/frontend/@types/vue.d.ts index 13544a2f54..d84f83b43a 100644 --- a/packages/frontend/@types/vue.d.ts +++ b/packages/frontend/@types/vue.d.ts @@ -1,12 +1,9 @@ /// <reference types="vue/macros-global" /> -import type { $i } from '@/account'; -import type { instance } from '@/instance'; import type { i18n } from '@/i18n'; declare module 'vue' { interface ComponentCustomProperties { - $i: typeof $i; $t: typeof i18n['t']; $ts: typeof i18n['ts']; } diff --git a/packages/frontend/src/components/MkNotePreview.vue b/packages/frontend/src/components/MkNotePreview.vue index 1cc01386ba..16196834b7 100644 --- a/packages/frontend/src/components/MkNotePreview.vue +++ b/packages/frontend/src/components/MkNotePreview.vue @@ -16,6 +16,7 @@ <script lang="ts" setup> import { } from 'vue'; +import { $i } from '@/account'; const props = defineProps<{ text: string; diff --git a/packages/frontend/src/components/MkNoteSimple.vue b/packages/frontend/src/components/MkNoteSimple.vue index 2b541e6094..bd27a43b61 100644 --- a/packages/frontend/src/components/MkNoteSimple.vue +++ b/packages/frontend/src/components/MkNoteSimple.vue @@ -22,6 +22,7 @@ import * as misskey from 'misskey-js'; import MkNoteHeader from '@/components/MkNoteHeader.vue'; import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; import MkCwButton from '@/components/MkCwButton.vue'; +import { $i } from '@/account'; const props = defineProps<{ note: misskey.entities.Note; diff --git a/packages/frontend/src/components/MkNoteSub.vue b/packages/frontend/src/components/MkNoteSub.vue index ab6d62fba5..c293641355 100644 --- a/packages/frontend/src/components/MkNoteSub.vue +++ b/packages/frontend/src/components/MkNoteSub.vue @@ -33,6 +33,7 @@ import MkCwButton from '@/components/MkCwButton.vue'; import { notePage } from '@/filters/note'; import * as os from '@/os'; import { i18n } from '@/i18n'; +import { $i } from '@/account'; const props = withDefaults(defineProps<{ note: misskey.entities.Note; diff --git a/packages/frontend/src/components/MkSample.vue b/packages/frontend/src/components/MkSample.vue index 8b7fc2ef76..7a3bc20888 100644 --- a/packages/frontend/src/components/MkSample.vue +++ b/packages/frontend/src/components/MkSample.vue @@ -36,6 +36,7 @@ import MkTextarea from '@/components/MkTextarea.vue'; import MkRadio from '@/components/MkRadio.vue'; import * as os from '@/os'; import * as config from '@/config'; +import { $i } from '@/account'; export default defineComponent({ components: { @@ -51,6 +52,7 @@ export default defineComponent({ text: '', flag: true, radio: 'misskey', + $i, mfm: `Hello world! This is an @example mention. BTW you are @${this.$i ? this.$i.username : 'guest'}.\nAlso, here is ${config.url} and [example link](${config.url}). for more details, see https://example.com.\nAs you know #misskey is open-source software.`, }; }, diff --git a/packages/frontend/src/components/MkSubNoteContent.vue b/packages/frontend/src/components/MkSubNoteContent.vue index 9f90f5eecb..5290129ee7 100644 --- a/packages/frontend/src/components/MkSubNoteContent.vue +++ b/packages/frontend/src/components/MkSubNoteContent.vue @@ -27,6 +27,7 @@ import * as misskey from 'misskey-js'; import MkMediaList from '@/components/MkMediaList.vue'; import MkPoll from '@/components/MkPoll.vue'; import { i18n } from '@/i18n'; +import { $i } from '@/account'; const props = defineProps<{ note: misskey.entities.Note; diff --git a/packages/frontend/src/components/MkUserInfo.vue b/packages/frontend/src/components/MkUserInfo.vue index 1486423b3d..1660ca68fc 100644 --- a/packages/frontend/src/components/MkUserInfo.vue +++ b/packages/frontend/src/components/MkUserInfo.vue @@ -33,6 +33,7 @@ import * as misskey from 'misskey-js'; import MkFollowButton from '@/components/MkFollowButton.vue'; import { userPage } from '@/filters/user'; import { i18n } from '@/i18n'; +import { $i } from '@/account'; defineProps<{ user: misskey.entities.UserDetailed; diff --git a/packages/frontend/src/components/MkUserPopup.vue b/packages/frontend/src/components/MkUserPopup.vue index 37ec1d5ff2..73f42a4e68 100644 --- a/packages/frontend/src/components/MkUserPopup.vue +++ b/packages/frontend/src/components/MkUserPopup.vue @@ -60,6 +60,7 @@ import { getUserMenu } from '@/scripts/get-user-menu'; import number from '@/filters/number'; import { i18n } from '@/i18n'; import { defaultStore } from '@/store'; +import { $i } from '@/account'; const props = defineProps<{ showing: boolean; diff --git a/packages/frontend/src/components/page/page.post.vue b/packages/frontend/src/components/page/page.post.vue index 141141ec80..55da610cb6 100644 --- a/packages/frontend/src/components/page/page.post.vue +++ b/packages/frontend/src/components/page/page.post.vue @@ -17,6 +17,7 @@ import * as os from '@/os'; import { PostBlock } from '@/scripts/hpml/block'; import { Hpml } from '@/scripts/hpml/evaluator'; import { defaultStore } from '@/store'; +import { $i } from '@/account'; export default defineComponent({ components: { @@ -55,7 +56,7 @@ export default defineComponent({ canvas.toBlob(blob => { const formData = new FormData(); formData.append('file', blob); - formData.append('i', this.$i.token); + formData.append('i', $i.token); if (defaultStore.state.uploadFolder) { formData.append('folderId', defaultStore.state.uploadFolder); } diff --git a/packages/frontend/src/components/page/page.text.vue b/packages/frontend/src/components/page/page.text.vue index 689c484521..e0e4959efa 100644 --- a/packages/frontend/src/components/page/page.text.vue +++ b/packages/frontend/src/components/page/page.text.vue @@ -6,11 +6,12 @@ </template> <script lang="ts"> -import { TextBlock } from '@/scripts/hpml/block'; -import { Hpml } from '@/scripts/hpml/evaluator'; import { defineAsyncComponent, defineComponent, PropType } from 'vue'; import * as mfm from 'mfm-js'; +import { TextBlock } from '@/scripts/hpml/block'; +import { Hpml } from '@/scripts/hpml/evaluator'; import { extractUrlFromMfm } from '@/scripts/extract-url-from-mfm'; +import { $i } from '@/account'; export default defineComponent({ components: { @@ -29,6 +30,7 @@ export default defineComponent({ data() { return { text: this.hpml.interpolate(this.block.text), + $i, }; }, computed: { diff --git a/packages/frontend/src/init.ts b/packages/frontend/src/init.ts index 87ba06d17b..2a595f4cc4 100644 --- a/packages/frontend/src/init.ts +++ b/packages/frontend/src/init.ts @@ -200,7 +200,6 @@ if (_DEV_) { // TODO: 廃止 app.config.globalProperties = { - $i, $t: i18n.t, $ts: i18n.ts, }; diff --git a/packages/frontend/src/pages/about.emojis.vue b/packages/frontend/src/pages/about.emojis.vue index 7f3b4fd937..e0c5c084e1 100644 --- a/packages/frontend/src/pages/about.emojis.vue +++ b/packages/frontend/src/pages/about.emojis.vue @@ -32,13 +32,14 @@ <script lang="ts" setup> import { watch } from 'vue'; +import * as Misskey from 'misskey-js'; import XEmoji from './emojis.emoji.vue'; import MkButton from '@/components/MkButton.vue'; import MkInput from '@/components/MkInput.vue'; import MkFoldableSection from '@/components/MkFoldableSection.vue'; import { customEmojis, customEmojiCategories, getCustomEmojiTags } from '@/custom-emojis'; import { i18n } from '@/i18n'; -import * as Misskey from 'misskey-js'; +import { $i } from '@/account'; const customEmojiTags = getCustomEmojiTags(); let q = $ref(''); diff --git a/packages/frontend/src/pages/announcements.vue b/packages/frontend/src/pages/announcements.vue index 131f6d11ea..526ea3a79a 100644 --- a/packages/frontend/src/pages/announcements.vue +++ b/packages/frontend/src/pages/announcements.vue @@ -25,6 +25,7 @@ import MkButton from '@/components/MkButton.vue'; import * as os from '@/os'; import { i18n } from '@/i18n'; import { definePageMetadata } from '@/scripts/page-metadata'; +import { $i } from '@/account'; const pagination = { endpoint: 'announcements' as const, diff --git a/packages/frontend/src/pages/flash/flash.vue b/packages/frontend/src/pages/flash/flash.vue index 8daf6c2f8a..961ef4b751 100644 --- a/packages/frontend/src/pages/flash/flash.vue +++ b/packages/frontend/src/pages/flash/flash.vue @@ -64,6 +64,7 @@ import { createAiScriptEnv } from '@/scripts/aiscript/api'; import MkFolder from '@/components/MkFolder.vue'; import MkCode from '@/components/MkCode.vue'; import { defaultStore } from '@/store'; +import { $i } from '@/account'; const props = defineProps<{ id: string; diff --git a/packages/frontend/src/pages/gallery/post.vue b/packages/frontend/src/pages/gallery/post.vue index 46cb317c8a..e0f3c105e1 100644 --- a/packages/frontend/src/pages/gallery/post.vue +++ b/packages/frontend/src/pages/gallery/post.vue @@ -68,6 +68,7 @@ import { useRouter } from '@/router'; import { i18n } from '@/i18n'; import { definePageMetadata } from '@/scripts/page-metadata'; import { defaultStore } from '@/store'; +import { $i } from '@/account'; const router = useRouter(); diff --git a/packages/frontend/src/pages/page.vue b/packages/frontend/src/pages/page.vue index a8c61f7956..5a0f58c8df 100644 --- a/packages/frontend/src/pages/page.vue +++ b/packages/frontend/src/pages/page.vue @@ -77,6 +77,7 @@ import { i18n } from '@/i18n'; import { definePageMetadata } from '@/scripts/page-metadata'; import { pageViewInterruptors, defaultStore } from '@/store'; import { deepClone } from '@/scripts/clone'; +import { $i } from '@/account'; const props = defineProps<{ pageName: string; diff --git a/packages/frontend/src/pages/settings/delete-account.vue b/packages/frontend/src/pages/settings/delete-account.vue index bbd5513954..c6e79165c5 100644 --- a/packages/frontend/src/pages/settings/delete-account.vue +++ b/packages/frontend/src/pages/settings/delete-account.vue @@ -11,7 +11,7 @@ import FormInfo from '@/components/MkInfo.vue'; import MkButton from '@/components/MkButton.vue'; import * as os from '@/os'; -import { signout } from '@/account'; +import { signout, $i } from '@/account'; import { i18n } from '@/i18n'; import { definePageMetadata } from '@/scripts/page-metadata'; diff --git a/packages/frontend/src/pages/user-info.vue b/packages/frontend/src/pages/user-info.vue index 571f058240..94718d1533 100644 --- a/packages/frontend/src/pages/user-info.vue +++ b/packages/frontend/src/pages/user-info.vue @@ -192,7 +192,7 @@ import { url } from '@/config'; import { userPage, acct } from '@/filters/user'; import { definePageMetadata } from '@/scripts/page-metadata'; import { i18n } from '@/i18n'; -import { iAmAdmin, iAmModerator } from '@/account'; +import { iAmAdmin, iAmModerator, $i } from '@/account'; import MkRolePreview from '@/components/MkRolePreview.vue'; const props = withDefaults(defineProps<{ diff --git a/packages/frontend/src/pages/welcome.timeline.vue b/packages/frontend/src/pages/welcome.timeline.vue index c34d43dc1c..6a507ee1ed 100644 --- a/packages/frontend/src/pages/welcome.timeline.vue +++ b/packages/frontend/src/pages/welcome.timeline.vue @@ -5,30 +5,31 @@ <div class="_panel" :class="$style.content"> <div :class="$style.body"> <MkA v-if="note.replyId" class="reply" :to="`/notes/${note.replyId}`"><i class="ti ti-arrow-back-up"></i></MkA> - <Mfm v-if="note.text" :text="note.text" :author="note.user" :i="$i" /> + <Mfm v-if="note.text" :text="note.text" :author="note.user" :i="$i"/> <MkA v-if="note.renoteId" class="rp" :to="`/notes/${note.renoteId}`">RN: ...</MkA> </div> <div v-if="note.files.length > 0" :class="$style.richcontent"> - <MkMediaList :media-list="note.files" /> + <MkMediaList :media-list="note.files"/> </div> <div v-if="note.poll"> - <MkPoll :note="note" :readOnly="true" /> + <MkPoll :note="note" :read-only="true"/> </div> </div> - <MkReactionsViewer ref="reactionsViewer" :note="note" /> + <MkReactionsViewer ref="reactionsViewer" :note="note"/> </div> </div> </div> </template> <script lang="ts" setup> +import { Note } from 'misskey-js/built/entities'; +import { onUpdated } from 'vue'; import MkReactionsViewer from '@/components/MkReactionsViewer.vue'; import MkMediaList from '@/components/MkMediaList.vue'; import MkPoll from '@/components/MkPoll.vue'; import * as os from '@/os'; -import { Note } from 'misskey-js/built/entities'; -import { onUpdated } from 'vue'; import { getScrollContainer } from '@/scripts/scroll'; +import { $i } from '@/account'; let notes = $ref<Note[]>([]); let isScrolling = $ref(false); diff --git a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue index 866b898f74..7a94a0c3ee 100644 --- a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue +++ b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue @@ -47,7 +47,7 @@ import { computed, defineAsyncComponent, toRef } from 'vue'; import { openInstanceMenu } from './common'; import * as os from '@/os'; import { navbarItemDef } from '@/navbar'; -import { openAccountMenu as openAccountMenu_ } from '@/account'; +import { $i, openAccountMenu as openAccountMenu_ } from '@/account'; import { defaultStore } from '@/store'; import { i18n } from '@/i18n'; import { instance } from '@/instance'; diff --git a/packages/frontend/src/ui/classic.header.vue b/packages/frontend/src/ui/classic.header.vue index a0255d1bc2..1a4d1c454f 100644 --- a/packages/frontend/src/ui/classic.header.vue +++ b/packages/frontend/src/ui/classic.header.vue @@ -47,7 +47,7 @@ import { openInstanceMenu } from './_common_/common'; import { host } from '@/config'; import * as os from '@/os'; import { navbarItemDef } from '@/navbar'; -import { openAccountMenu } from '@/account'; +import { openAccountMenu, $i } from '@/account'; import MkButton from '@/components/MkButton.vue'; import { mainRouter } from '@/router'; import { defaultStore } from '@/store'; @@ -67,6 +67,7 @@ export default defineComponent({ settingsWindowed: false, defaultStore, instance, + $i, }; }, diff --git a/packages/frontend/src/ui/classic.sidebar.vue b/packages/frontend/src/ui/classic.sidebar.vue index 14a81448f4..10aa615b76 100644 --- a/packages/frontend/src/ui/classic.sidebar.vue +++ b/packages/frontend/src/ui/classic.sidebar.vue @@ -46,7 +46,7 @@ import { openInstanceMenu } from './_common_/common'; import { host } from '@/config'; import * as os from '@/os'; import { navbarItemDef } from '@/navbar'; -import { openAccountMenu } from '@/account'; +import { openAccountMenu, $i } from '@/account'; import MkButton from '@/components/MkButton.vue'; import { StickySidebar } from '@/scripts/sticky-sidebar'; import { mainRouter } from '@/router'; @@ -70,6 +70,7 @@ export default defineComponent({ settingsWindowed: false, defaultStore, instance, + $i, }; },