Add close action to token dropdowns
This commit is contained in:
parent
135a01b7fd
commit
475b0fbf01
@ -11,6 +11,7 @@ import type { ValidDeposit } from "@/model/ValidDeposit";
|
|||||||
import { decimalCount } from "@/utils/decimalCount";
|
import { decimalCount } from "@/utils/decimalCount";
|
||||||
import SpinnerComponent from "./SpinnerComponent.vue";
|
import SpinnerComponent from "./SpinnerComponent.vue";
|
||||||
import { getTokenImage } from "@/utils/imagesPath";
|
import { getTokenImage } from "@/utils/imagesPath";
|
||||||
|
import { onClickOutside } from "@vueuse/core";
|
||||||
|
|
||||||
import { TokenEnum } from "@/model/NetworkEnum";
|
import { TokenEnum } from "@/model/NetworkEnum";
|
||||||
|
|
||||||
@ -27,6 +28,9 @@ const {
|
|||||||
loadingNetworkLiquidity,
|
loadingNetworkLiquidity,
|
||||||
} = storeToRefs(etherStore);
|
} = storeToRefs(etherStore);
|
||||||
|
|
||||||
|
// html references
|
||||||
|
const tokenDropdownRef = ref<any>(null);
|
||||||
|
|
||||||
// Reactive state
|
// Reactive state
|
||||||
const tokenValue = ref<number>(0);
|
const tokenValue = ref<number>(0);
|
||||||
const enableConfirmButton = ref<boolean>(false);
|
const enableConfirmButton = ref<boolean>(false);
|
||||||
@ -75,6 +79,10 @@ const openTokenSelection = (): void => {
|
|||||||
selectTokenToggle.value = true;
|
selectTokenToggle.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
onClickOutside(tokenDropdownRef, () => {
|
||||||
|
selectTokenToggle.value = false;
|
||||||
|
});
|
||||||
|
|
||||||
const handleSelectedToken = (token: TokenEnum): void => {
|
const handleSelectedToken = (token: TokenEnum): void => {
|
||||||
etherStore.setSelectedToken(token);
|
etherStore.setSelectedToken(token);
|
||||||
selectTokenToggle.value = false;
|
selectTokenToggle.value = false;
|
||||||
@ -167,6 +175,7 @@ watch(walletAddress, (): void => {
|
|||||||
<div class="relative">
|
<div class="relative">
|
||||||
<button
|
<button
|
||||||
class="flex flex-row p-2 px-3 bg-gray-300 rounded-3xl min-w-fit gap-1"
|
class="flex flex-row p-2 px-3 bg-gray-300 rounded-3xl min-w-fit gap-1"
|
||||||
|
ref="tokenDropdownRef"
|
||||||
@click="openTokenSelection()"
|
@click="openTokenSelection()"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
|
@ -9,6 +9,10 @@ import { storeToRefs } from "pinia";
|
|||||||
import { connectProvider } from "@/blockchain/provider";
|
import { connectProvider } from "@/blockchain/provider";
|
||||||
import { TokenEnum } from "@/model/NetworkEnum";
|
import { TokenEnum } from "@/model/NetworkEnum";
|
||||||
import { getTokenImage } from "@/utils/imagesPath";
|
import { getTokenImage } from "@/utils/imagesPath";
|
||||||
|
import { onClickOutside } from "@vueuse/core";
|
||||||
|
|
||||||
|
// html references
|
||||||
|
const tokenDropdownRef = ref<any>(null);
|
||||||
|
|
||||||
// Reactive state
|
// Reactive state
|
||||||
const etherStore = useEtherStore();
|
const etherStore = useEtherStore();
|
||||||
@ -59,6 +63,10 @@ const openTokenSelection = (): void => {
|
|||||||
selectTokenToggle.value = true;
|
selectTokenToggle.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
onClickOutside(tokenDropdownRef, () => {
|
||||||
|
selectTokenToggle.value = false;
|
||||||
|
});
|
||||||
|
|
||||||
const handleSelectedToken = (token: TokenEnum): void => {
|
const handleSelectedToken = (token: TokenEnum): void => {
|
||||||
etherStore.setSelectedToken(token);
|
etherStore.setSelectedToken(token);
|
||||||
selectTokenToggle.value = false;
|
selectTokenToggle.value = false;
|
||||||
@ -108,6 +116,7 @@ const handleButtonClick = async (
|
|||||||
/>
|
/>
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
<button
|
<button
|
||||||
|
ref="tokenDropdownRef"
|
||||||
class="flex flex-row p-2 px-3 bg-gray-300 rounded-3xl min-w-fit gap-1"
|
class="flex flex-row p-2 px-3 bg-gray-300 rounded-3xl min-w-fit gap-1"
|
||||||
@click="openTokenSelection()"
|
@click="openTokenSelection()"
|
||||||
>
|
>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user