diff --git a/apps/web/src/composables/users.ts b/apps/web/src/composables/users.ts index 1c182e876..8474a917c 100644 --- a/apps/web/src/composables/users.ts +++ b/apps/web/src/composables/users.ts @@ -326,6 +326,17 @@ export default function useUsers () { return await fetch(`${usersBaseURL}/user/update-primary-account`, requestOptions) } + async function updateUserAgreement(agreed: boolean) { + const requestOptions = { + method: 'PUT', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ agreed }) + } + return await fetch(`${usersBaseURL}/user/update-user-agreement/${user.value?.id}`, requestOptions) + } + return { session, user: readonly(user), @@ -341,6 +352,7 @@ export default function useUsers () { removeAccount, setUser, setUserAccountBalances, - updatePrimaryAddress + updatePrimaryAddress, + updateUserAgreement } } \ No newline at end of file diff --git a/apps/web/src/pages/overview/components/Staking.vue b/apps/web/src/pages/overview/components/Staking.vue index 3dcb1bda0..e685efca2 100644 --- a/apps/web/src/pages/overview/components/Staking.vue +++ b/apps/web/src/pages/overview/components/Staking.vue @@ -11,7 +11,7 @@ import TermsOfService from '@/components/TermsOfService.vue' const { deposit, getDepositFees } = useContracts() const { getEthersBalance } = useEthers() -const { user } = useUsers() +const { user, updateUserAgreement } = useUsers() const { getCurrentPrice } = usePrice() const selectedProvider = ref('') @@ -140,6 +140,8 @@ watch(formattedAmountToStake, async () => { watch(user, () => { aggregateAddressesByProvider() + termsOfServiceCheckbox.value = user.value?.agreedToTermsOfService as boolean + console.log('user.value.agreedToTermsOfService :>> ', user.value?.agreedToTermsOfService) }) onMounted(async () => { @@ -344,6 +346,7 @@ const handleDeposit = async () => { v-model="termsOfServiceCheckbox" type="checkbox" class="card_checkbox" + @change="updateUserAgreement(termsOfServiceCheckbox)" >