Skip to content
Permalink
84e7df6c30
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
149 lines (139 sloc) 3.57 KB
import {
Button,
Container,
Heading,
Input,
Text,
Textarea,
useToast,
} from "@chakra-ui/react";
import { useState } from "react";
import Success from "../../components/Success.js";
import { useLoaderData } from "@remix-run/react";
export function meta() {
return [
{
title: "Admin Application - Car Crushers",
},
];
}
export async function loader({ context }: { context: RequestContext }) {
const user: { [k: string]: any } = context.data.current_user;
if (!user)
throw new Response(null, {
status: 401,
});
return null;
}
export default function () {
const [loading, setLoading] = useState(false);
const [success, setSuccess] = useState(false);
const toast = useToast();
useLoaderData<typeof loader>();
async function submit() {
setLoading(true);
const submitReq = await fetch("/api/admin-apps/submit");
if (!submitReq.ok) {
toast({
title: "Error",
description:
"Something went wrong while submitting your application. Try again.",
status: "error",
});
return;
}
setLoading(false);
setSuccess(true);
}
return (
<>
<Container
maxW="container.md"
pt="4vh"
textAlign="start"
display={success ? "block" : "none"}
>
<Success
heading={"Application Submitted"}
message={
"Your application for admin has been submitted! We'll email you once we've reached a decision."
}
></Success>
</Container>
<Container
maxW="container.md"
pt="4vh"
textAlign="start"
display={success ? "none" : "block"}
>
<Heading size="xl">Admin Application</Heading>
<br />
<br />
<Text fontSize="md">Why do you want to be an admin?</Text>
<br />
<Textarea
maxLength={2000}
placeholder="Explain why you want to be an admin. This should be at least a few sentences."
/>
<br />
<br />
<br />
<Text fontSize="md">
How long have you been in the Car Crushers community?
</Text>
<br />
<Input maxLength={40} placeholder="Your response" />
<br />
<br />
<br />
<Text fontSize="md">
Explain why you are a better candidate than someone else.
</Text>
<br />
<Textarea
maxLength={2000}
placeholder="Explain why you are a better candidate. This should be at least a few sentences."
/>
<br />
<br />
<br />
<Text fontSize="md">
Describe yourself from a third-person point-of-view.
</Text>
<br />
<Textarea
maxLength={1000}
placeholder="Describe yourself from a third-person view in a few sentences."
/>
<br />
<br />
<br />
<Text fontSize="md">
If you have any comments or questions, type them here.
</Text>
<br />
<Textarea
maxLength={1000}
placeholder="Comments and questions go here"
/>
<br />
<br />
<br />
<span>
By submitting this form, you agree to the{" "}
<a href="/terms">Terms of Service</a> and{" "}
<a href="/privacy">Privacy Policy</a>.
</span>
<br />
<Button
onClick={async () => await submit()}
isLoading={loading}
loadingText="Submitting"
mt={3}
>
Submit
</Button>
</Container>
</>
);
}