diff --git a/scripts/dashboard/Dashboard.vue b/scripts/dashboard/Dashboard.vue index 4482f861..52c37c81 100644 --- a/scripts/dashboard/Dashboard.vue +++ b/scripts/dashboard/Dashboard.vue @@ -385,7 +385,7 @@ async function send(address, amount, useShieldInputs) { */ function getMaxBalance(useShieldInputs) { const coinSatoshi = useShieldInputs ? wallet.shieldBalance : wallet.balance; - transferAmount.value = (coinSatoshi / COIN).toString(); + transferAmount.value = coinSatoshi / COIN; } async function importFromDatabase() { diff --git a/scripts/dashboard/TransferMenu.vue b/scripts/dashboard/TransferMenu.vue index ed3eb48e..787ba95c 100644 --- a/scripts/dashboard/TransferMenu.vue +++ b/scripts/dashboard/TransferMenu.vue @@ -34,24 +34,20 @@ const props = defineProps({ publicMode: Boolean, }); -const address = computed({ - get() { - return props.address; - }, - set(value) { - emit('update:address', value); - getAddressColor(value).then((c) => (color.value = c)); - }, -}); -const amount = computed({ - get() { - return props.amount; - }, +const address = defineModel('address'); + +watch(address, (value) => + getAddressColor(value).then((c) => (color.value = `${c} !important`)) +); + +const amount = defineModel('amount', { set(value) { - emit('update:amount', value.toString()); + return value.toString(); }, }); +watch(amount, () => syncAmountCurrency()); + function send() { // TODO: Maybe in the future do one of those cool animation that set the // Input red @@ -149,7 +145,7 @@ async function selectContact() { autocomplete="nope" onkeydown="javascript: return event.keyCode == 69 ? false : true" data-testid="amount" - @input="$nextTick(syncAmountCurrency)" + @input="syncAmountCurrency" v-model="amount" />