@@ -185,7 +185,7 @@ export default function Selection({user, onStart, disableSelection = false}: Pro
onClick={() =>
onStart(!disableSelection ? selectedModules.sort(sortByModuleName) : ["reading", "listening", "writing", "speaking"])
}
- color="green"
+ color="purple"
className="px-12 w-full max-w-xs self-end"
disabled={selectedModules.length === 0 && !disableSelection}>
Start Exam
diff --git a/src/pages/api/users/update.ts b/src/pages/api/users/update.ts
index 7fcd24a0..de83a91f 100644
--- a/src/pages/api/users/update.ts
+++ b/src/pages/api/users/update.ts
@@ -28,7 +28,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const profilePictureFiletype = updatedUser.profilePicture.split(";")[0].split("/")[1];
const profilePictureRef = ref(storage, `profile_pictures/${req.session.user.id}.${profilePictureFiletype}`);
- const pictureBytes = Buffer.from(updatedUser.profilePicture, "base64url");
+ const pictureBytes = Buffer.from(updatedUser.profilePicture.split(";base64,")[1], "base64url");
const pictureSnapshot = await uploadBytes(profilePictureRef, pictureBytes);
const pictureReference = ref(storage, pictureSnapshot.metadata.fullPath);
@@ -64,3 +64,11 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
res.status(200).json({ok: true});
}
+
+export const config = {
+ api: {
+ bodyParser: {
+ sizeLimit: "20mb",
+ },
+ },
+};
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 0d892085..6dda4e1b 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -80,7 +80,7 @@ export default function Home() {
{user && (
-
+
diff --git a/src/pages/profile.tsx b/src/pages/profile.tsx
index 060d6c9f..52dc1f14 100644
--- a/src/pages/profile.tsx
+++ b/src/pages/profile.tsx
@@ -100,7 +100,7 @@ export default function Home() {
return;
}
- const request = await axios.post("/api/users/update", {bio, name, email, password, newPassword});
+ const request = await axios.post("/api/users/update", {bio, name, email, password, newPassword, profilePicture});
if (request.status === 200) {
toast.success("Your profile has been updated!");
setTimeout(() => router.reload(), 800);
@@ -166,7 +166,11 @@ export default function Home() {
-

+
(profilePictureInput.current as any)?.click()}
diff --git a/src/pages/register.tsx b/src/pages/register.tsx
index d77343b3..c9dfb3a0 100644
--- a/src/pages/register.tsx
+++ b/src/pages/register.tsx
@@ -47,7 +47,7 @@ export default function Register() {
placeholder="Confirm your password"
required
/>
-