"content": "import { Button } from '@/registry/ui/button';\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/registry/ui/card';\nimport { Input } from '@/registry/ui/input';\nimport { Label } from '@/registry/ui/label';\nimport { Text } from '@/registry/ui/text';\nimport { useSignIn } from '@clerk/clerk-expo';\nimport * as React from 'react';\nimport { View } from 'react-native';\n\nexport function ForgotPasswordForm() {\n const [email, setEmail] = React.useState('');\n const { signIn, isLoaded } = useSignIn();\n const [error, setError] = React.useState<{ email?: string; password?: string }>({});\n\n const onSubmit = async () => {\n if (!email) {\n setError({ email: 'Email is required' });\n return;\n }\n if (!isLoaded) {\n return;\n }\n\n try {\n await signIn.create({\n strategy: 'reset_password_email_code',\n identifier: email,\n });\n\n // TODO: Navigate to reset password screen\n } catch (err) {\n // See https://go.clerk.com/mRUDrIe for more info on error handling\n if (err instanceof Error) {\n setError({ email: err.message });\n return;\n }\n console.error(JSON.stringify(err, null, 2));\n }\n };\n\n return (\n <View className=\"gap-6\">\n <Card className=\"border-border/0 sm:border-border shadow-none sm:shadow-sm sm:shadow-black/5\">\n <CardHeader>\n <CardTitle className=\"text-center text-xl sm:text-left\">Forgot password?</CardTitle>\n <CardDescription className=\"text-center sm:text-left\">\n Enter your email to reset your password\n </CardDescription>\n </CardHeader>\n <CardContent className=\"gap-6\">\n <View className=\"gap-6\">\n <View className=\"gap-1.5\">\n <Label htmlFor=\"email\">Email</Label>\n <Input\n id=\"email\"\n defaultValue={email}\n placeholder=\"
[email protected]\"\n keyboardType=\"email-address\"\n autoComplete=\"email\"\n autoCapitalize=\"none\"\n onChangeText={setEmail}\n onSubmitEditing={onSubmit}\n returnKeyType=\"send\"\n />\n {error.email ? (\n <Text className=\"text-destructive text-sm font-medium\">{error.email}</Text>\n ) : null}\n </View>\n <Button className=\"w-full\" onPress={onSubmit}>\n <Text>Reset your password</Text>\n </Button>\n </View>\n </CardContent>\n </Card>\n </View>\n );\n}\n",
0 commit comments