feat: Implement account deletion feature with UI and API integration
Some checks failed
Deploy tt-tagebuch / deploy (push) Has been cancelled
Some checks failed
Deploy tt-tagebuch / deploy (push) Has been cancelled
This commit is contained in:
@@ -198,6 +198,8 @@
|
||||
<router-link to="/impressum" class="footer-link">Impressum</router-link>
|
||||
<span class="footer-sep">·</span>
|
||||
<router-link to="/datenschutz" class="footer-link">Datenschutzerklärung</router-link>
|
||||
<span class="footer-sep">·</span>
|
||||
<router-link to="/konto-loeschen" class="footer-link">Konto löschen</router-link>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
@@ -36,6 +36,7 @@ const OrdersView = () => import('./views/OrdersView.vue');
|
||||
const BillingView = () => import('./views/BillingView.vue');
|
||||
const Impressum = () => import('./views/Impressum.vue');
|
||||
const Datenschutz = () => import('./views/Datenschutz.vue');
|
||||
const KontoLoeschen = () => import('./views/KontoLoeschen.vue');
|
||||
|
||||
const routes = [
|
||||
{ path: '/register', name: 'register', component: Register, meta: { public: true } },
|
||||
@@ -73,6 +74,7 @@ const routes = [
|
||||
{ path: '/billing', name: 'billing', component: BillingView },
|
||||
{ path: '/impressum', name: 'impressum', component: Impressum, meta: { public: true } },
|
||||
{ path: '/datenschutz', name: 'datenschutz', component: Datenschutz, meta: { public: true } },
|
||||
{ path: '/konto-loeschen', name: 'konto-loeschen', component: KontoLoeschen, meta: { public: true } },
|
||||
];
|
||||
|
||||
const router = createRouter({
|
||||
|
||||
@@ -71,6 +71,11 @@ const ROUTE_SEO = {
|
||||
title: 'Datenschutzerklärung | Trainingstagebuch',
|
||||
description: 'Datenschutzerklärung von Trainingstagebuch.',
|
||||
robots: 'index,follow'
|
||||
},
|
||||
'/konto-loeschen': {
|
||||
title: 'Konto und Daten löschen | Trainingstagebuch',
|
||||
description: 'Informationen zur Löschung des Benutzerkontos und personenbezogener Daten im Trainingstagebuch.',
|
||||
robots: 'index,follow'
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
69
frontend/src/views/KontoLoeschen.vue
Normal file
69
frontend/src/views/KontoLoeschen.vue
Normal file
@@ -0,0 +1,69 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<h1>Konto und Daten löschen</h1>
|
||||
<p class="back-home"><router-link to="/">Zur Startseite</router-link></p>
|
||||
|
||||
<section>
|
||||
<h2>Löschung in der Android-App</h2>
|
||||
<p>
|
||||
In der Android-App können Sie Ihr eigenes Benutzerkonto direkt löschen:
|
||||
</p>
|
||||
<ol>
|
||||
<li>App öffnen und einloggen.</li>
|
||||
<li>Zum Bereich <strong>Mehr</strong> wechseln.</li>
|
||||
<li><strong>Eigenes Konto löschen</strong> auswählen.</li>
|
||||
<li>Das App-Passwort eingeben und die Löschung bestätigen.</li>
|
||||
</ol>
|
||||
<p>
|
||||
Dabei werden Ihr Benutzerkonto, Login-Sessions, Vereinszuordnungen und personenbezogene Integrationsdaten gelöscht.
|
||||
Geteilte Vereinsdaten bleiben erhalten, soweit sie zur Vereinsverwaltung gehören oder andere Vereinsmitglieder betreffen.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Löschung per E-Mail anfordern</h2>
|
||||
<p>
|
||||
Falls Sie keinen Zugriff mehr auf die App haben, können Sie die Löschung per E-Mail anfordern:
|
||||
<a href="mailto:tsschulz@tsschulz.de?subject=Konto%20und%20Daten%20l%C3%B6schen">tsschulz@tsschulz.de</a>
|
||||
</p>
|
||||
<p>
|
||||
Bitte senden Sie die Anfrage von der E-Mail-Adresse, mit der Ihr Konto registriert ist.
|
||||
Zur Vermeidung unberechtigter Löschungen können zusätzliche Nachweise erforderlich sein.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Weitere Informationen</h2>
|
||||
<p>
|
||||
Details zur Verarbeitung, Speicherdauer und zu Ihren Betroffenenrechten finden Sie in der
|
||||
<router-link to="/datenschutz">Datenschutzerklärung</router-link>.
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'KontoLoeschen',
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
section + section {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.back-home {
|
||||
margin: 0 0 1rem 0;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user