mirror of
https://github.com/MadeBaruna/paimon-moe.git
synced 2024-11-23 07:17:43 +01:00
Handle save convert from google drive sync
This commit is contained in:
parent
d165d8161e
commit
084fa3e37c
3 changed files with 45 additions and 3 deletions
|
@ -89,13 +89,51 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function convertTime(data) {
|
||||||
|
for (const pull of data.pulls) {
|
||||||
|
pull.time = dayjs.unix(pull.time).format('YYYY-MM-DD HH:mm:ss');
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
async function useRemoteData() {
|
async function useRemoteData() {
|
||||||
for (const k in remoteSave) {
|
// check if old local storage version
|
||||||
await updateSave(k, remoteSave[k], true);
|
if (remoteSave['converted'] === undefined) {
|
||||||
|
for (const key in remoteSave) {
|
||||||
|
if (key.endsWith('ar') || key.endsWith('wl')) {
|
||||||
|
await updateSave(key, Number(remoteSave[key]), true);
|
||||||
|
} else if (key.endsWith('collectables-updated')) {
|
||||||
|
await updateSave(key, remoteSave[key] === 'true', true);
|
||||||
|
} else if (
|
||||||
|
key.endsWith('accounts') ||
|
||||||
|
key.endsWith('locale') ||
|
||||||
|
key.endsWith('server') ||
|
||||||
|
key.endsWith('update-time')
|
||||||
|
) {
|
||||||
|
await updateSave(key, remoteSave[key], true);
|
||||||
|
} else if (
|
||||||
|
key.endsWith('wish-counter-character-event') ||
|
||||||
|
key.endsWith('wish-counter-weapon-event') ||
|
||||||
|
key.endsWith('wish-counter-standard') ||
|
||||||
|
key.endsWith('wish-counter-beginners')
|
||||||
|
) {
|
||||||
|
const converted = convertTime(JSON.parse(remoteSave[key]));
|
||||||
|
await updateSave(key, converted, true);
|
||||||
|
} else {
|
||||||
|
await updateSave(key, JSON.parse(remoteSave[key]), true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log('finished convert from google drive');
|
||||||
|
} else {
|
||||||
|
for (const k in remoteSave) {
|
||||||
|
await updateSave(k, remoteSave[k], true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
synced.set(true);
|
synced.set(true);
|
||||||
closeModal();
|
closeModal();
|
||||||
|
window.location.reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function useLocalData() {
|
async function useLocalData() {
|
||||||
|
@ -269,6 +307,7 @@
|
||||||
document.body.appendChild(fileLink);
|
document.body.appendChild(fileLink);
|
||||||
fileLink.click();
|
fileLink.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<slot />
|
<slot />
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
$: if ($fromRemote) {
|
$: if ($fromRemote) {
|
||||||
|
console.log('update from google drive');
|
||||||
readLocalData();
|
readLocalData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,9 @@ const convertSave = async () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
localStorage.setItem(CONVERTED_KEY, dayjs().toISOString());
|
const convertedTime = dayjs().toISOString();
|
||||||
|
localStorage.setItem(CONVERTED_KEY, convertedTime);
|
||||||
|
await localforage.setItem(CONVERTED_KEY, convertedTime);
|
||||||
|
|
||||||
if (convertedCount > 0) {
|
if (convertedCount > 0) {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
|
|
Loading…
Reference in a new issue