89d456fc7660a143ea836a528c636045a0cec9c6
Replaces template's mock account form with real Appwrite-backed actions. Server actions (lib/appwrite/profile-actions.ts): - updateNameAction: account.updateName via session SDK; revalidates layout so the new name shows in sidebar/header right away. - updateEmailAction: account.updateEmail (requires current password as Appwrite confirmation). Maps user_email_already_exists to a friendly Turkish message. - updatePasswordAction: account.updatePassword(new, old). Validates old != empty, new >= 8 chars, new === confirm. Maps user_password_recently_used / user_password_mismatch. - All audit-logged with entityType user_name / user_email / user_password and tenantId of the user's currently-active workspace (or 'global' if none). Audit failures swallowed. UI: - /settings/account is now an async server page that pulls the user via getCurrentUser, renders an account info card ($id, registration date, email verification, MFA), then 3 separate small forms — one card each — for name, email, password. Each form clears its own state and gives toast feedback independently. - Removed the template's react-hook-form-based mock page. Side note: skipped email-verification flow + MFA setup for later.
Description
No description provided
Languages
TypeScript
99.5%
CSS
0.5%