Skip to content

Commit 56a82c0

Browse files
Swepoolcor
authored andcommitted
feat(app2): wip - transfer state
1 parent a76cdfa commit 56a82c0

File tree

2 files changed

+8
-18
lines changed

2 files changed

+8
-18
lines changed

app2/src/lib/components/Transfer/index.svelte

+7-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,12 @@
3737
3838
let actionButtonText = $derived.by(() => {
3939
if (Option.isNone(transferSteps)) return "Submit";
40-
const currentStep = transferSteps.value[currentPage];
41-
if (currentPage === transferSteps.value.length - 1) {
40+
const steps = transferSteps.value;
41+
if (currentPage < 0 || currentPage >= steps.length || !steps[currentPage]) {
42+
return "Submit";
43+
}
44+
const currentStep = steps[currentPage];
45+
if (currentPage === steps.length - 1) {
4246
return "Complete";
4347
}
4448
return TransferStep.match(currentStep, {
@@ -49,6 +53,7 @@
4953
});
5054
});
5155
56+
5257
function handleActionButtonClick() {
5358
if (Option.isNone(transferSteps)) return;
5459
const currentStep = transferSteps.value[currentPage];

app2/src/lib/components/Transfer/pages/IndexPage.svelte

+1-16
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,16 @@
11
<script lang="ts">
22
import { Option } from "effect"
3-
import { lockedTransferStore } from "../locked-transfer.svelte.ts"
4-
import { ApprovalRequired } from "../transfer-step.ts"
53
import Button from "$lib/components/ui/Button.svelte"
64
import { transferHashStore } from "$lib/stores/transfer-hash.svelte.ts"
75
import { goto } from "$app/navigation"
86
import { truncate } from "$lib/utils/format.ts"
97
import { fly } from "svelte/transition"
108
119
type Props = {
12-
stepIndex: number
1310
newTransfer: () => void
1411
}
1512
16-
const { stepIndex, newTransfer }: Props = $props()
17-
18-
const lts = lockedTransferStore.get()
19-
20-
const step: Option.Option<ReturnType<typeof ApprovalRequired>> = $derived.by(() => {
21-
if (Option.isNone(lts)) return Option.none()
22-
23-
const steps = lts.value.steps
24-
if (stepIndex < 0 || stepIndex >= steps.length) return Option.none()
25-
26-
const step = steps[stepIndex]
27-
return step._tag === "ApprovalRequired" ? Option.some(step) : Option.none()
28-
})
13+
const { newTransfer }: Props = $props()
2914
3015
$effect(() => {
3116
if (Option.isSome(transferHashStore.data)) {

0 commit comments

Comments
 (0)