Fix: Implement Phase 1 and 2 for Account & Profile tab

This commit is contained in:
gpt-engineer-app[bot]
2025-10-14 18:44:14 +00:00
parent d4b859f637
commit 3833ba9748
9 changed files with 318 additions and 35 deletions

View File

@@ -8,11 +8,11 @@ interface EmailValidationResult {
/**
* Validates an email address against disposable email domains
* Uses the validate-email edge function to check the backend blocklist
* Uses the validate-email-backend edge function for server-side validation
*/
export async function validateEmailNotDisposable(email: string): Promise<EmailValidationResult> {
try {
const { data, error } = await supabase.functions.invoke('validate-email', {
const { data, error } = await supabase.functions.invoke('validate-email-backend', {
body: { email }
});

View File

@@ -92,6 +92,13 @@ export const personalLocationSchema = z.string()
)
.optional();
// Preferred pronouns validation
export const preferredPronounsSchema = z
.string()
.trim()
.max(20, { message: "Pronouns must be less than 20 characters" })
.optional();
export const profileEditSchema = z.object({
username: usernameSchema,
display_name: displayNameSchema,