refactor(frontend): verbatimModuleSyntaxを有効化 (#15323)
* wip * wip * wip * wip * revert unnecessary changes * wip * refactor(frontend): enforce verbatimModuleSyntax * fix * refactor(frontend-shared): enforce verbatimModuleSyntax * wip * refactor(frontend-embed): enforce verbatimModuleSyntax * enforce consistent-type-imports * fix lint config * attemt to fix ci * fix lint * fix * fix * fix
This commit is contained in:
		| @@ -54,7 +54,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| import { computed, ref } from 'vue'; | ||||
| import MkInput from '@/components/MkInput.vue'; | ||||
| import MkSelect from '@/components/MkSelect.vue'; | ||||
| import MkPagination, { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkPagination from '@/components/MkPagination.vue'; | ||||
| import type { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkInstanceCardMini from '@/components/MkInstanceCardMini.vue'; | ||||
| import FormSplit from '@/components/form/split.vue'; | ||||
| import { i18n } from '@/i18n.js'; | ||||
|   | ||||
| @@ -79,7 +79,8 @@ import { i18n } from '@/i18n.js'; | ||||
| import MkInput from '@/components/MkInput.vue'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
| import MkSelect from '@/components/MkSelect.vue'; | ||||
| import { MkSystemWebhookResult, showSystemWebhookEditorDialog } from '@/components/MkSystemWebhookEditor.impl.js'; | ||||
| import { showSystemWebhookEditorDialog } from '@/components/MkSystemWebhookEditor.impl.js'; | ||||
| import type { MkSystemWebhookResult } from '@/components/MkSystemWebhookEditor.impl.js'; | ||||
| import MkSwitch from '@/components/MkSwitch.vue'; | ||||
| import MkDivider from '@/components/MkDivider.vue'; | ||||
| import * as os from '@/os.js'; | ||||
|   | ||||
| @@ -167,7 +167,7 @@ import { useForm } from '@/scripts/use-form.js'; | ||||
| import MkFormFooter from '@/components/MkFormFooter.vue'; | ||||
| import MkFolder from '@/components/MkFolder.vue'; | ||||
| import MkInfo from '@/components/MkInfo.vue'; | ||||
| import { ApiWithDialogCustomErrors } from '@/os.js'; | ||||
| import type { ApiWithDialogCustomErrors } from '@/os.js'; | ||||
|  | ||||
| const MkCaptcha = defineAsyncComponent(() => import('@/components/MkCaptcha.vue')); | ||||
|  | ||||
|   | ||||
| @@ -76,21 +76,22 @@ import { | ||||
| 	emptyStrToEmptyArray, | ||||
| 	emptyStrToNull, | ||||
| 	emptyStrToUndefined, | ||||
| 	RequestLogItem, | ||||
| 	roleIdsParser, | ||||
| } from '@/pages/admin/custom-emojis-manager.impl.js'; | ||||
| import MkGrid from '@/components/grid/MkGrid.vue'; | ||||
| import { i18n } from '@/i18n.js'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import { validators } from '@/components/grid/cell-validators.js'; | ||||
| import { GridCellValidationEvent, GridCellValueChangeEvent, GridEvent } from '@/components/grid/grid-event.js'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
| import MkPagingButtons from '@/components/MkPagingButtons.vue'; | ||||
| import { GridSetting } from '@/components/grid/grid.js'; | ||||
| import { selectFile } from '@/scripts/select-file.js'; | ||||
| import { copyGridDataToClipboard, removeDataFromGrid } from '@/components/grid/grid-utils.js'; | ||||
| import { useLoading } from "@/components/hook/useLoading.js"; | ||||
|  | ||||
| import type { RequestLogItem } from '@/pages/admin/custom-emojis-manager.impl.js'; | ||||
| import type { GridCellValidationEvent, GridCellValueChangeEvent, GridEvent } from '@/components/grid/grid-event.js'; | ||||
| import type { GridSetting } from '@/components/grid/grid.js'; | ||||
|  | ||||
| type GridItem = { | ||||
| 	checked: boolean; | ||||
| 	id: string; | ||||
|   | ||||
| @@ -82,7 +82,6 @@ import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
| import { | ||||
| 	emptyStrToEmptyArray, | ||||
| 	emptyStrToNull, | ||||
| 	RequestLogItem, | ||||
| 	roleIdsParser, | ||||
| } from '@/pages/admin/custom-emojis-manager.impl.js'; | ||||
| import MkGrid from '@/components/grid/MkGrid.vue'; | ||||
| @@ -96,12 +95,15 @@ import * as os from '@/os.js'; | ||||
| import { validators } from '@/components/grid/cell-validators.js'; | ||||
| import { chooseFileFromDrive, chooseFileFromPc } from '@/scripts/select-file.js'; | ||||
| import { uploadFile } from '@/scripts/upload.js'; | ||||
| import { GridCellValidationEvent, GridCellValueChangeEvent, GridEvent } from '@/components/grid/grid-event.js'; | ||||
| import { DroppedFile, extractDroppedItems, flattenDroppedFiles } from '@/scripts/file-drop.js'; | ||||
| import { extractDroppedItems, flattenDroppedFiles } from '@/scripts/file-drop.js'; | ||||
| import XRegisterLogs from '@/pages/admin/custom-emojis-manager.logs.vue'; | ||||
| import { GridSetting } from '@/components/grid/grid.js'; | ||||
| import { copyGridDataToClipboard } from '@/components/grid/grid-utils.js'; | ||||
| import { GridRow } from '@/components/grid/row.js'; | ||||
|  | ||||
| import type { RequestLogItem } from '@/pages/admin/custom-emojis-manager.impl.js'; | ||||
| import type { GridCellValidationEvent, GridCellValueChangeEvent, GridEvent } from '@/components/grid/grid-event.js'; | ||||
| import type { DroppedFile } from '@/scripts/file-drop.js'; | ||||
| import type { GridSetting } from '@/components/grid/grid.js'; | ||||
| import type { GridRow } from '@/components/grid/row.js'; | ||||
|  | ||||
| const MAXIMUM_EMOJI_REGISTER_COUNT = 100; | ||||
|  | ||||
|   | ||||
| @@ -148,23 +148,20 @@ import { i18n } from '@/i18n.js'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import MkInput from '@/components/MkInput.vue'; | ||||
| import MkGrid from '@/components/grid/MkGrid.vue'; | ||||
| import { | ||||
| 	emptyStrToUndefined, | ||||
| 	GridSortOrderKey, | ||||
| 	gridSortOrderKeys, | ||||
| 	RequestLogItem, | ||||
| } from '@/pages/admin/custom-emojis-manager.impl.js'; | ||||
| import { GridCellValueChangeEvent, GridEvent } from '@/components/grid/grid-event.js'; | ||||
| import { emptyStrToUndefined, gridSortOrderKeys } from '@/pages/admin/custom-emojis-manager.impl.js'; | ||||
| import MkFolder from '@/components/MkFolder.vue'; | ||||
| import XRegisterLogs from '@/pages/admin/custom-emojis-manager.logs.vue'; | ||||
| import * as os from '@/os.js'; | ||||
| import { GridSetting } from '@/components/grid/grid.js'; | ||||
| import { deviceKind } from '@/scripts/device-kind.js'; | ||||
| import MkPagingButtons from '@/components/MkPagingButtons.vue'; | ||||
| import MkSortOrderEditor from '@/components/MkSortOrderEditor.vue'; | ||||
| import { SortOrder } from '@/components/MkSortOrderEditor.define.js'; | ||||
| import { useLoading } from '@/components/hook/useLoading.js'; | ||||
|  | ||||
| import type { GridSortOrderKey, RequestLogItem } from '@/pages/admin/custom-emojis-manager.impl.js'; | ||||
| import type { GridCellValueChangeEvent, GridEvent } from '@/components/grid/grid-event.js'; | ||||
| import type { GridSetting } from '@/components/grid/grid.js'; | ||||
| import type { SortOrder } from '@/components/MkSortOrderEditor.define.js'; | ||||
|  | ||||
| type GridItem = { | ||||
| 	checked: boolean; | ||||
| 	id: string; | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  */ | ||||
|  | ||||
| import { delay, http, HttpResponse } from 'msw'; | ||||
| import { StoryObj } from '@storybook/vue3'; | ||||
| import type { StoryObj } from '@storybook/vue3'; | ||||
| import { entities } from 'misskey-js'; | ||||
| import { commonHandlers } from '../../../.storybook/mocks.js'; | ||||
| import { emoji } from '../../../.storybook/fakes.js'; | ||||
|   | ||||
| @@ -41,7 +41,8 @@ import { lookup } from '@/scripts/lookup.js'; | ||||
| import * as os from '@/os.js'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
| import { lookupUser, lookupUserByEmail, lookupFile } from '@/scripts/admin-lookup.js'; | ||||
| import { PageMetadata, definePageMetadata, provideMetadataReceiver, provideReactiveMetadata } from '@/scripts/page-metadata.js'; | ||||
| import { definePageMetadata, provideMetadataReceiver, provideReactiveMetadata } from '@/scripts/page-metadata.js'; | ||||
| import type { PageMetadata } from '@/scripts/page-metadata.js'; | ||||
| import { useRouter } from '@/router/supplier.js'; | ||||
|  | ||||
| const isEmpty = (x: string | null) => x == null || x === ''; | ||||
|   | ||||
| @@ -65,7 +65,8 @@ import MkFolder from '@/components/MkFolder.vue'; | ||||
| import MkSelect from '@/components/MkSelect.vue'; | ||||
| import MkInput from '@/components/MkInput.vue'; | ||||
| import MkSwitch from '@/components/MkSwitch.vue'; | ||||
| import MkPagination, { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkPagination from '@/components/MkPagination.vue'; | ||||
| import type { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkInviteCode from '@/components/MkInviteCode.vue'; | ||||
| import { definePageMetadata } from '@/scripts/page-metadata.js'; | ||||
|  | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
|  * SPDX-License-Identifier: AGPL-3.0-only | ||||
|  */ | ||||
|  | ||||
| import { StoryObj } from '@storybook/vue3'; | ||||
| import type { StoryObj } from '@storybook/vue3'; | ||||
| import { http, HttpResponse } from 'msw'; | ||||
| import { action } from '@storybook/addon-actions'; | ||||
| import { commonHandlers } from '../../../.storybook/mocks.js'; | ||||
|   | ||||
| @@ -47,7 +47,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { onMounted, ref } from 'vue'; | ||||
| import XPie, { type InstanceForPie } from './overview.pie.vue'; | ||||
| import XPie from './overview.pie.vue'; | ||||
| import type { InstanceForPie } from './overview.pie.vue'; | ||||
| import * as os from '@/os.js'; | ||||
| import { misskeyApiGet } from '@/scripts/misskey-api.js'; | ||||
| import number from '@/filters/number.js'; | ||||
|   | ||||
| @@ -16,7 +16,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| </template> | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { ref, computed, type Ref } from 'vue'; | ||||
| import { ref, computed } from 'vue'; | ||||
| import type { Ref } from 'vue'; | ||||
| import XQueue from './queue.chart.vue'; | ||||
| import XHeader from './_header_.vue'; | ||||
| import * as os from '@/os.js'; | ||||
|   | ||||
| @@ -36,7 +36,7 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| <script lang="ts" setup> | ||||
| import { ref, computed } from 'vue'; | ||||
| import JSON5 from 'json5'; | ||||
| import { Endpoints } from 'misskey-js'; | ||||
| import type { Endpoints } from 'misskey-js'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import MkInput from '@/components/MkInput.vue'; | ||||
| import MkTextarea from '@/components/MkTextarea.vue'; | ||||
|   | ||||
| @@ -94,7 +94,7 @@ import MkNote from '@/components/MkNote.vue'; | ||||
| import MkInfo from '@/components/MkInfo.vue'; | ||||
| import MkFoldableSection from '@/components/MkFoldableSection.vue'; | ||||
| import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue'; | ||||
| import { PageHeaderItem } from '@/types/page-header.js'; | ||||
| import type { PageHeaderItem } from '@/types/page-header.js'; | ||||
| import { isSupportShare } from '@/scripts/navigator.js'; | ||||
| import { copyToClipboard } from '@/scripts/copy-to-clipboard.js'; | ||||
| import { notesSearchAvailable } from '@/scripts/check-permissions.js'; | ||||
|   | ||||
| @@ -13,7 +13,7 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| <script lang="ts" setup> | ||||
| import { ref, computed } from 'vue'; | ||||
| import { i18n } from '@/i18n.js'; | ||||
| import { Paging } from '@/components/MkPagination.vue'; | ||||
| import type { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkInfo from '@/components/MkInfo.vue'; | ||||
| import MkNotes from '@/components/MkNotes.vue'; | ||||
|  | ||||
|   | ||||
| @@ -194,7 +194,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| import { computed, onDeactivated, onMounted, onUnmounted, ref, shallowRef, watch } from 'vue'; | ||||
| import * as Matter from 'matter-js'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import { DropAndFusionGame, Mono } from 'misskey-bubble-game'; | ||||
| import { DropAndFusionGame } from 'misskey-bubble-game'; | ||||
| import type { Mono } from 'misskey-bubble-game'; | ||||
| import { definePageMetadata } from '@/scripts/page-metadata.js'; | ||||
| import MkRippleEffect from '@/components/MkRippleEffect.vue'; | ||||
| import * as os from '@/os.js'; | ||||
|   | ||||
| @@ -62,7 +62,7 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| </template> | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { computed, onDeactivated, onUnmounted, Ref, ref, watch, shallowRef, defineAsyncComponent } from 'vue'; | ||||
| import { computed, onDeactivated, onUnmounted, ref, watch, shallowRef, defineAsyncComponent } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import { Interpreter, Parser, values } from '@syuilo/aiscript'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| @@ -72,7 +72,7 @@ import { url } from '@@/js/config.js'; | ||||
| import { i18n } from '@/i18n.js'; | ||||
| import { definePageMetadata } from '@/scripts/page-metadata.js'; | ||||
| import MkAsUi from '@/components/MkAsUi.vue'; | ||||
| import { AsUiComponent, AsUiRoot, registerAsUiLib } from '@/scripts/aiscript/ui.js'; | ||||
| import { registerAsUiLib } from '@/scripts/aiscript/ui.js'; | ||||
| import { aiScriptReadline, createAiScriptEnv } from '@/scripts/aiscript/api.js'; | ||||
| import MkFolder from '@/components/MkFolder.vue'; | ||||
| import MkCode from '@/components/MkCode.vue'; | ||||
| @@ -80,9 +80,12 @@ import { defaultStore } from '@/store.js'; | ||||
| import { $i } from '@/account.js'; | ||||
| import { isSupportShare } from '@/scripts/navigator.js'; | ||||
| import { copyToClipboard } from '@/scripts/copy-to-clipboard.js'; | ||||
| import type { MenuItem } from '@/types/menu.js'; | ||||
| import { pleaseLogin } from '@/scripts/please-login.js'; | ||||
|  | ||||
| import type { Ref } from 'vue'; | ||||
| import type { AsUiComponent, AsUiRoot } from '@/scripts/aiscript/ui.js'; | ||||
| import type { MenuItem } from '@/types/menu.js'; | ||||
|  | ||||
| const props = defineProps<{ | ||||
| 	id: string; | ||||
| }>(); | ||||
|   | ||||
| @@ -46,7 +46,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| <script lang="ts" setup> | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import { shallowRef, computed, ref } from 'vue'; | ||||
| import MkPagination, { type Paging } from '@/components/MkPagination.vue'; | ||||
| import MkPagination from '@/components/MkPagination.vue'; | ||||
| import type { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import { userPage, acct } from '@/filters/user.js'; | ||||
| import * as os from '@/os.js'; | ||||
|   | ||||
| @@ -46,14 +46,16 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| <script lang="ts" setup> | ||||
| import { ref, computed, onActivated, onDeactivated, nextTick } from 'vue'; | ||||
| import MkLoading from '@/components/global/MkLoading.vue'; | ||||
| import MkExtensionInstaller, { type Extension } from '@/components/MkExtensionInstaller.vue'; | ||||
| import MkExtensionInstaller from '@/components/MkExtensionInstaller.vue'; | ||||
| import type { Extension } from '@/components/MkExtensionInstaller.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import MkKeyValue from '@/components/MkKeyValue.vue'; | ||||
| import MkUrl from '@/components/global/MkUrl.vue'; | ||||
| import FormSection from '@/components/form/section.vue'; | ||||
| import * as os from '@/os.js'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
| import { AiScriptPluginMeta, parsePluginMeta, installPlugin } from '@/scripts/install-plugin.js'; | ||||
| import { parsePluginMeta, installPlugin } from '@/scripts/install-plugin.js'; | ||||
| import type { AiScriptPluginMeta } from '@/scripts/install-plugin.js'; | ||||
| import { parseThemeCode, installTheme } from '@/scripts/install-theme.js'; | ||||
| import { unisonReload } from '@/scripts/unison-reload.js'; | ||||
| import { i18n } from '@/i18n.js'; | ||||
|   | ||||
| @@ -135,7 +135,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| <script lang="ts" setup> | ||||
| import { ref, computed, watch } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import MkChart, { type ChartSrc } from '@/components/MkChart.vue'; | ||||
| import MkChart from '@/components/MkChart.vue'; | ||||
| import type { ChartSrc } from '@/components/MkChart.vue'; | ||||
| import MkObjectView from '@/components/MkObjectView.vue'; | ||||
| import FormLink from '@/components/form/link.vue'; | ||||
| import MkLink from '@/components/MkLink.vue'; | ||||
| @@ -151,7 +152,8 @@ import { iAmModerator, iAmAdmin } from '@/account.js'; | ||||
| import { definePageMetadata } from '@/scripts/page-metadata.js'; | ||||
| import { i18n } from '@/i18n.js'; | ||||
| import MkUserCardMini from '@/components/MkUserCardMini.vue'; | ||||
| import MkPagination, { type Paging } from '@/components/MkPagination.vue'; | ||||
| import MkPagination from '@/components/MkPagination.vue'; | ||||
| import type { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue'; | ||||
| import { getProxiedImageUrlNullable } from '@/scripts/media-proxy.js'; | ||||
| import { dateString } from '@/filters/date.js'; | ||||
|   | ||||
| @@ -35,12 +35,13 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { computed, ref, shallowRef } from 'vue'; | ||||
| import type * as Misskey from 'misskey-js'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import { i18n } from '@/i18n.js'; | ||||
| import * as os from '@/os.js'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import MkPagination, { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkPagination from '@/components/MkPagination.vue'; | ||||
| import type { Paging } from '@/components/MkPagination.vue'; | ||||
| import MkInviteCode from '@/components/MkInviteCode.vue'; | ||||
| import { definePageMetadata } from '@/scripts/page-metadata.js'; | ||||
| import { serverErrorImageUrl, instance } from '@/instance.js'; | ||||
|   | ||||
| @@ -57,7 +57,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| </template> | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { onDeactivated, onUnmounted, Ref, ref, watch, computed } from 'vue'; | ||||
| import { onDeactivated, onUnmounted, ref, watch, computed } from 'vue'; | ||||
| import type { Ref } from 'vue'; | ||||
| import { Interpreter, Parser, utils } from '@syuilo/aiscript'; | ||||
| import MkContainer from '@/components/MkContainer.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| @@ -68,11 +69,14 @@ import * as os from '@/os.js'; | ||||
| import { $i } from '@/account.js'; | ||||
| import { i18n } from '@/i18n.js'; | ||||
| import { definePageMetadata } from '@/scripts/page-metadata.js'; | ||||
| import { AsUiComponent, AsUiRoot, registerAsUiLib } from '@/scripts/aiscript/ui.js'; | ||||
| import { registerAsUiLib } from '@/scripts/aiscript/ui.js'; | ||||
| import type { AsUiComponent } from '@/scripts/aiscript/ui.js'; | ||||
| import MkAsUi from '@/components/MkAsUi.vue'; | ||||
| import { miLocalStorage } from '@/local-storage.js'; | ||||
| import { claimAchievement } from '@/scripts/achievements.js'; | ||||
|  | ||||
| import type { AsUiRoot } from '@/scripts/aiscript/ui.js'; | ||||
|  | ||||
| const parser = new Parser(); | ||||
| let aiscript: Interpreter; | ||||
| const code = ref(''); | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
|  * SPDX-License-Identifier: AGPL-3.0-only | ||||
|  */ | ||||
|  | ||||
| import { StoryObj } from '@storybook/vue3'; | ||||
| import type { StoryObj } from '@storybook/vue3'; | ||||
| import { HttpResponse, http } from 'msw'; | ||||
| import search_ from './search.vue'; | ||||
| import { userDetailed } from '@/../.storybook/fakes.js'; | ||||
|   | ||||
| @@ -29,7 +29,7 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { ref, computed } from 'vue'; | ||||
| import type * as Misskey from 'misskey-js'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import FormSuspense from '@/components/form/suspense.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import * as os from '@/os.js'; | ||||
| @@ -38,7 +38,7 @@ import { getAccounts, removeAccount as _removeAccount, login, $i, getAccountWith | ||||
| import { i18n } from '@/i18n.js'; | ||||
| import { definePageMetadata } from '@/scripts/page-metadata.js'; | ||||
| import MkUserCardMini from '@/components/MkUserCardMini.vue'; | ||||
| import { MenuItem } from '@/types/menu'; | ||||
| import type { MenuItem } from '@/types/menu.js'; | ||||
|  | ||||
| const storedAccounts = ref<{ id: string, token: string }[] | null>(null); | ||||
| const accounts = ref(new Map<string, Misskey.entities.UserDetailed | null>()); | ||||
|   | ||||
| @@ -48,7 +48,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| </template> | ||||
|  | ||||
| <script setup lang="ts"> | ||||
| import { computed, ref, watch, type StyleValue } from 'vue'; | ||||
| import { computed, ref, watch } from 'vue'; | ||||
| import type { StyleValue } from 'vue'; | ||||
| import tinycolor from 'tinycolor2'; | ||||
| import * as os from '@/os.js'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
|   | ||||
| @@ -126,7 +126,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| </template> | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { computed, ref, Ref, watch } from 'vue'; | ||||
| import { computed, ref, watch } from 'vue'; | ||||
| import type { Ref } from 'vue'; | ||||
| import Sortable from 'vuedraggable'; | ||||
| import MkRadios from '@/components/MkRadios.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
|   | ||||
| @@ -35,9 +35,11 @@ import MkSuperMenu from '@/components/MkSuperMenu.vue'; | ||||
| import { signout, $i } from '@/account.js'; | ||||
| import { clearCache } from '@/scripts/clear-cache.js'; | ||||
| import { instance } from '@/instance.js'; | ||||
| import { PageMetadata, definePageMetadata, provideMetadataReceiver, provideReactiveMetadata } from '@/scripts/page-metadata.js'; | ||||
| import { definePageMetadata, provideMetadataReceiver, provideReactiveMetadata } from '@/scripts/page-metadata.js'; | ||||
| import * as os from '@/os.js'; | ||||
| import { useRouter } from '@/router/supplier.js'; | ||||
| import type { PageMetadata } from '@/scripts/page-metadata.js'; | ||||
| import type { SuperMenuDef } from '@/components/MkSuperMenu.vue'; | ||||
|  | ||||
| const indexInfo = { | ||||
| 	title: i18n.ts.settings, | ||||
| @@ -60,7 +62,7 @@ const ro = new ResizeObserver((entries, observer) => { | ||||
| 	narrow.value = entries[0].borderBoxSize[0].inlineSize < NARROW_THRESHOLD; | ||||
| }); | ||||
|  | ||||
| const menuDef = computed(() => [{ | ||||
| const menuDef = computed<SuperMenuDef[]>(() => [{ | ||||
| 	title: i18n.ts.basicSettings, | ||||
| 	items: [{ | ||||
| 		icon: 'ti ti-user', | ||||
|   | ||||
| @@ -63,7 +63,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { shallowRef, computed } from 'vue'; | ||||
| import XNotificationConfig, { type NotificationConfig } from './notifications.notification-config.vue'; | ||||
| import XNotificationConfig from './notifications.notification-config.vue'; | ||||
| import type { NotificationConfig } from './notifications.notification-config.vue'; | ||||
| import FormLink from '@/components/form/link.vue'; | ||||
| import FormSection from '@/components/form/section.vue'; | ||||
| import MkFolder from '@/components/MkFolder.vue'; | ||||
|   | ||||
| @@ -38,7 +38,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
| </template> | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { Ref, computed, ref } from 'vue'; | ||||
| import { computed, ref } from 'vue'; | ||||
| import type { Ref } from 'vue'; | ||||
| import XSound from './sounds.sound.vue'; | ||||
| import type { SoundType, OperationType } from '@/scripts/sound.js'; | ||||
| import type { SoundStore } from '@/store.js'; | ||||
|   | ||||
| @@ -37,7 +37,8 @@ import MkTextarea from '@/components/MkTextarea.vue'; | ||||
| import MkSelect from '@/components/MkSelect.vue'; | ||||
| import MkInput from '@/components/MkInput.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import { Theme, getBuiltinThemesRef } from '@/scripts/theme.js'; | ||||
| import { getBuiltinThemesRef } from '@/scripts/theme.js'; | ||||
| import type { Theme } from '@/scripts/theme.js'; | ||||
| import { copyToClipboard } from '@/scripts/copy-to-clipboard.js'; | ||||
| import * as os from '@/os.js'; | ||||
| import { getThemes, removeTheme } from '@/theme-store.js'; | ||||
|   | ||||
| @@ -87,7 +87,8 @@ import MkTextarea from '@/components/MkTextarea.vue'; | ||||
| import MkFolder from '@/components/MkFolder.vue'; | ||||
|  | ||||
| import { $i } from '@/account.js'; | ||||
| import { Theme, applyTheme } from '@/scripts/theme.js'; | ||||
| import { applyTheme } from '@/scripts/theme.js'; | ||||
| import type { Theme } from '@/scripts/theme.js'; | ||||
| import { host } from '@@/js/config.js'; | ||||
| import * as os from '@/os.js'; | ||||
| import { ColdDeviceStorage, defaultStore } from '@/store.js'; | ||||
|   | ||||
| @@ -15,7 +15,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { onMounted, shallowRef, ref } from 'vue'; | ||||
| import { Chart, ChartDataset } from 'chart.js'; | ||||
| import { Chart } from 'chart.js'; | ||||
| import type { ChartDataset } from 'chart.js'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import gradient from 'chartjs-plugin-gradient'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
|   | ||||
| @@ -15,7 +15,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { onMounted, shallowRef, ref } from 'vue'; | ||||
| import { Chart, ChartDataset } from 'chart.js'; | ||||
| import { Chart } from 'chart.js'; | ||||
| import type { ChartDataset } from 'chart.js'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import gradient from 'chartjs-plugin-gradient'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
|   | ||||
| @@ -15,7 +15,8 @@ SPDX-License-Identifier: AGPL-3.0-only | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| import { onMounted, shallowRef, ref } from 'vue'; | ||||
| import { Chart, ChartDataset } from 'chart.js'; | ||||
| import { Chart } from 'chart.js'; | ||||
| import type { ChartDataset } from 'chart.js'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import gradient from 'chartjs-plugin-gradient'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  */ | ||||
|  | ||||
| /* eslint-disable @typescript-eslint/explicit-function-return-type */ | ||||
| import { StoryObj } from '@storybook/vue3'; | ||||
| import type { StoryObj } from '@storybook/vue3'; | ||||
| import { HttpResponse, http } from 'msw'; | ||||
| import { userDetailed } from '../../../.storybook/fakes.js'; | ||||
| import { commonHandlers } from '../../../.storybook/mocks.js'; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 かっこかり
					かっこかり