Bring back ability to find out provider for profile page

This commit is contained in:
2026-01-13 15:09:10 -06:00
parent 8f71a22d2b
commit 09b191eb64
5 changed files with 34 additions and 17 deletions
@@ -14,7 +14,9 @@ const ProfileHeader = ({ preloadedUser }: ProfileCardProps) => {
const user = usePreloadedQuery(preloadedUser);
return (
<CardHeader>
<CardTitle className="text-xl">Account Settings</CardTitle>
<CardTitle className="text-xl">
Account Settings
</CardTitle>
<CardDescription>
Update your profile information and manage your account preferences
</CardDescription>
@@ -66,12 +66,12 @@ const formSchema = z
path: ['confirmPassword'],
});
type ResetFormProps = {
preloadedUser: Preloaded<typeof api.auth.getUser>;
interface ResetFormProps {
preloadedProvider: Preloaded<typeof api.auth.getUserProvider>;
};
export const ResetPasswordForm = ({ preloadedUser }: ResetFormProps) => {
const user = usePreloadedQuery(preloadedUser);
export const ResetPasswordForm = ({ preloadedProvider }: ResetFormProps) => {
const userProvider = usePreloadedQuery(preloadedProvider);
const [loading, setLoading] = useState(false);
const changePassword = useAction(api.auth.updateUserPassword);
@@ -104,12 +104,13 @@ export const ResetPasswordForm = ({ preloadedUser }: ResetFormProps) => {
}
};
// Only show password reset for email/password auth users
if (!user?.email) {
if (userProvider !== 'email') {
return null;
}
return (
<>
<Separator />
<CardHeader>
<CardTitle>Change Password</CardTitle>
<CardDescription>
@@ -40,12 +40,14 @@ const formSchema = z.object({
}),
});
type UserInfoFormProps = {
interface UserInfoFormProps {
preloadedUser: Preloaded<typeof api.auth.getUser>;
preloadedProvider: Preloaded<typeof api.auth.getUserProvider>;
};
export const UserInfoForm = ({ preloadedUser }: UserInfoFormProps) => {
export const UserInfoForm = ({ preloadedUser, preloadedProvider }: UserInfoFormProps) => {
const user = usePreloadedQuery(preloadedUser);
const userProvider = usePreloadedQuery(preloadedProvider);
const [loading, setLoading] = useState(false);
const updateUser = useMutation(api.auth.updateUser);
@@ -132,7 +134,7 @@ export const UserInfoForm = ({ preloadedUser }: UserInfoFormProps) => {
{...field}
type="email"
placeholder="john@example.com"
disabled={!user?.email}
disabled={userProvider !== 'email'}
/>
</FormControl>
<FormDescription>