use-auth.ts

Welcome back!
Account created successfully!
Signed in with Google!
Google connected successfully!
Organization switched
Logged out successfully
Login failed
Registration failed
Failed to switch organization

forgot-password-form.tsx · reset-password-form.tsx · verify-email-form.tsx

Password reset email sent!
Failed to request password reset
Password reset successfully!
Passwords do not match
Password must be at least 8 characters long
Failed to reset password
Your email has been verified!
Failed to verify email
Verification email sent! Check your inbox.
Email address is required to resend verification
Failed to resend verification email

course-card.tsx · course-header.tsx · link-course-modal.tsx

Successfully enrolled in course!
Failed to enroll in course.
Course linked successfully!
Failed to link course.

course-dashboard.tsx · sync-status-panel.tsx · instructor-course-guard.tsx

Course visibility updated
Failed to update course.
GitHub disconnected. Course content will no longer sync.
Failed to disconnect GitHub.
Course re-synced
Sync failed.
You don't have instructor access to this course.

course-members.tsx · organizations-tab.tsx

Added dev@example.com as student
Added dev@example.com
Role updated
Member removed
Left course
Left organization
Organization "Northwind Academy" created
Failed to add member
Failed to update role
Failed to remove member
Failed to create organization

profile-form.tsx · change-password-form.tsx · sessions-list.tsx · oauth-connections.tsx

Profile updated
Failed to update profile.
Verification email sent
Failed to send verification email.
Password changed
New passwords do not match
Password must be at least 8 characters
Failed to change password.
Session revoked
Failed to revoke session
Google disconnected
Failed to disconnect

lib/error.utils.ts — what humaniseError puts in an error toast

Please sign in and try again.
You don't have access to do that.
Your session has expired. Please sign in again.
That email and password don't match.
We couldn't find what you were looking for.
That already exists.
This conflicts with the current state. Refresh and try again.
You don't have permission for that action.
That operation isn't allowed right now.
Too many requests. Please slow down and try again shortly.
Couldn't reach the server. Check your connection and try again.
The service is temporarily unavailable. Try again soon.
An upstream service failed. Try again shortly.
We couldn't send the email. Try again shortly.
Payment failed. Check your details and try again.
Something went wrong on our side. Please try again.