diff --git a/public/user-card/edit-icon.svg b/public/user-card/edit-icon.svg
new file mode 100644
index 00000000..7a4c631f
--- /dev/null
+++ b/public/user-card/edit-icon.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/user-card/tv.png b/public/user-card/tv.png
new file mode 100644
index 00000000..cb7c5469
Binary files /dev/null and b/public/user-card/tv.png differ
diff --git a/src/app/dev/page.tsx b/src/app/dev/page.tsx
new file mode 100644
index 00000000..7aeb2c12
--- /dev/null
+++ b/src/app/dev/page.tsx
@@ -0,0 +1,31 @@
+'use client';
+
+import Border from '@/components/Border';
+import { Suspense } from 'react';
+import UserCard from '@/components/UserCard';
+
+// For dev (delete soon)
+export default function page() {
+ return (
+
+
+
+ );
+}
+
+function Login() {
+ return (
+
+
+
+
+
+
+
+ {/* Break if the size is too small because the texts' sizes */}
+
+
+
+
+ );
+}
diff --git a/src/components/UserCard.tsx b/src/components/UserCard.tsx
new file mode 100644
index 00000000..e0726aa7
--- /dev/null
+++ b/src/components/UserCard.tsx
@@ -0,0 +1,50 @@
+import React from 'react';
+import TV from '@public/user-card/tv.png';
+import EditIcon from '@public/user-card/edit-icon.svg';
+import Image from 'next/image';
+import { useAuth } from '@/context/AuthContext';
+import { useRouter } from 'next/navigation';
+
+const UserCard = () => {
+ const router = useRouter();
+ const { user } = useAuth();
+ const name = `${user?.firstname} ${user?.lastname}`;
+ const studentId = user?.email.split('@')[0];
+ const photo_url = user?.photo_url;
+
+ return (
+
+
+
+
+ {photo_url && (
+

+ )}
+
+
+
{name}
+
รหัสนิสิต {studentId}
+
+
+
router.push('/edit')}
+ >
+
+
+
+ );
+};
+
+export default UserCard;