]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts
Migrate to $localize
[github/Chocobozzz/PeerTube.git] / client / src / app / +my-account / my-account-settings / my-account-danger-zone / my-account-danger-zone.component.ts
1 import { Component, Input } from '@angular/core'
2 import { AuthService, ConfirmService, Notifier, RedirectService, User, UserService } from '@app/core'
3
4 @Component({
5 selector: 'my-account-danger-zone',
6 templateUrl: './my-account-danger-zone.component.html',
7 styleUrls: [ './my-account-danger-zone.component.scss' ]
8 })
9 export class MyAccountDangerZoneComponent {
10 @Input() user: User = null
11
12 constructor (
13 private authService: AuthService,
14 private notifier: Notifier,
15 private userService: UserService,
16 private confirmService: ConfirmService,
17 private redirectService: RedirectService
18 ) { }
19
20 async deleteMe () {
21 const res = await this.confirmService.confirmWithInput(
22 $localize`Are you sure you want to delete your account? This will delete all your data, including channels, videos and comments. Content cached by other servers and other third-parties might make longer to be deleted.`,
23 $localize`Type your username to confirm`,
24 this.user.username,
25 $localize`Delete your account`,
26 $localize`Delete my account`
27 )
28 if (res === false) return
29
30 this.userService.deleteMe().subscribe(
31 () => {
32 this.notifier.success($localize`Your account is deleted.`)
33
34 this.authService.logout()
35 this.redirectService.redirectToHomepage()
36 },
37
38 err => this.notifier.error(err.message)
39 )
40 }
41 }