diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-07-03 11:20:26 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-03 11:20:26 +0900 |
| commit | 09a5e4b10aad85d27875f3cdc8f32bd820615978 (patch) | |
| tree | b79819b40e0630314522461ea01ef365562fb255 /packages/frontend/src/pages/admin | |
| parent | 🎨 (diff) | |
| download | misskey-09a5e4b10aad85d27875f3cdc8f32bd820615978.tar.gz misskey-09a5e4b10aad85d27875f3cdc8f32bd820615978.tar.bz2 misskey-09a5e4b10aad85d27875f3cdc8f32bd820615978.zip | |
fix(frontend): Paginatorの型エラー解消 (#16230)
* fix(frontend): fix paginator type error
* fix
* refactor
* fix
* fix
* fix(paginator): remove readonly type
* fix
* typo
* fix: R -> E
* remove any
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Diffstat (limited to 'packages/frontend/src/pages/admin')
| -rw-r--r-- | packages/frontend/src/pages/admin/files.vue | 4 | ||||
| -rw-r--r-- | packages/frontend/src/pages/admin/invites.vue | 7 | ||||
| -rw-r--r-- | packages/frontend/src/pages/admin/roles.role.vue | 10 | ||||
| -rw-r--r-- | packages/frontend/src/pages/admin/users.vue | 4 |
4 files changed, 13 insertions, 12 deletions
diff --git a/packages/frontend/src/pages/admin/files.vue b/packages/frontend/src/pages/admin/files.vue index 0f3a90b458..b4ec930997 100644 --- a/packages/frontend/src/pages/admin/files.vue +++ b/packages/frontend/src/pages/admin/files.vue @@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only <option value="local">{{ i18n.ts.local }}</option> <option value="remote">{{ i18n.ts.remote }}</option> </MkSelect> - <MkInput v-model="searchHost" :debounce="true" type="search" style="margin: 0; flex: 1;" :disabled="paginator.computedParams.value.origin === 'local'"> + <MkInput v-model="searchHost" :debounce="true" type="search" style="margin: 0; flex: 1;" :disabled="paginator.computedParams?.value?.origin === 'local'"> <template #label>{{ i18n.ts.host }}</template> </MkInput> </div> @@ -44,7 +44,7 @@ import { i18n } from '@/i18n.js'; import { definePage } from '@/page.js'; import { Paginator } from '@/utility/paginator.js'; -const origin = ref<Misskey.entities.AdminDriveFilesRequest['origin']>('local'); +const origin = ref<NonNullable<Misskey.entities.AdminDriveFilesRequest['origin']>>('local'); const type = ref<string | null>(null); const searchHost = ref(''); const userId = ref(''); diff --git a/packages/frontend/src/pages/admin/invites.vue b/packages/frontend/src/pages/admin/invites.vue index e1b4890513..1c551cb477 100644 --- a/packages/frontend/src/pages/admin/invites.vue +++ b/packages/frontend/src/pages/admin/invites.vue @@ -44,7 +44,7 @@ SPDX-License-Identifier: AGPL-3.0-only <MkPagination :paginator="paginator"> <template #default="{ items }"> <div class="_gaps_s"> - <MkInviteCode v-for="item in items" :key="item.id" :invite="(item as any)" :onDeleted="deleted" moderator/> + <MkInviteCode v-for="item in items" :key="item.id" :invite="item" :onDeleted="deleted" moderator/> </div> </template> </MkPagination> @@ -54,6 +54,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script lang="ts" setup> +import * as Misskey from 'misskey-js'; import { computed, markRaw, ref, useTemplateRef } from 'vue'; import { i18n } from '@/i18n.js'; import * as os from '@/os.js'; @@ -68,8 +69,8 @@ import MkInviteCode from '@/components/MkInviteCode.vue'; import { definePage } from '@/page.js'; import { Paginator } from '@/utility/paginator.js'; -const type = ref('all'); -const sort = ref('+createdAt'); +const type = ref<NonNullable<Misskey.entities.AdminInviteListRequest['type']>>('all'); +const sort = ref<NonNullable<Misskey.entities.AdminInviteListRequest['sort']>>('+createdAt'); const paginator = markRaw(new Paginator('admin/invite/list', { limit: 10, diff --git a/packages/frontend/src/pages/admin/roles.role.vue b/packages/frontend/src/pages/admin/roles.role.vue index 64b6231398..1816aec21e 100644 --- a/packages/frontend/src/pages/admin/roles.role.vue +++ b/packages/frontend/src/pages/admin/roles.role.vue @@ -28,7 +28,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template #default="{ items }"> <div class="_gaps_s"> - <div v-for="item in items" :key="item.user.id" :class="[$style.userItem, { [$style.userItemOpend]: expandedItems.includes(item.id) }]"> + <div v-for="item in items" :key="item.user.id" :class="[$style.userItem, { [$style.userItemOpened]: expandedItems.includes(item.id) }]"> <div :class="$style.userItemMain"> <MkA :class="$style.userItemMainBody" :to="`/admin/user/${item.user.id}`"> <MkUserCardMini :user="item.user"/> @@ -76,12 +76,12 @@ const props = defineProps<{ const usersPaginator = markRaw(new Paginator('admin/roles/users', { limit: 20, - computedParams: computed(() => ({ + computedParams: computed(() => props.id ? ({ roleId: props.id, - })), + }) : undefined), })); -const expandedItems = ref([]); +const expandedItems = ref<string[]>([]); const role = reactive(await misskeyApi('admin/roles/show', { roleId: props.id, @@ -199,7 +199,7 @@ definePage(() => ({ transition: transform 0.1s ease-out; } -.userItem.userItemOpend { +.userItem.userItemOpened { .chevron { transform: rotateX(180deg); } diff --git a/packages/frontend/src/pages/admin/users.vue b/packages/frontend/src/pages/admin/users.vue index 581eb7eb97..7cbaeba8c7 100644 --- a/packages/frontend/src/pages/admin/users.vue +++ b/packages/frontend/src/pages/admin/users.vue @@ -38,7 +38,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template #prefix>@</template> <template #label>{{ i18n.ts.username }}</template> </MkInput> - <MkInput v-model="searchHost" style="flex: 1;" type="text" :spellcheck="false" :disabled="paginator.computedParams.value.origin === 'local'"> + <MkInput v-model="searchHost" style="flex: 1;" type="text" :spellcheck="false" :disabled="paginator.computedParams?.value?.origin === 'local'"> <template #prefix>@</template> <template #label>{{ i18n.ts.host }}</template> </MkInput> @@ -46,7 +46,7 @@ SPDX-License-Identifier: AGPL-3.0-only <MkPagination v-slot="{items}" :paginator="paginator"> <div :class="$style.users"> - <MkA v-for="user in items" :key="user.id" v-tooltip.mfm="`Last posted: ${dateString(user.updatedAt)}`" :class="$style.user" :to="`/admin/user/${user.id}`"> + <MkA v-for="user in items" :key="user.id" v-tooltip.mfm="`Last posted: ${user.updatedAt ? dateString(user.updatedAt) : 'Unknown'}`" :class="$style.user" :to="`/admin/user/${user.id}`"> <MkUserCardMini :user="user"/> </MkA> </div> |