|
@@ -12,6 +12,7 @@ import {
|
|
|
watch,
|
|
watch,
|
|
|
} from 'vue';
|
|
} from 'vue';
|
|
|
|
|
|
|
|
|
|
+import { IconifyIcon } from '@velofex/icons';
|
|
|
import {
|
|
import {
|
|
|
loadLocaleMessages,
|
|
loadLocaleMessages,
|
|
|
type SupportedLanguagesType,
|
|
type SupportedLanguagesType,
|
|
@@ -622,7 +623,8 @@ function createTabContextMenus(tab: { key?: string }) {
|
|
|
refreshTabByKey(tabKey);
|
|
refreshTabByKey(tabKey);
|
|
|
},
|
|
},
|
|
|
key: 'refresh-current',
|
|
key: 'refresh-current',
|
|
|
- text: '刷新当前',
|
|
|
|
|
|
|
+ text: $t('home.tabContext.refreshCurrent'),
|
|
|
|
|
+ icon: h(IconifyIcon, { icon: 'lucide:refresh-cw' }),
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
disabled: !isCurrentTabClosable,
|
|
disabled: !isCurrentTabClosable,
|
|
@@ -630,7 +632,8 @@ function createTabContextMenus(tab: { key?: string }) {
|
|
|
handleTabClose(tabKey);
|
|
handleTabClose(tabKey);
|
|
|
},
|
|
},
|
|
|
key: 'close-current',
|
|
key: 'close-current',
|
|
|
- text: '关闭当前',
|
|
|
|
|
|
|
+ text: $t('home.tabContext.closeCurrent'),
|
|
|
|
|
+ icon: h(IconifyIcon, { icon: 'lucide:x' }),
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
disabled: !tabKey || iframeTabs.value.length <= 1,
|
|
disabled: !tabKey || iframeTabs.value.length <= 1,
|
|
@@ -638,13 +641,15 @@ function createTabContextMenus(tab: { key?: string }) {
|
|
|
closeOtherTabsByKey(tabKey);
|
|
closeOtherTabsByKey(tabKey);
|
|
|
},
|
|
},
|
|
|
key: 'close-other',
|
|
key: 'close-other',
|
|
|
- text: '关闭其他',
|
|
|
|
|
|
|
+ text: $t('home.tabContext.closeOther'),
|
|
|
|
|
+ icon: h(IconifyIcon, { icon: 'lucide:fold-horizontal' }),
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
disabled: !hasTabs,
|
|
disabled: !hasTabs,
|
|
|
handler: closeAllTabs,
|
|
handler: closeAllTabs,
|
|
|
key: 'close-all',
|
|
key: 'close-all',
|
|
|
- text: '关闭全部',
|
|
|
|
|
|
|
+ text: $t('home.tabContext.closeAll'),
|
|
|
|
|
+ icon: h(IconifyIcon, { icon: 'lucide:x-line-top' }),
|
|
|
},
|
|
},
|
|
|
];
|
|
];
|
|
|
|
|
|
|
@@ -756,7 +761,7 @@ function handleIframeLoad(event: Event) {
|
|
|
type="button"
|
|
type="button"
|
|
|
@click="openMobileSidebar"
|
|
@click="openMobileSidebar"
|
|
|
>
|
|
>
|
|
|
- Menu
|
|
|
|
|
|
|
+ {{ $t('home.sidebar.menu') }}
|
|
|
</button>
|
|
</button>
|
|
|
<SelectLang />
|
|
<SelectLang />
|
|
|
<Dropdown
|
|
<Dropdown
|
|
@@ -767,7 +772,7 @@ function handleIframeLoad(event: Event) {
|
|
|
@menu-click="(info: any) => handleUserMenuClick(info)"
|
|
@menu-click="(info: any) => handleUserMenuClick(info)"
|
|
|
>
|
|
>
|
|
|
<div class="user-avatar cursor-pointer">
|
|
<div class="user-avatar cursor-pointer">
|
|
|
- <img :src="avatarSrc" alt="avatar" />
|
|
|
|
|
|
|
+ <img :alt="$t('home.userMenu.avatarAlt')" :src="avatarSrc" />
|
|
|
</div>
|
|
</div>
|
|
|
</Dropdown>
|
|
</Dropdown>
|
|
|
</div>
|
|
</div>
|
|
@@ -817,7 +822,9 @@ function handleIframeLoad(event: Event) {
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
- <div v-else class="content-empty">暂无可显示内容</div>
|
|
|
|
|
|
|
+ <div v-else class="content-empty">
|
|
|
|
|
+ {{ $t('home.content.empty') }}
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</section>
|
|
</section>
|
|
|
</div>
|
|
</div>
|