diff --git a/apps/portal/src/pages/_app.tsx b/apps/portal/src/pages/_app.tsx index e3b9a8ba..bd05dbec 100644 --- a/apps/portal/src/pages/_app.tsx +++ b/apps/portal/src/pages/_app.tsx @@ -11,8 +11,8 @@ import AppShell from '~/components/global/AppShell'; import type { AppRouter } from '~/server/router'; -import '~/styles/globals.css'; import '@tih/ui/styles.css'; +import '~/styles/globals.css'; const MyApp: AppType<{ session: Session | null }> = ({ Component, diff --git a/apps/portal/src/pages/resumes/submit.tsx b/apps/portal/src/pages/resumes/submit.tsx new file mode 100644 index 00000000..6b427dda --- /dev/null +++ b/apps/portal/src/pages/resumes/submit.tsx @@ -0,0 +1,173 @@ +import Head from 'next/head'; +import { useState } from 'react'; +import { PaperClipIcon } from '@heroicons/react/24/outline'; +import { Button, Select, TextInput } from '@tih/ui'; + +const TITLE_PLACEHOLDER = + 'e.g. Applying for Company XYZ, please help me to review!'; +const ADDITIONAL_INFO_PLACEHOLDER = `e.g. I’m applying for company XYZ. I have been resume-rejected by N companies that I have applied for. Please help me to review so company XYZ gives me an interview!`; +const MAX_FILE_SIZE_LIMIT = 10485760; + +export default function SubmitResumeForm() { + const roleItems = [ + { + label: 'Frontend Engineer', + value: 'Frontend Engineer', + }, + { + label: 'Full-Stack Engineer', + value: 'Full-Stack Engineer', + }, + { + label: 'Backend Engineer', + value: 'Backend Engineer', + }, + ]; + + const experienceItems = [ + { + label: 'Fresh Graduate (0 - 1 years)', + value: 'Fresh Graduate (0 - 1 years)', + }, + { + label: 'Mid', + value: 'Mid', + }, + { + label: 'Senior', + value: 'Senior', + }, + ]; + + const locationItems = [ + { + label: 'United States', + value: 'United States', + }, + { + label: 'Singapore', + value: 'Singapore', + }, + { + label: 'India', + value: 'India', + }, + ]; + + const [title, setTitle] = useState(''); + const [role, setRole] = useState(roleItems[0].label); + const [experience, setExperience] = useState(experienceItems[0].label); + const [location, setLocation] = useState(locationItems[0].label); + const [resumeFile, setResumeFile] = useState(null); + + const onUploadFile = (event: React.ChangeEvent) => { + const file = event.target.files?.item(0); + if (file == null) { + return; + } + if (file.type !== 'application/pdf' || file.size > MAX_FILE_SIZE_LIMIT) { + return; + } + setResumeFile(file); + }; + + return ( + <> + + Upload a resume + +
+
+
+
+

Upload a resume

+
+ +
+
+ +
+
+ + +

or drag and drop

+
+

PDF up to 10MB

+
+ + +

+ Additional Information +

+