From 6183ae4c4fc331953c42491881bcd3da687cb756 Mon Sep 17 00:00:00 2001 From: Matt Gabrenya Date: Mon, 29 Jan 2024 15:30:06 -0700 Subject: [PATCH 1/4] feat(tauri/ui): link to vault detail page from order detail page --- crates/subgraph/queries/order.graphql | 10 ++++++++ crates/subgraph/src/types/order.rs | 7 ++++++ .../src/lib/components/ButtonVaultLink.svelte | 16 +++++++++++++ tauri-app/src/lib/utils/address.ts | 8 +++++++ tauri-app/src/routes/orders/[id]/+page.svelte | 23 +++++++++++-------- 5 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 tauri-app/src/lib/components/ButtonVaultLink.svelte create mode 100644 tauri-app/src/lib/utils/address.ts diff --git a/crates/subgraph/queries/order.graphql b/crates/subgraph/queries/order.graphql index 18fac545a..f47bd4555 100644 --- a/crates/subgraph/queries/order.graphql +++ b/crates/subgraph/queries/order.graphql @@ -15,6 +15,11 @@ query OrderQuery($id: ID!) { tokenVault { id vaultId + vault { + owner { + id + } + } token { id name @@ -27,6 +32,11 @@ query OrderQuery($id: ID!) { tokenVault { id vaultId + vault { + owner { + id + } + } token { id name diff --git a/crates/subgraph/src/types/order.rs b/crates/subgraph/src/types/order.rs index 9ad0a12da..e4952fb39 100644 --- a/crates/subgraph/src/types/order.rs +++ b/crates/subgraph/src/types/order.rs @@ -53,9 +53,16 @@ pub struct Io { pub struct TokenVault { pub id: cynic::Id, pub vault_id: BigInt, + pub vault: Vault, pub token: Erc20, } +#[typeshare] +#[derive(cynic::QueryFragment, Debug, Clone, Serialize)] +pub struct Vault { + pub owner: Account, +} + #[typeshare] #[derive(cynic::QueryFragment, Debug, Clone, Serialize)] #[cynic(graphql_type = "ERC20")] diff --git a/tauri-app/src/lib/components/ButtonVaultLink.svelte b/tauri-app/src/lib/components/ButtonVaultLink.svelte new file mode 100644 index 000000000..a45a06641 --- /dev/null +++ b/tauri-app/src/lib/components/ButtonVaultLink.svelte @@ -0,0 +1,16 @@ + + \ No newline at end of file diff --git a/tauri-app/src/lib/utils/address.ts b/tauri-app/src/lib/utils/address.ts new file mode 100644 index 000000000..60330faca --- /dev/null +++ b/tauri-app/src/lib/utils/address.ts @@ -0,0 +1,8 @@ +import { getAddress, isAddress } from "viem"; + +export function formatAddressShorthand(address: string, size=4) { + if(!isAddress(address)) throw Error("Must be a valid address"); + const cased = getAddress(address); + + return `${cased.slice(0, size+2)}...${cased.slice(cased.length-size, cased.length)}`; +} diff --git a/tauri-app/src/routes/orders/[id]/+page.svelte b/tauri-app/src/routes/orders/[id]/+page.svelte index 2d3040f10..bc64f35a0 100644 --- a/tauri-app/src/routes/orders/[id]/+page.svelte +++ b/tauri-app/src/routes/orders/[id]/+page.svelte @@ -7,6 +7,7 @@ import ModalOrderRemove from '$lib/components/ModalOrderRemove.svelte'; import BadgeActive from '$lib/components/BadgeActive.svelte'; import { formatTimestampSecondsAsLocal } from '$lib/utils/time'; + import ButtonVaultLink from '$lib/components/ButtonVaultLink.svelte'; export let data: { id: string }; let showRemoveModal = false; @@ -59,24 +60,28 @@
- Input Token(s) + Input Vaults
-

- {order.valid_inputs?.map((t) => t.token_vault.token.name)} -

+
+ {#each (order.valid_inputs || []) as t} + + {/each} +
- Output Token(s) + Output Vaults
-

- {order.valid_outputs?.map((t) => t.token_vault.token.name)} -

+
+ {#each (order.valid_outputs || []) as t} + + {/each} +
{#if $walletAddressMatchesOrBlank(order.owner.id) && order.order_active} -
+
(showRemoveModal = true)}> Remove From bae7b8c4d168d1e7607043e6b93e6b395eb257c5 Mon Sep 17 00:00:00 2001 From: Matt Gabrenya Date: Mon, 29 Jan 2024 16:25:36 -0700 Subject: [PATCH 2/4] feat(tauri/ui): replace 'All Orders' and 'All Vaults' buttons with generic back button --- tauri-app/src/lib/components/ButtonBack.svelte | 8 ++++++++ tauri-app/src/routes/orders/[id]/+page.svelte | 8 +++----- tauri-app/src/routes/vaults/[id]/+page.svelte | 6 ++---- 3 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 tauri-app/src/lib/components/ButtonBack.svelte diff --git a/tauri-app/src/lib/components/ButtonBack.svelte b/tauri-app/src/lib/components/ButtonBack.svelte new file mode 100644 index 000000000..149e471be --- /dev/null +++ b/tauri-app/src/lib/components/ButtonBack.svelte @@ -0,0 +1,8 @@ + + + \ No newline at end of file diff --git a/tauri-app/src/routes/orders/[id]/+page.svelte b/tauri-app/src/routes/orders/[id]/+page.svelte index bc64f35a0..4eb8d1a8f 100644 --- a/tauri-app/src/routes/orders/[id]/+page.svelte +++ b/tauri-app/src/routes/orders/[id]/+page.svelte @@ -1,6 +1,5 @@