File tree 2 files changed +8
-18
lines changed
app2/src/lib/components/Transfer
2 files changed +8
-18
lines changed Original file line number Diff line number Diff line change 37
37
38
38
let actionButtonText = $derived .by (() => {
39
39
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 ) {
42
46
return " Complete" ;
43
47
}
44
48
return TransferStep .match (currentStep , {
49
53
});
50
54
});
51
55
56
+
52
57
function handleActionButtonClick() {
53
58
if (Option .isNone (transferSteps )) return ;
54
59
const currentStep = transferSteps .value [currentPage ];
Original file line number Diff line number Diff line change 1
1
<script lang =" ts" >
2
2
import { Option } from " effect"
3
- import { lockedTransferStore } from " ../locked-transfer.svelte.ts"
4
- import { ApprovalRequired } from " ../transfer-step.ts"
5
3
import Button from " $lib/components/ui/Button.svelte"
6
4
import { transferHashStore } from " $lib/stores/transfer-hash.svelte.ts"
7
5
import { goto } from " $app/navigation"
8
6
import { truncate } from " $lib/utils/format.ts"
9
7
import { fly } from " svelte/transition"
10
8
11
9
type Props = {
12
- stepIndex: number
13
10
newTransfer: () => void
14
11
}
15
12
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 ()
29
14
30
15
$effect (() => {
31
16
if (Option .isSome (transferHashStore .data )) {
You can’t perform that action at this time.
0 commit comments