improve layout

This commit is contained in:
liangping 2024-03-24 11:21:08 +08:00
parent a56271f370
commit be8da6d86c
2 changed files with 42 additions and 19 deletions

View File

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { Icon } from '@iconify/vue';
import { ref } from 'vue';
import { computed, ref } from 'vue';
// Components
import newFooter from '@/layouts/components/NavFooter.vue';
@ -9,16 +9,18 @@ import NavbarSearch from '@/layouts/components/NavbarSearch.vue';
import ChainProfile from '@/layouts/components/ChainProfile.vue';
import { useDashboard } from '@/stores/useDashboard';
import { useBlockchain } from '@/stores';
import { useBaseStore, useBlockchain } from '@/stores';
import NavBarI18n from './NavBarI18n.vue';
import NavBarWallet from './NavBarWallet.vue';
import type { NavGroup, NavLink, NavSectionTitle, VerticalNavItems } from '../types';
import dayjs from 'dayjs';
const dashboard = useDashboard();
dashboard.initial();
const blockchain = useBlockchain();
blockchain.randomSetupEndpoint();
const baseStore = useBaseStore();
const current = ref(''); // the current chain
const temp = ref('')
@ -56,6 +58,17 @@ function selected(route: any, nav: NavLink) {
const b = route.path === nav.to?.path || route.path.startsWith(nav.to?.path) && nav.title.indexOf('dashboard') === -1
return b
}
const blocktime = computed(() => {
return dayjs(baseStore.latest?.block?.header?.time)
});
const behind = computed(() => {
const current = dayjs().subtract(10, 'minute')
return blocktime.value.isBefore(current)
});
dayjs()
</script>
<template>
@ -89,12 +102,13 @@ function selected(route: any, nav: NavLink) {
:tabindex="index"
class="collapse"
:class="{
'collapse-arrow': item?.children?.length > 0,
'collapse-arrow':index > 0 && item?.children?.length > 0,
'collapse-open': index === 0 && sidebarOpen,
'collapse-close': index === 0 && !sidebarOpen,
}"
>
<input
v-if="index > 0"
type="checkbox"
class="cursor-pointer !h-10 block"
@click="changeOpen(index)"
@ -211,7 +225,20 @@ function selected(route: any, nav: NavLink) {
</div>
</div>
<div class="px-2">
<div class="px-4 text-sm pt-2 text-gray-400 pb-2 uppercase">
<div class="px-4 text-sm pt-2 text-gray-400 pb-2 uppercase">
Tools
</div>
<RouterLink to="/wallet/suggest"
class="py-2 px-4 flex items-center cursor-pointer rounded-lg hover:bg-gray-100 dark:hover:bg-[#373f59]"
>
<Icon icon="mdi:frequently-asked-questions" class="text-xl mr-2" />
<div
class="text-base capitalize flex-1 text-gray-600 dark:text-gray-200"
>
Wallet Helper
</div>
</RouterLink>
<div class="px-4 text-sm pt-2 text-gray-400 pb-2 uppercase">
{{ $t('module.sponsors') }}
</div>
<a
@ -259,21 +286,6 @@ function selected(route: any, nav: NavLink) {
Becole
</div>
</a>
<div class="px-4 text-sm pt-2 text-gray-400 pb-2 uppercase">
Tools
</div>
<RouterLink to="/wallet/suggest"
class="py-2 px-4 flex items-center cursor-pointer rounded-lg hover:bg-gray-100 dark:hover:bg-[#373f59]"
>
<Icon icon="mdi:frequently-asked-questions" class="text-xl mr-2" />
<div
class="text-base capitalize flex-1 text-gray-600 dark:text-gray-200"
>
Wallet Helper
</div>
</RouterLink>
<div class="px-4 text-sm pt-2 text-gray-400 pb-2 uppercase">{{ $t('module.links') }}</div>
<a
href="https://twitter.com/ping_pub"
@ -339,6 +351,16 @@ function selected(route: any, nav: NavLink) {
<!-- 👉 Pages -->
<div style="min-height: calc(100vh - 180px);">
<div v-if="behind" class="alert alert-error mb-4">
<div class="flex gap-2">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
class="stroke-current flex-shrink-0 w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
</svg>
<span>{{ $t('pages.out_of_sync') }} {{ blocktime.format() }} ({{ blocktime.fromNow() }})</span>
</div>
</div>
<RouterView v-slot="{ Component }">
<Transition mode="out-in">
<Component :is="Component" />

View File

@ -31,6 +31,7 @@
"description": "Cosmos Ecosystem Blockchains 🚀",
"search_placeholder": "Search Chain",
"description_all": "We couldn't find the page you are looking for.",
"out_of_sync": "The latest block was produced at ",
"btn_index": "Back to Home"
},
"account": {