From b4c31cd8566b834cbf83a434c705fb281d375d12 Mon Sep 17 00:00:00 2001 From: shadab-taiko <108871478+shadab-taiko@users.noreply.github.com> Date: Thu, 9 Mar 2023 19:41:49 +0530 Subject: [PATCH] feat(bridge-ui): support route param to directly open transactions tab (#13281) --- packages/bridge-ui/src/App.svelte | 2 +- packages/bridge-ui/src/pages/home/Home.svelte | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/bridge-ui/src/App.svelte b/packages/bridge-ui/src/App.svelte index cca26a6823c..12b7429747c 100644 --- a/packages/bridge-ui/src/App.svelte +++ b/packages/bridge-ui/src/App.svelte @@ -251,7 +251,7 @@ }; const routes = { - "/": wrap({ + "/:tab?": wrap({ component: Home, props: {}, userData: {}, diff --git a/packages/bridge-ui/src/pages/home/Home.svelte b/packages/bridge-ui/src/pages/home/Home.svelte index 9c5d42a0e02..63fd6c8a0b6 100644 --- a/packages/bridge-ui/src/pages/home/Home.svelte +++ b/packages/bridge-ui/src/pages/home/Home.svelte @@ -1,14 +1,15 @@ <script lang="ts"> import { _ } from 'svelte-i18n'; + import { link, location } from 'svelte-spa-router'; import { transactions } from '../../store/transactions'; import BridgeForm from '../../components/form/BridgeForm.svelte'; import TaikoBanner from '../../components/TaikoBanner.svelte'; import Transactions from '../../components/Transactions.svelte'; - let activeTab: string = 'bridge'; let bridgeWidth: number; let bridgeHeight: number; - + + $: activeTab = $location.replace('/', '').startsWith('transactions') ? 'transactions' : 'bridge'; $: isBridge = activeTab === 'bridge'; $: styleContainer = isBridge ? '' : `min-width: ${bridgeWidth}px;`; $: fitClassContainer = isBridge ? 'max-w-fit' : 'w-fit'; @@ -28,13 +29,13 @@ style={styleInner}> <!-- TODO: extract this tab component into a general one? --> <div class="tabs block mb-4"> - <span + <a class="tab tab-bordered {isBridge ? 'tab-active' : ''}" - on:click={() => (activeTab = 'bridge')}>Bridge</span> - <span + href="/" use:link>Bridge</a> + <a class="tab tab-bordered {!isBridge ? 'tab-active' : ''}" - on:click={() => (activeTab = 'transactions')} - >Transactions ({$transactions.length})</span> + href="/transactions" use:link + >Transactions ({$transactions.length})</a> </div> {#if activeTab === 'bridge'}