User-style public ID, tutor quota on plan cards, switch and delete account
- profile shows "User482917" under the name, no copy button - plan cards start with "N questions a day from Pi (free: M)" taken from the plan itself - "ورود با حسابِ دیگر" signs out cleanly instead of keeping several accounts on one device - "حذفِ حساب": SMS code for phone users, typing "حذف" for guests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -46,6 +46,16 @@ export const api = {
|
||||
login: (phone: string, otp: string) =>
|
||||
http.post<T.AuthResponse>('/auth/login', { phone, otp }).then(saveTokens),
|
||||
|
||||
/**
|
||||
* حذفِ همیشگیِ حساب. کاربرِ شمارهدار کدِ تازهی پیامکی میدهد (اول requestOtp با شمارهی خودش)،
|
||||
* مهمان کلمهی «حذف» را. بعد از موفقیت توکنها پاک میشوند؛ دیگر کاربری پشتشان نیست.
|
||||
*/
|
||||
deleteAccount: (body: { otp?: string; confirm?: string }) =>
|
||||
http.post<{ success: boolean }>('/user/delete', body).then((r) => {
|
||||
http.storage.set(null);
|
||||
return r;
|
||||
}),
|
||||
|
||||
/** خروج در سرور (باطل کردنِ refresh token) و بعد پاک کردنِ حافظه. */
|
||||
async logout() {
|
||||
const refreshToken = http.storage.get()?.refreshToken;
|
||||
@@ -161,7 +171,7 @@ export const api = {
|
||||
},
|
||||
|
||||
subscription: {
|
||||
plans: () => http.get<{ plans: T.Plan[] }>('/subscription/plans').then((r) => r.plans),
|
||||
plans: () => http.get<T.PlansResponse>('/subscription/plans'),
|
||||
status: () => http.get<T.SubscriptionStatus>('/subscription/status'),
|
||||
/** سفارش میسازد؛ paymentUrl خودش سراغِ درگاه میرود. */
|
||||
purchase: (planId: string) => http.create<T.PurchaseResponse>('/subscription/purchase', { planId }),
|
||||
|
||||
Reference in New Issue
Block a user