diff options
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rw-r--r-- | packages/frontend/src/pages/my-antennas/edit.vue | 12 | ||||
| -rw-r--r-- | packages/frontend/src/pages/my-antennas/index.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/src/pages/my-lists/index.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/src/pages/my-lists/list.vue | 25 |
5 files changed, 34 insertions, 10 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 15a5f2042c..10c9edfcc9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ - Enhance: プッシュ通知を行うための権限確認をより確実に行うように - Enhance: 投稿フォームのチュートリアルを追加 - Enhance: 「自動でもっと見る」をほとんどの箇所で利用可能に +- Enhance: アンテナ・リスト設定画面とタイムラインの動線を改善 + - アンテナ・リスト一覧画面の項目を選択すると、設定画面ではなくタイムラインに移動するようになりました + - アンテナ・リストの設定画面の右上にタイムラインに移動するボタンを追加しました - Fix: 紙吹雪エフェクトがアニメーション設定を考慮せず常に表示される問題を修正 - Fix: ナビゲーションバーのリアルタイムモード切替ボタンの状態をよりわかりやすく表示するように - Fix: ページのタイトルが長いとき、はみ出る問題を修正 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(() => []); |