refactor
This commit is contained in:
parent
c19f51a2ab
commit
a8acbd6e68
packages/frontend/src
|
@ -103,7 +103,6 @@ function removeItem(index: number) {
|
||||||
|
|
||||||
async function save() {
|
async function save() {
|
||||||
prefer.commit('menu', items.value.map(x => x.type));
|
prefer.commit('menu', items.value.map(x => x.type));
|
||||||
await reloadAsk({ reason: i18n.ts.reloadToApplySetting, unison: true });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function reset() {
|
function reset() {
|
||||||
|
|
|
@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<MkA :class="$style.item" :activeClass="$style.active" to="/" exact>
|
<MkA :class="$style.item" :activeClass="$style.active" to="/" exact>
|
||||||
<i :class="$style.itemIcon" class="ti ti-home ti-fw"></i><span :class="$style.itemText">{{ i18n.ts.timeline }}</span>
|
<i :class="$style.itemIcon" class="ti ti-home ti-fw"></i><span :class="$style.itemText">{{ i18n.ts.timeline }}</span>
|
||||||
</MkA>
|
</MkA>
|
||||||
<template v-for="item in menu">
|
<template v-for="item in prefer.r.menu.value">
|
||||||
<div v-if="item === '-'" :class="$style.divider"></div>
|
<div v-if="item === '-'" :class="$style.divider"></div>
|
||||||
<component :is="navbarItemDef[item].to ? 'MkA' : 'button'" v-else-if="navbarItemDef[item] && (navbarItemDef[item].show !== false)" class="_button" :class="[$style.item, { [$style.active]: navbarItemDef[item].active }]" :activeClass="$style.active" :to="navbarItemDef[item].to" v-on="navbarItemDef[item].action ? { click: navbarItemDef[item].action } : {}">
|
<component :is="navbarItemDef[item].to ? 'MkA' : 'button'" v-else-if="navbarItemDef[item] && (navbarItemDef[item].show !== false)" class="_button" :class="[$style.item, { [$style.active]: navbarItemDef[item].active }]" :activeClass="$style.active" :to="navbarItemDef[item].to" v-on="navbarItemDef[item].action ? { click: navbarItemDef[item].action } : {}">
|
||||||
<i class="ti-fw" :class="[$style.itemIcon, navbarItemDef[item].icon]"></i><span :class="$style.itemText">{{ navbarItemDef[item].title }}</span>
|
<i class="ti-fw" :class="[$style.itemIcon, navbarItemDef[item].icon]"></i><span :class="$style.itemText">{{ navbarItemDef[item].title }}</span>
|
||||||
|
@ -49,7 +49,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { computed, defineAsyncComponent, toRef } from 'vue';
|
import { computed, defineAsyncComponent } from 'vue';
|
||||||
import { openInstanceMenu } from './common.js';
|
import { openInstanceMenu } from './common.js';
|
||||||
import * as os from '@/os.js';
|
import * as os from '@/os.js';
|
||||||
import { navbarItemDef } from '@/navbar.js';
|
import { navbarItemDef } from '@/navbar.js';
|
||||||
|
@ -59,10 +59,9 @@ import { instance } from '@/instance.js';
|
||||||
import { openAccountMenu as openAccountMenu_ } from '@/accounts.js';
|
import { openAccountMenu as openAccountMenu_ } from '@/accounts.js';
|
||||||
import { $i } from '@/i.js';
|
import { $i } from '@/i.js';
|
||||||
|
|
||||||
const menu = toRef(prefer.s, 'menu');
|
|
||||||
const otherMenuItemIndicated = computed(() => {
|
const otherMenuItemIndicated = computed(() => {
|
||||||
for (const def in navbarItemDef) {
|
for (const def in navbarItemDef) {
|
||||||
if (menu.value.includes(def)) continue;
|
if (prefer.r.menu.value.includes(def)) continue;
|
||||||
if (navbarItemDef[def].indicated) return true;
|
if (navbarItemDef[def].indicated) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<MkA v-tooltip.noDelay.right="i18n.ts.timeline" :class="$style.item" :activeClass="$style.active" to="/" exact>
|
<MkA v-tooltip.noDelay.right="i18n.ts.timeline" :class="$style.item" :activeClass="$style.active" to="/" exact>
|
||||||
<i :class="$style.itemIcon" class="ti ti-home ti-fw" style="viewTransitionName: navbar-homeIcon;"></i><span :class="$style.itemText">{{ i18n.ts.timeline }}</span>
|
<i :class="$style.itemIcon" class="ti ti-home ti-fw" style="viewTransitionName: navbar-homeIcon;"></i><span :class="$style.itemText">{{ i18n.ts.timeline }}</span>
|
||||||
</MkA>
|
</MkA>
|
||||||
<template v-for="item in menu">
|
<template v-for="item in prefer.r.menu.value">
|
||||||
<div v-if="item === '-'" :class="$style.divider"></div>
|
<div v-if="item === '-'" :class="$style.divider"></div>
|
||||||
<component
|
<component
|
||||||
:is="navbarItemDef[item].to ? 'MkA' : 'button'"
|
:is="navbarItemDef[item].to ? 'MkA' : 'button'"
|
||||||
|
@ -120,10 +120,9 @@ const iconOnly = computed(() => {
|
||||||
return forceIconOnly.value || (store.r.menuDisplay.value === 'sideIcon');
|
return forceIconOnly.value || (store.r.menuDisplay.value === 'sideIcon');
|
||||||
});
|
});
|
||||||
|
|
||||||
const menu = computed(() => prefer.s.menu);
|
|
||||||
const otherMenuItemIndicated = computed(() => {
|
const otherMenuItemIndicated = computed(() => {
|
||||||
for (const def in navbarItemDef) {
|
for (const def in navbarItemDef) {
|
||||||
if (menu.value.includes(def)) continue;
|
if (prefer.r.menu.value.includes(def)) continue;
|
||||||
if (navbarItemDef[def].indicated) return true;
|
if (navbarItemDef[def].indicated) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue