diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-08-26 13:34:41 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-08-26 13:34:41 +0900 |
| commit | d6a1046361d3d38726f2a86588960c3614f72a9f (patch) | |
| tree | d0a501710c36b8e9488e6756adc906c08447910b /packages/frontend/src/ui | |
| parent | refactor and fix (diff) | |
| download | misskey-d6a1046361d3d38726f2a86588960c3614f72a9f.tar.gz misskey-d6a1046361d3d38726f2a86588960c3614f72a9f.tar.bz2 misskey-d6a1046361d3d38726f2a86588960c3614f72a9f.zip | |
refactor
Diffstat (limited to 'packages/frontend/src/ui')
| -rw-r--r-- | packages/frontend/src/ui/_common_/announcements.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/src/ui/_common_/common.ts | 34 | ||||
| -rw-r--r-- | packages/frontend/src/ui/_common_/statusbar-rss.vue | 6 | ||||
| -rw-r--r-- | packages/frontend/src/ui/deck.vue | 2 |
4 files changed, 27 insertions, 17 deletions
diff --git a/packages/frontend/src/ui/_common_/announcements.vue b/packages/frontend/src/ui/_common_/announcements.vue index f9af8e1ee7..c299e1b1c1 100644 --- a/packages/frontend/src/ui/_common_/announcements.vue +++ b/packages/frontend/src/ui/_common_/announcements.vue @@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only --> <template> -<div :class="$style.root"> +<div v-if="$i" :class="$style.root"> <MkA v-for="announcement in $i.unreadAnnouncements.filter(x => x.display === 'banner')" :key="announcement.id" diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts index 9872937d21..a9ad36c97a 100644 --- a/packages/frontend/src/ui/_common_/common.ts +++ b/packages/frontend/src/ui/_common_/common.ts @@ -12,7 +12,7 @@ import { i18n } from '@/i18n.js'; import { $i } from '@/i.js'; function toolsMenuItems(): MenuItem[] { - return [{ + const items: MenuItem[] = [{ type: 'link', to: '/scratchpad', text: i18n.ts.scratchpad, @@ -27,17 +27,27 @@ function toolsMenuItems(): MenuItem[] { to: '/clicker', text: '🍪👈', icon: 'ti ti-cookie', - }, ($i && ($i.isAdmin || $i.policies.canManageCustomEmojis)) ? { - type: 'link', - to: '/custom-emojis-manager', - text: i18n.ts.manageCustomEmojis, - icon: 'ti ti-icons', - } : undefined, ($i && ($i.isAdmin || $i.policies.canManageAvatarDecorations)) ? { - type: 'link', - to: '/avatar-decorations', - text: i18n.ts.manageAvatarDecorations, - icon: 'ti ti-sparkles', - } : undefined]; + }]; + + if ($i && ($i.isAdmin || $i.policies.canManageCustomEmojis)) { + items.push({ + type: 'link', + to: '/custom-emojis-manager', + text: i18n.ts.manageCustomEmojis, + icon: 'ti ti-icons', + }); + } + + if ($i && ($i.isAdmin || $i.policies.canManageAvatarDecorations)) { + items.push({ + type: 'link' as const, + to: '/avatar-decorations', + text: i18n.ts.manageAvatarDecorations, + icon: 'ti ti-sparkles', + }); + } + + return items; } export function openInstanceMenu(ev: MouseEvent) { diff --git a/packages/frontend/src/ui/_common_/statusbar-rss.vue b/packages/frontend/src/ui/_common_/statusbar-rss.vue index 7db0d5267d..202972ed46 100644 --- a/packages/frontend/src/ui/_common_/statusbar-rss.vue +++ b/packages/frontend/src/ui/_common_/statusbar-rss.vue @@ -29,18 +29,18 @@ SPDX-License-Identifier: AGPL-3.0-only <script lang="ts" setup> import { ref } from 'vue'; import * as Misskey from 'misskey-js'; -import MkMarqueeText from '@/components/MkMarqueeText.vue'; import { useInterval } from '@@/js/use-interval.js'; +import MkMarqueeText from '@/components/MkMarqueeText.vue'; import { shuffle } from '@/utility/shuffle.js'; const props = defineProps<{ - url?: string; + url: string; shuffle?: boolean; display?: 'marquee' | 'oneByOne'; marqueeDuration?: number; marqueeReverse?: boolean; oneByOneInterval?: number; - refreshIntervalSec?: number; + refreshIntervalSec: number; }>(); const items = ref<Misskey.entities.FetchRssResponse['items']>([]); diff --git a/packages/frontend/src/ui/deck.vue b/packages/frontend/src/ui/deck.vue index 226981cca8..9f6d8267f7 100644 --- a/packages/frontend/src/ui/deck.vue +++ b/packages/frontend/src/ui/deck.vue @@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-only <div :class="$style.nonTitlebarArea"> <XSidebar v-if="!isMobile && prefer.r['deck.navbarPosition'].value === 'left'"/> - <div :class="[$style.main, { [$style.withWallpaper]: withWallpaper, [$style.withSidebarAndTitlebar]: !isMobile && prefer.r['deck.navbarPosition'].value === 'left' && prefer.r.showTitlebar.value }]" :style="{ backgroundImage: prefer.s['deck.wallpaper'] != null ? `url(${ prefer.s['deck.wallpaper'] })` : null }"> + <div :class="[$style.main, { [$style.withWallpaper]: withWallpaper, [$style.withSidebarAndTitlebar]: !isMobile && prefer.r['deck.navbarPosition'].value === 'left' && prefer.r.showTitlebar.value }]" :style="{ backgroundImage: prefer.s['deck.wallpaper'] != null ? `url(${ prefer.s['deck.wallpaper'] })` : '' }"> <XNavbarH v-if="!isMobile && prefer.r['deck.navbarPosition'].value === 'top'"/> <XReloadSuggestion v-if="shouldSuggestReload"/> |