diff --git a/docs/dev docs/general bugs fixed/frontend-turbo-failing.md b/docs/dev docs/bugs-fixed-report/frontend-turbo-failing.md
similarity index 100%
rename from docs/dev docs/general bugs fixed/frontend-turbo-failing.md
rename to docs/dev docs/bugs-fixed-report/frontend-turbo-failing.md
diff --git a/docs/dev docs/general bugs fixed/port-already-in-use.md b/docs/dev docs/bugs-fixed-report/port-already-in-use.md
similarity index 100%
rename from docs/dev docs/general bugs fixed/port-already-in-use.md
rename to docs/dev docs/bugs-fixed-report/port-already-in-use.md
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 5bad6edd..5571e808 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -25,7 +25,9 @@ export default [
React: 'readonly',
exports: 'readonly',
HTMLInputElement: "readonly",
- HTMLFormElement: "readonly"
+ HTMLFormElement: "readonly",
+ setInterval: "readonly",
+ clearInterval: "readonly",
},
},
plugins: {
diff --git a/frontend/package.json b/frontend/package.json
index 92b0dd60..441191f2 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -10,6 +10,9 @@
"test": "vitest"
},
"dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.7.2",
+ "@fortawesome/free-solid-svg-icons": "^6.7.2",
+ "@fortawesome/react-fontawesome": "^0.2.2",
"@fullcalendar/core": "^6.1.17",
"@fullcalendar/daygrid": "^6.1.17",
"@fullcalendar/interaction": "^6.1.17",
diff --git a/frontend/src/app/dashboard/calendar/page.tsx b/frontend/src/app/dashboard/calendar/page.tsx
index cf308b5e..4a13a143 100644
--- a/frontend/src/app/dashboard/calendar/page.tsx
+++ b/frontend/src/app/dashboard/calendar/page.tsx
@@ -30,6 +30,7 @@ import axios from 'axios';
import { backendBaseUrl } from '@/lib/utils';
interface Event {
+ start_time?: Date | string;
id: number | string; // your backend sometimes uses uuid string, sometimes number
title: string;
end_time: Date | string | null;
@@ -102,7 +103,7 @@ export default function Home() {
const extractedEvents = response.data.map((event: Event) => ({
id: event.id,
title: event.title,
- start: event.start ? new Date(event.start) : undefined,
+ start: event.start_time ? new Date(event.start_time) : undefined,
end: event.end_time ? new Date(event.end_time) : undefined,
allDay: event.allDay ?? false, // default to false if undefined
// Optional: You could add more fields here if FullCalendar needs
diff --git a/frontend/src/components/Help.tsx b/frontend/src/components/Help.tsx
index 2c2524e7..1f2e5199 100644
--- a/frontend/src/components/Help.tsx
+++ b/frontend/src/components/Help.tsx
@@ -43,6 +43,7 @@ export const Help = () => {
return (
- {/* Sign-in */}
{/* Sign-in or Dashboard Redirect */}
- {user ? (
+ {verified ? (
You're already signed in.
@@ -102,33 +94,6 @@ const Home: React.FC = () => {
)}
-
- {/* */}
- {/**/}
);
};
diff --git a/frontend/src/components/UserPreferencesForm.tsx b/frontend/src/components/UserPreferencesForm.tsx
index 197dd5c6..7158ae63 100644
--- a/frontend/src/components/UserPreferencesForm.tsx
+++ b/frontend/src/components/UserPreferencesForm.tsx
@@ -1,6 +1,6 @@
'use client';
-import { useEffect } from 'react';
+import { useEffect, useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { useForm } from 'react-hook-form';
import { z } from 'zod';
@@ -21,6 +21,7 @@ import { Card, CardHeader, CardContent } from './ui/card';
import axios from 'axios';
import { useAuth } from '@/components/context/auth/AuthContext';
import { backendBaseUrl, minutesToTime } from '@/lib/utils';
+import { Loader2 } from 'lucide-react';
//Define form shema
export const formSchema = z
.object({
@@ -75,6 +76,7 @@ export function UserPreferencesForm({
defaultValues,
}: UserPreferencesFormProps) {
const router = useRouter();
+ const [loading, setLoading] = useState(false);
const { user } = useAuth();
// 1. Define your form.
const form = useForm>({
@@ -97,6 +99,7 @@ export function UserPreferencesForm({
// 2. Define a submit handler.
function onSubmit(values: z.infer) {
+ setLoading(true);
// Do something with the form values.
// This will be type-safe and validated.
console.log(values);
@@ -118,6 +121,7 @@ export function UserPreferencesForm({
axios
.post(backendBaseUrl + `/api/user/surveyresults/${user.uid}`, outputs)
.then((response) => {
+ setLoading(false);
console.log('Successfully posted answers for user: ', user!.uid);
console.log(response);
router.push('/dashboard');
@@ -242,8 +246,21 @@ export function UserPreferencesForm({
)}
/>
-