feat(profile): account-deletion flow + terminal deleted screen

Profile gains a Delete-account control (durable accounts) opening a step-up dialog: a
mailed code for an email account, or the typed DELETE phrase for a platform-only one.
On success the app swaps to a terminal AccountDeleted screen ('Учётная запись удалена')
with a Close that closes the host Mini App (telegramClose / vkClose; web = no close).
Wires deleteRequest/deleteConfirm through client/transport/mock/codec; ru/en i18n;
codec wire test + Chromium/WebKit e2e.
This commit is contained in:
Ilia Denisov
2026-07-03 13:18:37 +02:00
parent aa2290b7b4
commit cabcd94d92
14 changed files with 267 additions and 2 deletions
+6
View File
@@ -277,6 +277,12 @@ export function createTransport(baseUrl: string): GatewayClient {
async changeEmailConfirm(email, code) {
return codec.decodeLinkResult(await exec('link.email.change.confirm', codec.encodeLinkEmailConfirm(email, code)));
},
async deleteRequest() {
return codec.decodeDeleteRequestResult(await exec('account.delete.request', codec.empty()));
},
async deleteConfirm(code, phrase) {
await exec('account.delete.confirm', codec.encodeAccountDeleteConfirm(code, phrase));
},
async statsGet() {
return codec.decodeStats(await exec('stats.get', codec.empty()));
},