diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-05-23 10:46:42 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-05-23 10:46:42 +0900 |
| commit | 2bfbbbf16ac1f085efa897c98913297fe09eef61 (patch) | |
| tree | c88edb1ca495c3f48e92c2a14744a06c006f6a2f /packages/frontend/src/pages | |
| parent | fix(backend): admin側のエンドポイントで作成した招待コード... (diff) | |
| download | misskey-2bfbbbf16ac1f085efa897c98913297fe09eef61.tar.gz misskey-2bfbbbf16ac1f085efa897c98913297fe09eef61.tar.bz2 misskey-2bfbbbf16ac1f085efa897c98913297fe09eef61.zip | |
enhance(frontend): improve tips
Diffstat (limited to 'packages/frontend/src/pages')
| -rw-r--r-- | packages/frontend/src/pages/admin/abuses.vue | 9 | ||||
| -rw-r--r-- | packages/frontend/src/pages/my-clips/index.vue | 5 | ||||
| -rw-r--r-- | packages/frontend/src/pages/my-lists/index.vue | 4 | ||||
| -rw-r--r-- | packages/frontend/src/pages/settings/other.vue | 20 | ||||
| -rw-r--r-- | packages/frontend/src/pages/timeline.vue | 12 |
5 files changed, 32 insertions, 18 deletions
diff --git a/packages/frontend/src/pages/admin/abuses.vue b/packages/frontend/src/pages/admin/abuses.vue index 14e8e600b0..4dbb573ceb 100644 --- a/packages/frontend/src/pages/admin/abuses.vue +++ b/packages/frontend/src/pages/admin/abuses.vue @@ -11,9 +11,9 @@ SPDX-License-Identifier: AGPL-3.0-only <MkButton link to="/admin/abuse-report-notification-recipient" primary>{{ i18n.ts.notificationSetting }}</MkButton> </div> - <MkInfo v-if="!store.r.abusesTutorial.value" closable @close="closeTutorial()"> + <MkTip k="abuses"> {{ i18n.ts._abuseUserReport.resolveTutorial }} - </MkInfo> + </MkTip> <div :class="$style.inputs" class="_gaps"> <MkSelect v-model="state" style="margin: 0; flex: 1;"> @@ -65,7 +65,6 @@ import XAbuseReport from '@/components/MkAbuseReport.vue'; import { i18n } from '@/i18n.js'; import { definePage } from '@/page.js'; import MkButton from '@/components/MkButton.vue'; -import MkInfo from '@/components/MkInfo.vue'; import { store } from '@/store.js'; const reports = useTemplateRef('reports'); @@ -90,10 +89,6 @@ function resolved(reportId) { reports.value?.paginator.removeItem(reportId); } -function closeTutorial() { - store.set('abusesTutorial', false); -} - const headerActions = computed(() => []); const headerTabs = computed(() => []); diff --git a/packages/frontend/src/pages/my-clips/index.vue b/packages/frontend/src/pages/my-clips/index.vue index 4dafd87b80..c386ed7239 100644 --- a/packages/frontend/src/pages/my-clips/index.vue +++ b/packages/frontend/src/pages/my-clips/index.vue @@ -5,7 +5,10 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <PageWithHeader v-model:tab="tab" :actions="headerActions" :tabs="headerTabs" :swipable="true"> - <div class="_spacer" style="--MI_SPACER-w: 700px;"> + <div class="_spacer _gaps" style="--MI_SPACER-w: 700px;"> + <MkTip k="clips"> + {{ i18n.ts._clip.tip }} + </MkTip> <div v-if="tab === 'my'" class="_gaps"> <MkButton primary rounded class="add" @click="create"><i class="ti ti-plus"></i> {{ i18n.ts.add }}</MkButton> diff --git a/packages/frontend/src/pages/my-lists/index.vue b/packages/frontend/src/pages/my-lists/index.vue index 41afabff99..fb31cd542c 100644 --- a/packages/frontend/src/pages/my-lists/index.vue +++ b/packages/frontend/src/pages/my-lists/index.vue @@ -7,6 +7,10 @@ SPDX-License-Identifier: AGPL-3.0-only <PageWithHeader :actions="headerActions" :tabs="headerTabs"> <div class="_spacer" style="--MI_SPACER-w: 700px;"> <div class="_gaps"> + <MkTip k="userLists"> + {{ i18n.ts._userLists.tip }} + </MkTip> + <MkResult v-if="items.length === 0" type="empty"/> <MkButton primary rounded style="margin: 0 auto;" @click="create"><i class="ti ti-plus"></i> {{ i18n.ts.createList }}</MkButton> diff --git a/packages/frontend/src/pages/settings/other.vue b/packages/frontend/src/pages/settings/other.vue index 7b6ad5e56e..f09cc9c9bc 100644 --- a/packages/frontend/src/pages/settings/other.vue +++ b/packages/frontend/src/pages/settings/other.vue @@ -123,6 +123,11 @@ SPDX-License-Identifier: AGPL-3.0-only <hr> + <MkButton @click="resetAllTips"><i class="ti ti-bulb"></i> {{ i18n.ts.redisplayAllTips }}</MkButton> + <MkButton @click="hideAllTips"><i class="ti ti-bulb-off"></i> {{ i18n.ts.hideAllTips }}</MkButton> + + <hr> + <FormSlot> <MkButton danger @click="migrate"><i class="ti ti-refresh"></i> {{ i18n.ts.migrateOldSettings }}</MkButton> <template #caption>{{ i18n.ts.migrateOldSettings_description }}</template> @@ -152,6 +157,7 @@ import { prefer } from '@/preferences.js'; import MkRolePreview from '@/components/MkRolePreview.vue'; import { signout } from '@/signout.js'; import { migrateOldSettings } from '@/pref-migrate.js'; +import { store, TIPS } from '@/store.js'; const $i = ensureSignin(); @@ -194,6 +200,20 @@ function migrate() { migrateOldSettings(); } +function resetAllTips() { + store.set('tips', {}); + os.success(); +} + +function hideAllTips() { + const v = {}; + for (const k of TIPS) { + v[k] = true; + } + store.set('tips', v); + os.success(); +} + const headerActions = computed(() => []); const headerTabs = computed(() => []); diff --git a/packages/frontend/src/pages/timeline.vue b/packages/frontend/src/pages/timeline.vue index 453a48d1bc..5696d1dd89 100644 --- a/packages/frontend/src/pages/timeline.vue +++ b/packages/frontend/src/pages/timeline.vue @@ -6,9 +6,9 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <PageWithHeader v-model:tab="src" :actions="headerActions" :tabs="$i ? headerTabs : headerTabsWhenNotLogin" :swipable="true" :displayMyAvatar="true"> <div class="_spacer" style="--MI_SPACER-w: 800px;"> - <MkInfo v-if="isBasicTimeline(src) && !store.r.timelineTutorials.value[src]" style="margin-bottom: var(--MI-margin);" closable @close="closeTutorial()"> + <MkTip v-if="isBasicTimeline(src)" :k="`tl.${src}`" style="margin-bottom: var(--MI-margin);"> {{ i18n.ts._timelineDescription[src] }} - </MkInfo> + </MkTip> <MkPostForm v-if="prefer.r.showFixedPostForm.value" :class="$style.postForm" class="_panel" fixed style="margin-bottom: var(--MI-margin);"/> <MkStreamingNotesTimeline ref="tlComponent" @@ -32,7 +32,6 @@ import type { Tab } from '@/components/global/MkPageHeader.tabs.vue'; import type { MenuItem } from '@/types/menu.js'; import type { BasicTimelineType } from '@/timelines.js'; import MkStreamingNotesTimeline from '@/components/MkStreamingNotesTimeline.vue'; -import MkInfo from '@/components/MkInfo.vue'; import MkPostForm from '@/components/MkPostForm.vue'; import * as os from '@/os.js'; import { store } from '@/store.js'; @@ -204,13 +203,6 @@ function focus(): void { tlComponent.value.focus(); } -function closeTutorial(): void { - if (!isBasicTimeline(src.value)) return; - const before = store.s.timelineTutorials; - before[src.value] = true; - store.set('timelineTutorials', before); -} - function switchTlIfNeeded() { if (isBasicTimeline(src.value) && !isAvailableBasicTimeline(src.value)) { src.value = availableBasicTimelines()[0]; |