2025-10-21 15:11:46 +07:00
|
|
|
<script setup lang="ts">
|
2025-11-05 04:14:37 +07:00
|
|
|
import { onMounted, ref } from 'vue'
|
2025-11-07 18:27:37 +07:00
|
|
|
import { TabsCommon, TabPaneCommon } from '@/components'
|
2025-10-23 15:30:00 +07:00
|
|
|
import { WalletTab, NetworkTab, UTXOTab } from './components'
|
2025-11-05 04:14:37 +07:00
|
|
|
import { useNeptuneWallet } from '@/composables/useNeptuneWallet'
|
|
|
|
|
|
|
|
|
|
const neptuneWallet = useNeptuneWallet()
|
2025-10-21 15:11:46 +07:00
|
|
|
|
2025-11-07 18:27:37 +07:00
|
|
|
const activeTab = ref('WALLET')
|
2025-10-29 19:55:44 +07:00
|
|
|
const network = ref('neptune-mainnet')
|
2025-11-05 04:14:37 +07:00
|
|
|
|
2025-11-07 18:27:37 +07:00
|
|
|
const tabItems = [
|
|
|
|
|
{ key: 'WALLET', label: 'WALLET' },
|
|
|
|
|
{ key: 'UTXOs', label: 'UTXOs' },
|
|
|
|
|
{ key: 'NETWORK', label: 'NETWORK' },
|
|
|
|
|
]
|
|
|
|
|
|
2025-11-05 04:14:37 +07:00
|
|
|
onMounted(async () => {
|
|
|
|
|
await neptuneWallet.getNetworkInfo()
|
|
|
|
|
})
|
2025-10-21 15:11:46 +07:00
|
|
|
</script>
|
2025-10-21 01:14:13 +07:00
|
|
|
|
|
|
|
|
<template>
|
2025-10-21 15:11:46 +07:00
|
|
|
<div class="home-container">
|
2025-11-07 18:27:37 +07:00
|
|
|
<TabsCommon v-model="activeTab" :items="tabItems" size="large" class="main-tabs">
|
|
|
|
|
<!-- WALLET TAB -->
|
|
|
|
|
<TabPaneCommon tab-key="WALLET">
|
2025-11-05 04:14:37 +07:00
|
|
|
<WalletTab :network="network" />
|
2025-11-07 18:27:37 +07:00
|
|
|
</TabPaneCommon>
|
|
|
|
|
|
|
|
|
|
<!-- UTXO TAB -->
|
|
|
|
|
<TabPaneCommon tab-key="UTXOs">
|
|
|
|
|
<UTXOTab />
|
|
|
|
|
</TabPaneCommon>
|
2025-11-05 04:14:37 +07:00
|
|
|
|
|
|
|
|
<!-- NETWORK TAB -->
|
2025-11-07 18:27:37 +07:00
|
|
|
<TabPaneCommon tab-key="NETWORK">
|
2025-11-05 04:14:37 +07:00
|
|
|
<NetworkTab />
|
2025-11-07 18:27:37 +07:00
|
|
|
</TabPaneCommon>
|
|
|
|
|
</TabsCommon>
|
2025-10-21 15:11:46 +07:00
|
|
|
</div>
|
2025-10-21 01:14:13 +07:00
|
|
|
</template>
|
|
|
|
|
|
2025-10-21 15:11:46 +07:00
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.home-container {
|
2025-11-05 04:14:37 +07:00
|
|
|
height: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
2025-10-21 15:11:46 +07:00
|
|
|
padding: var(--spacing-lg);
|
|
|
|
|
|
2025-10-24 22:49:46 +07:00
|
|
|
@include screen(tablet) {
|
2025-11-05 04:14:37 +07:00
|
|
|
padding: var(--spacing-xl);
|
2025-10-24 22:49:46 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@include screen(desktop) {
|
2025-11-05 04:14:37 +07:00
|
|
|
padding: var(--spacing-xl);
|
2025-10-21 15:11:46 +07:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-07 18:27:37 +07:00
|
|
|
.main-tabs {
|
2025-11-05 04:14:37 +07:00
|
|
|
height: 100%;
|
2025-10-21 15:11:46 +07:00
|
|
|
}
|
|
|
|
|
</style>
|