diff --git a/components/react/views/EmailInput.tsx b/components/react/views/EmailInput.tsx
new file mode 100644
index 00000000..f8c13f0c
--- /dev/null
+++ b/components/react/views/EmailInput.tsx
@@ -0,0 +1,85 @@
+import { XMarkIcon, ArrowLeftIcon, ChevronLeftIcon } from '@heroicons/react/24/outline';
+import { Formik, Form } from 'formik';
+import * as Yup from 'yup';
+import { TextInput } from '../inputs/TextInput';
+import { Dialog } from '@headlessui/react';
+import Image from 'next/image';
+import { getRealLogo } from '@/utils';
+
+const validationSchema = Yup.object({
+ email: Yup.string()
+ .matches(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, 'Please enter a valid email address')
+ .required('Email is required')
+ .max(254, 'Email is too long')
+ .trim(),
+});
+
+export const EmailInput = ({
+ onClose,
+ onReturn,
+ onSubmit,
+}: {
+ onClose: () => void;
+ onReturn: () => void;
+ onSubmit: (email: string) => void;
+}) => {
+ const isDarkMode = document.documentElement.classList.contains('dark');
+ return (
+
+
+
+
+
+
+ Email
+
+
+
+
+
+ onSubmit(values.email)}
+ >
+ {({ isValid, dirty }) => (
+
+ )}
+
+
+
+ );
+};
diff --git a/components/react/views/Error.tsx b/components/react/views/Error.tsx
index d32482a8..f59961f6 100644
--- a/components/react/views/Error.tsx
+++ b/components/react/views/Error.tsx
@@ -25,7 +25,7 @@ export const Error = ({