@meddleware/dashboard 0.1.14 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meddleware/dashboard",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "description": "Meddleware tools hub — Vue 3 SPA listing hosted services (Walrus, Access Gate) with white-label deploy options.",
5
5
  "author": "Meddleware <dev@meddleware.co.uk>",
6
6
  "license": "0BSD",
package/src/App.vue CHANGED
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { computed } from 'vue'
3
- import { useRoute, RouterView } from 'vue-router'
3
+ import { useRoute, RouterView, RouterLink } from 'vue-router'
4
4
  import {
5
5
  AppHeader, AppSidebar,
6
6
  ColorModeControl, SidebarItem, StatusWidget, CopyableAddress,
@@ -12,6 +12,7 @@ import NetworkSelector from './components/NetworkSelector.vue'
12
12
  const { mode, set } = useColorMode('dark')
13
13
  const route = useRoute()
14
14
 
15
+ const isHome = computed(() => route.path === '/')
15
16
  const isWalrus = computed(() => route.path === '/walrus')
16
17
  const isAccessGate = computed(() => route.path === '/access-gate')
17
18
  const isSealedStorage = computed(() => route.path === '/sealed-storage')
@@ -28,8 +29,10 @@ const { account, disconnect } = useWallet({
28
29
  <div class="app-shell">
29
30
  <AppHeader class="app-shell__header" variant="dark">
30
31
  <template #brand>
31
- <span class="brand-mark" aria-hidden="true">◆</span>
32
- <span>Meddleware</span>
32
+ <RouterLink to="/" class="brand-link">
33
+ <span class="brand-mark" aria-hidden="true">◆</span>
34
+ <span>Meddleware</span>
35
+ </RouterLink>
33
36
  </template>
34
37
  <template #actions>
35
38
  <ColorModeControl :model-value="mode" @update:model-value="set" />
@@ -38,6 +41,9 @@ const { account, disconnect } = useWallet({
38
41
 
39
42
  <AppSidebar class="app-shell__sidebar" variant="dark">
40
43
  <nav aria-label="Tools">
44
+ <router-link to="/" custom v-slot="{ navigate }">
45
+ <SidebarItem label="Home" icon="🏠" :active="isHome" @click="navigate" />
46
+ </router-link>
41
47
  <router-link to="/walrus" custom v-slot="{ navigate }">
42
48
  <SidebarItem label="Walrus" icon="🗄" :active="isWalrus" @click="navigate" />
43
49
  </router-link>
@@ -50,11 +56,6 @@ const { account, disconnect } = useWallet({
50
56
  </nav>
51
57
 
52
58
  <template #body>
53
- <NetworkSelector />
54
- </template>
55
-
56
- <template #foot>
57
- <StatusWidget class="sidebar-status" />
58
59
  <div v-if="account" class="wallet-connected">
59
60
  <CopyableAddress :address="account.address" />
60
61
  <button type="button" class="wallet-disconnect" @click="disconnect">Disconnect</button>
@@ -63,6 +64,11 @@ const { account, disconnect } = useWallet({
63
64
  <span class="wallet-status-dot" aria-hidden="true"></span>
64
65
  <span class="wallet-status-label">Not connected</span>
65
66
  </div>
67
+ <NetworkSelector />
68
+ </template>
69
+
70
+ <template #foot>
71
+ <StatusWidget class="sidebar-status" />
66
72
  <p class="sidebar-copyright">© {{ new Date().getFullYear() }} Meddleware</p>
67
73
  </template>
68
74
  </AppSidebar>
@@ -94,6 +100,7 @@ const { account, disconnect } = useWallet({
94
100
  .app-shell__main {
95
101
  overflow-y: auto;
96
102
  min-height: 0;
103
+ padding: 6px;
97
104
  }
98
105
 
99
106
  @media (max-width: 720px) {
@@ -106,6 +113,14 @@ const { account, disconnect } = useWallet({
106
113
  }
107
114
  }
108
115
 
116
+ .brand-link {
117
+ display: flex;
118
+ align-items: center;
119
+ gap: 0.5rem;
120
+ color: inherit;
121
+ text-decoration: none;
122
+ }
123
+
109
124
  .brand-mark {
110
125
  color: var(--gold);
111
126
  }
@@ -164,5 +179,6 @@ const { account, disconnect } = useWallet({
164
179
  color: var(--muted);
165
180
  margin: 0;
166
181
  opacity: 0.6;
182
+ text-align: center;
167
183
  }
168
184
  </style>
@@ -31,7 +31,7 @@ onMounted(() => {
31
31
  <label class="ns-label" for="ns-select">Network</label>
32
32
  <select id="ns-select" class="ns-select" :value="network" @change="onNetworkChange">
33
33
  <option value="testnet">Testnet</option>
34
- <option value="mainnet" disabled>Mainnet</option>
34
+ <option value="mainnet" disabled title="Coming soon">Mainnet</option>
35
35
  <option value="localnet">Localnet</option>
36
36
  </select>
37
37