summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-11-10 17:22:13 +0900
committerGitHub <noreply@github.com>2025-11-10 17:22:13 +0900
commit5c212c996aa10718bfdb91ed71ffe98e2a0e2e45 (patch)
treea8b90ba467994edad32449c2d0bc9f7a4554790f /packages
parentrefactor(frontend): フロントエンドの型エラー解消 (#16779) (diff)
downloadmisskey-5c212c996aa10718bfdb91ed71ffe98e2a0e2e45.tar.gz
misskey-5c212c996aa10718bfdb91ed71ffe98e2a0e2e45.tar.bz2
misskey-5c212c996aa10718bfdb91ed71ffe98e2a0e2e45.zip
enhance(frontend): アンテナ・リストの設定画面・タイムラインの動線を改善 (#16739)
* enhance(frontend): アンテナ・リストの設定画面からタイムラインへの動線を追加 * Update Changelog * fix
Diffstat (limited to 'packages')
-rw-r--r--packages/frontend/src/pages/my-antennas/edit.vue12
-rw-r--r--packages/frontend/src/pages/my-antennas/index.vue2
-rw-r--r--packages/frontend/src/pages/my-lists/index.vue2
-rw-r--r--packages/frontend/src/pages/my-lists/list.vue25
4 files changed, 31 insertions, 10 deletions
diff --git a/packages/frontend/src/pages/my-antennas/edit.vue b/packages/frontend/src/pages/my-antennas/edit.vue
index f449e83c1f..46344b40e5 100644
--- a/packages/frontend/src/pages/my-antennas/edit.vue
+++ b/packages/frontend/src/pages/my-antennas/edit.vue
@@ -36,7 +36,17 @@ misskeyApi('antennas/show', { antennaId: props.antennaId }).then((antennaRespons
antenna.value = antennaResponse;
});
-const headerActions = computed(() => []);
+const headerActions = computed(() => antenna.value ? [{
+ icon: 'ti ti-timeline',
+ text: i18n.ts.timeline,
+ handler: () => {
+ router.push('/timeline/antenna/:antennaId', {
+ params: {
+ antennaId: antenna.value!.id,
+ },
+ });
+ },
+}] : []);
const headerTabs = computed(() => []);
definePage(() => ({
diff --git a/packages/frontend/src/pages/my-antennas/index.vue b/packages/frontend/src/pages/my-antennas/index.vue
index d7625a8a1c..79a6ff3091 100644
--- a/packages/frontend/src/pages/my-antennas/index.vue
+++ b/packages/frontend/src/pages/my-antennas/index.vue
@@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkButton :link="true" to="/my/antennas/create" primary :class="$style.add"><i class="ti ti-plus"></i> {{ i18n.ts.add }}</MkButton>
<div v-if="antennas.length > 0" class="_gaps">
- <MkA v-for="antenna in antennas" :key="antenna.id" :class="$style.antenna" :to="`/my/antennas/${antenna.id}`">
+ <MkA v-for="antenna in antennas" :key="antenna.id" :class="$style.antenna" :to="`/timeline/antenna/${antenna.id}`">
<div class="name">{{ antenna.name }}</div>
</MkA>
</div>
diff --git a/packages/frontend/src/pages/my-lists/index.vue b/packages/frontend/src/pages/my-lists/index.vue
index 43d5432f66..1cad581aef 100644
--- a/packages/frontend/src/pages/my-lists/index.vue
+++ b/packages/frontend/src/pages/my-lists/index.vue
@@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkButton primary rounded style="margin: 0 auto;" @click="create"><i class="ti ti-plus"></i> {{ i18n.ts.createList }}</MkButton>
<div v-if="items.length > 0" class="_gaps">
- <MkA v-for="list in items" :key="list.id" class="_panel" :class="$style.list" :to="`/my/lists/${ list.id }`">
+ <MkA v-for="list in items" :key="list.id" class="_panel" :class="$style.list" :to="`/timeline/list/${list.id}`">
<div style="margin-bottom: 4px;">{{ list.name }} <span :class="$style.nUsers">({{ i18n.tsx.nUsers({ n: `${list.userIds!.length}/${$i.policies['userEachUserListsLimit']}` }) }})</span></div>
<MkAvatars :userIds="list.userIds!" :limit="10"/>
</MkA>
diff --git a/packages/frontend/src/pages/my-lists/list.vue b/packages/frontend/src/pages/my-lists/list.vue
index eb8e26be3b..132c55571a 100644
--- a/packages/frontend/src/pages/my-lists/list.vue
+++ b/packages/frontend/src/pages/my-lists/list.vue
@@ -26,10 +26,10 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts.members }}</template>
<template #caption>{{ i18n.tsx.nUsers({ n: `${list.userIds!.length}/${$i.policies['userEachUserListsLimit']}` }) }}</template>
- <div class="_gaps_s">
- <MkButton rounded primary style="margin: 0 auto;" @click="addUser()">{{ i18n.ts.addUser }}</MkButton>
+ <div class="_gaps">
+ <MkButton rounded primary style="margin: 0 auto;" @click="addUser()"><i class="ti ti-plus"></i> {{ i18n.ts.addUser }}</MkButton>
- <MkPagination :paginator="membershipsPaginator" withControl>
+ <MkPagination :paginator="membershipsPaginator">
<template #default="{ items }">
<div class="_gaps_s">
<div v-for="item in items" :key="item.id">
@@ -67,12 +67,13 @@ import MkInput from '@/components/MkInput.vue';
import { userListsCache } from '@/cache.js';
import { ensureSignin } from '@/i.js';
import MkPagination from '@/components/MkPagination.vue';
-import { mainRouter } from '@/router.js';
-import { prefer } from '@/preferences.js';
+import { useRouter } from '@/router.js';
import { Paginator } from '@/utility/paginator.js';
const $i = ensureSignin();
+const router = useRouter();
+
const props = defineProps<{
listId: string;
}>();
@@ -162,7 +163,7 @@ async function deleteList() {
listId: list.value.id,
});
userListsCache.delete();
- mainRouter.push('/my/lists');
+ router.push('/my/lists');
}
async function updateSettings() {
@@ -181,7 +182,17 @@ async function updateSettings() {
watch(() => props.listId, fetchList, { immediate: true });
-const headerActions = computed(() => []);
+const headerActions = computed(() => list.value ? [{
+ icon: 'ti ti-timeline',
+ text: i18n.ts.timeline,
+ handler: () => {
+ router.push('/timeline/list/:listId', {
+ params: {
+ listId: list.value!.id,
+ },
+ });
+ },
+}] : []);
const headerTabs = computed(() => []);