feat: show publish action for tenant admins

This commit is contained in:
2025-12-25 15:05:05 +08:00
parent 4bf23e1f4a
commit 83ff116ea5
3 changed files with 53 additions and 3 deletions

View File

@@ -11,7 +11,7 @@ const { toggleMenu, toggleDarkMode, isDarkTheme } = useLayout();
const toast = useToast();
const router = useRouter();
const { state: sessionState, isLoggedIn, username, isTenantApproved } = useSession();
const { state: sessionState, isLoggedIn, username, isTenantApproved, isTenantAdmin, firstAdminTenantCode } = useSession();
const userMenuRef = ref();
@@ -38,6 +38,12 @@ const tenantApplyAction = computed(() => {
return { label: '申请创作者', to: '/tenant/apply', icon: 'pi pi-star' };
});
const publishTo = computed(() => {
const code = firstAdminTenantCode.value;
if (code) return { path: '/management/contents/new', query: { tenantCode: code } };
return '/management/contents/new';
});
const userMenuItems = computed(() => [
{ label: '个人中心', icon: 'pi pi-user', command: () => router.push('/me') },
{ separator: true },
@@ -112,6 +118,10 @@ onMounted(() => {
<div class="layout-topbar-menu hidden lg:block">
<div class="layout-topbar-menu-content">
<template v-if="isLoggedIn">
<router-link v-if="isTenantAdmin" :to="publishTo" class="layout-topbar-action layout-topbar-action-text">
<i class="pi pi-plus"></i>
<span>发布</span>
</router-link>
<router-link v-if="tenantApplyAction" :to="tenantApplyAction.to" class="layout-topbar-action layout-topbar-action-text">
<i :class="tenantApplyAction.icon"></i>
<span>{{ tenantApplyAction.label }}</span>