This commit is contained in:
j3d1 2026-08-01 12:17:37 +02:00
parent 32addb8ed1
commit 2f8683add1
15 changed files with 610 additions and 134 deletions

View file

@ -72,7 +72,7 @@
</template>
<script>
import {mapActions, mapGetters, mapMutations} from 'vuex';
import {mapActions, mapGetters} from 'vuex';
import router from "@/router";
//import VueQrcode from '@chenfengyuan/vue-qrcode';
@ -95,9 +95,29 @@ export default {
this.selectedFile = file;
}
},
deleteData() {
if (confirm('Are you sure you want to delete your data?')) {
alert('Data deleted');
async deleteData() {
if (!confirm('Are you sure you want to permanently delete all your data (inventory, locations, ' +
'settings, friends and files)? Your account itself will stay - this cannot be undone.')) {
return;
}
try {
const servers = await this.getHomeServers();
const response = await servers.delete(this.signAuth, '/api/account_data/');
if (!response || !response.ok) {
const errorBody = response ? await response.json().catch(() => ({})) : {};
alert('Data deletion failed: ' + (errorBody.detail || response?.statusText || 'unknown error'));
return;
}
const summary = await response.json().catch(() => ({}));
alert('All your data has been deleted: ' +
`${summary.inventory_items || 0} inventory items, ` +
`${summary.locations || 0} locations, ` +
`${summary.settings || 0} settings, ` +
`${summary.friends || 0} friends, ` +
`${summary.files || 0} files.`);
} catch (error) {
console.error('Data deletion failed', error);
alert('Data deletion failed: ' + error);
}
},
exportKey() {