From 7eb8ccae48b0cc18a9dcaa9c3626a02df8e6d919 Mon Sep 17 00:00:00 2001 From: JustZvan Date: Fri, 6 Feb 2026 13:22:33 +0100 Subject: feat: initial commit! --- api/settings.ts | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 api/settings.ts (limited to 'api/settings.ts') diff --git a/api/settings.ts b/api/settings.ts new file mode 100644 index 0000000..2823afa --- /dev/null +++ b/api/settings.ts @@ -0,0 +1,42 @@ +import { apiClient } from "./client"; + +interface VerifyEmailResponse { + success: boolean; + reason?: string; +} + +export async function verifyEmail( + code: string, +): Promise<{ success: boolean; error?: string }> { + try { + const response: VerifyEmailResponse = await apiClient.post( + "/parent/verifyemail", + { code }, + ); + return { success: response.success }; + } catch (e) { + console.error("Failed to verify email", e); + return { + success: false, + error: e instanceof Error ? e.message : "Failed to verify email", + }; + } +} + +export interface UserProfile { + email: string; + emailVerified: boolean; +} + +export async function getUserProfile(): Promise { + try { + const response = await apiClient.get<{ + success: boolean; + profile: UserProfile; + }>("/parent/profile"); + return response.profile; + } catch (e) { + console.error("Failed to fetch user profile", e); + return null; + } +} -- cgit v1.2.3