website/public/assets/js/account.js
2022-07-23 17:24:19 +02:00

62 lines
1.9 KiB
JavaScript

document.getElementById('remove-discord-connection')?.addEventListener('click', () => {
// TODO: Refresh access token if expired (move this to the backend maybe?)
const tokenType = document.cookie.split('; ').find(row => row.startsWith('token_type=')).split('=')[1];
const accessToken = document.cookie.split('; ').find(row => row.startsWith('access_token=')).split('=')[1];
fetch('https://api.pretendo.cc/v1/connections/remove/discord', {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
'Authorization': `${tokenType} ${decodeURIComponent(accessToken)}`
}
})
.then(response => response.json())
.then(({ status }) => {
if (status === 200) {
location.reload();
}
})
.catch(console.log);
});
const onlineFilesModal = document.querySelector('.modal-wrapper#onlinefiles');
const onlineFilesModalButtonConfirm = document.getElementById('onlineFilesConfirmButton');
const onlineFilesModalButtonClose = document.getElementById('onlineFilesCloseButton');
const onlineFilesModalPasswordInput = document.getElementById('password');
document.getElementById('download-cemu-files')?.addEventListener('click', event => {
event.preventDefault();
onlineFilesModal.classList.remove('hidden');
});
onlineFilesModalButtonConfirm?.addEventListener('click', () => {
fetch('/account/online-files', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
password: onlineFilesModalPasswordInput.value
})
})
.then(response => response.blob())
.then(blob => URL.createObjectURL(blob))
.then(blobUrl => {
const a = document.createElement('a');
a.href = blobUrl;
a.setAttribute('download', 'Cemu Pretendo Online Files.zip');
a.click();
onlineFilesModal.classList.add('hidden');
})
.catch(console.log);
});
onlineFilesModalButtonClose?.addEventListener('click', () => {
onlineFilesModal.classList.add('hidden');
});