Skip to content

Commit 11a536e

Browse files
committed
Formatted all files, set up pre-commit
1 parent 17c49e7 commit 11a536e

19 files changed

+539
-535
lines changed

frontend/.pre-commit-config.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v2.3.0
4+
hooks:
5+
- id: end-of-file-fixer
6+
- id: trailing-whitespace
7+
- repo: https://github.com/pre-commit/mirrors-prettier
8+
rev: v2.7.1
9+
hooks:
10+
- id: prettier
11+
files: '.*frontend.*\.(jsx|css)'

frontend/src/components/CreateJobModal.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ function CreateJobModal(props) {
4848
})
4949
.then((response) => {
5050
if (!response.ok) {
51-
if (response.status === 401) {
51+
if (response.status === 401) {
5252
window.location.href = "#/signin";
5353
} else {
5454
setShowGenericError(true);

frontend/src/components/SignIn.jsx

Lines changed: 137 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -2,158 +2,150 @@ import React, { useState } from "react";
22
import { TextField, Button, Grid, Typography, Link } from "@mui/material";
33

44
const LoginPage = () => {
5-
const [username, setUsername] = useState("");
6-
const [password, setPassword] = useState("");
7-
//const [usernameError, setUsernameError] = useState('');
8-
//const [passwordError, setPasswordError] = useState('');
9-
const [errorMessage, setErrorMessage] = useState("");
5+
const [username, setUsername] = useState("");
6+
const [password, setPassword] = useState("");
7+
//const [usernameError, setUsernameError] = useState('');
8+
//const [passwordError, setPasswordError] = useState('');
9+
const [errorMessage, setErrorMessage] = useState("");
1010

11-
const handleUsernameChange = (event) => {
12-
setUsername(event.target.value);
13-
//setUsernameError('');
14-
setErrorMessage("");
15-
};
11+
const handleUsernameChange = (event) => {
12+
setUsername(event.target.value);
13+
//setUsernameError('');
14+
setErrorMessage("");
15+
};
1616

17-
const handlePasswordChange = (event) => {
18-
setPassword(event.target.value);
19-
//setPasswordError('');
20-
setErrorMessage("");
21-
};
17+
const handlePasswordChange = (event) => {
18+
setPassword(event.target.value);
19+
//setPasswordError('');
20+
setErrorMessage("");
21+
};
2222

23-
const handleSubmit = async (event) => {
24-
event.preventDefault();
25-
if (!username) {
26-
setErrorMessage("Username is required");
27-
return;
28-
}
29-
if (!password) {
30-
setErrorMessage("Password is required");
31-
return;
32-
}
23+
const handleSubmit = async (event) => {
24+
event.preventDefault();
25+
if (!username) {
26+
setErrorMessage("Username is required");
27+
return;
28+
}
29+
if (!password) {
30+
setErrorMessage("Password is required");
31+
return;
32+
}
3333

34-
const response = await fetch(
35-
"https://chapi.techstartucalgary.com/token",
36-
{
37-
method: "POST",
38-
headers: {
39-
"Content-Type": "application/x-www-form-urlencoded",
40-
},
41-
body: new URLSearchParams({
42-
grant_type: "password",
43-
username,
44-
password,
45-
}),
46-
}
47-
)
48-
.then((response) => {
49-
if (!response.ok) {
50-
if (response.status === 401) {
51-
setErrorMessage("Invalid username or password");
52-
} else {
53-
throw new Error("Login failed");
54-
}
55-
}
56-
setUsername("");
57-
setPassword("");
58-
return response.json();
59-
})
60-
.then((data) => {
61-
localStorage.setItem("access_token", data.access_token);
62-
fetch("https://chapi.techstartucalgary.com/users/me/", {
63-
method: "GET",
64-
headers: {
65-
"Content-Type": "application/json",
66-
Authorization: `Bearer ${localStorage.getItem(
67-
"access_token"
68-
)}`,
69-
},
70-
}).then((response) => {
71-
if (!response.ok) {
72-
throw new Error("API Error: ", response.status);
73-
}
74-
return response.json();
75-
}).then((data) => {
76-
if (data.is_recruiter) {
77-
window.location.href = "#/app";
78-
} else {
79-
window.location.href = "#/recruiter";
80-
}
81-
});
82-
})
83-
.catch((error) => console.error(error));
34+
const response = await fetch("https://chapi.techstartucalgary.com/token", {
35+
method: "POST",
36+
headers: {
37+
"Content-Type": "application/x-www-form-urlencoded",
38+
},
39+
body: new URLSearchParams({
40+
grant_type: "password",
41+
username,
42+
password,
43+
}),
44+
})
45+
.then((response) => {
46+
if (!response.ok) {
47+
if (response.status === 401) {
48+
setErrorMessage("Invalid username or password");
49+
} else {
50+
throw new Error("Login failed");
51+
}
52+
}
53+
setUsername("");
54+
setPassword("");
55+
return response.json();
56+
})
57+
.then((data) => {
58+
localStorage.setItem("access_token", data.access_token);
59+
fetch("https://chapi.techstartucalgary.com/users/me/", {
60+
method: "GET",
61+
headers: {
62+
"Content-Type": "application/json",
63+
Authorization: `Bearer ${localStorage.getItem("access_token")}`,
64+
},
65+
})
66+
.then((response) => {
67+
if (!response.ok) {
68+
throw new Error("API Error: ", response.status);
69+
}
70+
return response.json();
71+
})
72+
.then((data) => {
73+
if (data.is_recruiter) {
74+
window.location.href = "#/app";
75+
} else {
76+
window.location.href = "#/recruiter";
77+
}
78+
});
79+
})
80+
.catch((error) => console.error(error));
8481

85-
//setUsername('');
86-
//setPassword('');
87-
};
82+
//setUsername('');
83+
//setPassword('');
84+
};
8885

89-
return (
90-
<>
91-
<Grid
92-
container
93-
justifyContent="center"
94-
alignItems="center"
95-
style={{ height: "100vh" }}
96-
>
97-
<Grid item xs={10} sm={8} md={6} lg={4}>
98-
<Typography
99-
variant="h4"
100-
align="center"
101-
sx={{
102-
mb: { xs: 2, sm: 4 },
103-
fontSize: { xs: "2rem", sm: "3rem", md: "4rem" },
104-
}}
105-
>
106-
CyberHire SignIn Page
107-
</Typography>
86+
return (
87+
<>
88+
<Grid
89+
container
90+
justifyContent="center"
91+
alignItems="center"
92+
style={{ height: "100vh" }}
93+
>
94+
<Grid item xs={10} sm={8} md={6} lg={4}>
95+
<Typography
96+
variant="h4"
97+
align="center"
98+
sx={{
99+
mb: { xs: 2, sm: 4 },
100+
fontSize: { xs: "2rem", sm: "3rem", md: "4rem" },
101+
}}
102+
>
103+
CyberHire SignIn Page
104+
</Typography>
108105

109-
<form onSubmit={handleSubmit}>
110-
<TextField
111-
label="Username"
112-
variant="outlined"
113-
type="text"
114-
fullWidth
115-
margin="normal"
116-
value={username}
117-
onChange={handleUsernameChange}
118-
error={!!errorMessage}
119-
helperText={errorMessage}
120-
required
121-
/>
122-
<TextField
123-
label="Password"
124-
variant="outlined"
125-
fullWidth
126-
margin="normal"
127-
type="password"
128-
value={password}
129-
onChange={handlePasswordChange}
130-
error={!!errorMessage}
131-
helperText={errorMessage}
132-
required
133-
/>
134-
<Button
135-
type="submit"
136-
variant="contained"
137-
color="primary"
138-
fullWidth
139-
>
140-
Log In
141-
</Button>
142-
<Grid container justifyContent="flex-end">
143-
<Grid item>
144-
<Typography>
145-
Don't have an account?
146-
<Link href="#/signup" variant="body2">
147-
Sign up
148-
</Link>
149-
</Typography>
150-
</Grid>
151-
</Grid>
152-
</form>
153-
</Grid>
154-
</Grid>
155-
</>
156-
);
106+
<form onSubmit={handleSubmit}>
107+
<TextField
108+
label="Username"
109+
variant="outlined"
110+
type="text"
111+
fullWidth
112+
margin="normal"
113+
value={username}
114+
onChange={handleUsernameChange}
115+
error={!!errorMessage}
116+
helperText={errorMessage}
117+
required
118+
/>
119+
<TextField
120+
label="Password"
121+
variant="outlined"
122+
fullWidth
123+
margin="normal"
124+
type="password"
125+
value={password}
126+
onChange={handlePasswordChange}
127+
error={!!errorMessage}
128+
helperText={errorMessage}
129+
required
130+
/>
131+
<Button type="submit" variant="contained" color="primary" fullWidth>
132+
Log In
133+
</Button>
134+
<Grid container justifyContent="flex-end">
135+
<Grid item>
136+
<Typography>
137+
Don't have an account?
138+
<Link href="#/signup" variant="body2">
139+
Sign up
140+
</Link>
141+
</Typography>
142+
</Grid>
143+
</Grid>
144+
</form>
145+
</Grid>
146+
</Grid>
147+
</>
148+
);
157149
};
158150

159151
export default LoginPage;

0 commit comments

Comments
 (0)