summaryrefslogtreecommitdiff
path: root/packages/frontend/src/ui
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-08-26 13:34:41 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-08-26 13:34:41 +0900
commitd6a1046361d3d38726f2a86588960c3614f72a9f (patch)
treed0a501710c36b8e9488e6756adc906c08447910b /packages/frontend/src/ui
parentrefactor and fix (diff)
downloadmisskey-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.vue2
-rw-r--r--packages/frontend/src/ui/_common_/common.ts34
-rw-r--r--packages/frontend/src/ui/_common_/statusbar-rss.vue6
-rw-r--r--packages/frontend/src/ui/deck.vue2
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"/>