Skip to content

Commit 67380d2

Browse files
committed
formated stuff and more fixes
1 parent bbe214f commit 67380d2

23 files changed

+287
-238
lines changed

frontend/.eslintrc.cjs

+13-13
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@ module.exports = {
22
root: true,
33
env: { browser: true, es2020: true },
44
extends: [
5-
'eslint:recommended',
6-
'plugin:react/recommended',
7-
'plugin:react/jsx-runtime',
8-
'plugin:react-hooks/recommended',
5+
"eslint:recommended",
6+
"plugin:react/recommended",
7+
"plugin:react/jsx-runtime",
8+
"plugin:react-hooks/recommended",
99
],
10-
ignorePatterns: ['dist', '.eslintrc.cjs'],
11-
parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
12-
settings: { react: { version: '18.2' } },
13-
plugins: ['react-refresh', 'eslint-plugin-react-compiler'],
10+
ignorePatterns: ["dist", ".eslintrc.cjs"],
11+
parserOptions: { ecmaVersion: "latest", sourceType: "module" },
12+
settings: { react: { version: "18.2" } },
13+
plugins: ["react-refresh", "eslint-plugin-react-compiler"],
1414
rules: {
15-
'react/jsx-no-target-blank': 'off',
16-
'react-compiler/react-compiler': "error",
17-
'react-refresh/only-export-components': [
18-
'warn',
15+
"react/jsx-no-target-blank": "off",
16+
"react-compiler/react-compiler": "error",
17+
"react-refresh/only-export-components": [
18+
"warn",
1919
{ allowConstantExport: true },
2020
],
2121
},
22-
}
22+
};

frontend/postcss.config.cjs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module.exports = {
2-
plugins: {
3-
tailwindcss: {},
4-
autoprefixer: {},
5-
},
6-
}
2+
plugins: {
3+
tailwindcss: {},
4+
autoprefixer: {},
5+
},
6+
};

frontend/src/components/Header/Header.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import "@/styles/App.scss";
22
import "./Header.scss";
33
import { useState, useEffect } from "react";
4-
import getMode from "../../utils/getMode";
54
import { useBanner } from "@/context/BannerContext";
65
import StyledLink from "./StyledLink";
76

87
const Header = () => {
9-
const mode = getMode();
108
const { isBannerVisible } = useBanner();
119
const [isAnimating, setIsAnimating] = useState(false);
1210

frontend/src/components/Header/StyledLink.tsx

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
// src/components/StyledLink.tsx
22
import { Link } from "@tanstack/react-router";
3+
import React, {
4+
Component,
5+
JSXElementConstructor,
6+
ReactElement,
7+
ReactNode,
8+
} from "react";
39

410
interface StyledLinkProps {
511
address: string;
6-
text: string;
12+
text:
13+
| ReactElement<any, string | JSXElementConstructor<any>>
14+
| string
15+
| Component;
716
}
817

918
const StyledLink: React.FC<StyledLinkProps> = ({ address, text }) => {
@@ -12,7 +21,7 @@ const StyledLink: React.FC<StyledLinkProps> = ({ address, text }) => {
1221
to={address}
1322
className="relative mx-1 p-2 bg-white overflow-hidden group"
1423
>
15-
<span className="relative z-10">{text}</span>
24+
<span className="relative z-10">{text as ReactNode}</span>
1625
<div className="absolute rounded-md inset-0 bg-gradient-to-r from-cyan-300 to-purple-300 transition-transform duration-300 transform scale-x-0 group-hover:scale-x-100 origin-left"></div>
1726
</Link>
1827
);

frontend/src/components/ToastNotif.tsx

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import { toast } from 'sonner';
2-
import '@/styles/ToastNotif.scss'; // Include any additional styles here
3-
import getMode from '@/utils/getMode';
2+
import '@/styles/ToastNotif.scss'; // I
3+
import { ReactElement, JSXElementConstructor, ReactNode } from 'react';
44

55
// Function to show toast notification
6-
const showNotif = (message, type) => {
7-
const mode = getMode();
6+
const showNotif = (message: string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined, type: string) => {
87
toast(message, {
9-
className: `toast-${mode} toaster-container`,
8+
className: `toast-light dark:toast-dark toaster-container`,
109
duration: 2000,
1110
type: type,
1211
position: 'top-right',

frontend/src/components/TodoList.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function TodoList() {
3333
);
3434
}
3535

36-
function TodoItem({ name, course, dueDate }) {
36+
function TodoItem({ name, course, dueDate }: {name: string, course: string, dueDate: string}) {
3737
return (
3838
<div className="mb-4 bg-gray-700 p-3 rounded-lg">
3939
<h3 className="font-semibold">{name}</h3>

frontend/src/firebaseConfig.js

+34-33
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,10 @@ import {
99
createUserWithEmailAndPassword,
1010
sendPasswordResetEmail,
1111
updatePassword,
12-
linkWithPopup
13-
}
14-
from 'firebase/auth';
15-
16-
import { getFirestore, doc, setDoc, getDoc } from 'firebase/firestore';
12+
linkWithPopup,
13+
} from "firebase/auth";
1714

15+
import { getFirestore, doc, setDoc, getDoc } from "firebase/firestore";
1816

1917
// TODO: Add SDKs for Firebase products that you want to use
2018
// https://firebase.google.com/docs/web/setup#available-libraries
@@ -49,31 +47,35 @@ const googleProvider = new GoogleAuthProvider();
4947
const signInWithGoogle = () => signInWithPopup(auth, googleProvider);
5048

5149
const linkWithGoogle = async () => {
52-
const user = auth.currentUser;
53-
await linkWithPopup(user, googleProvider);
50+
const user = auth.currentUser;
51+
await linkWithPopup(user, googleProvider);
5452
};
5553

5654
const registerWithEmail = async (email, password) => {
57-
const userCredential = await createUserWithEmailAndPassword(auth, email, password);
58-
const user = userCredential.user;
59-
await setDoc(doc(db, "users", user.uid), {
60-
email: user.email,
61-
enrolled: false,
62-
course: "AI Innovate Scholars",
63-
});
55+
const userCredential = await createUserWithEmailAndPassword(
56+
auth,
57+
email,
58+
password
59+
);
60+
const user = userCredential.user;
61+
await setDoc(doc(db, "users", user.uid), {
62+
email: user.email,
63+
enrolled: false,
64+
course: "AI Innovate Scholars",
65+
});
6466
};
65-
67+
6668
const signInWithEmailAndPassword = async (email, password) => {
6769
await firebaseSignInWithEmailAndPassword(auth, email, password);
6870
};
6971

7072
const sendPasswordReset = async (email) => {
71-
await sendPasswordResetEmail(auth, email);
73+
await sendPasswordResetEmail(auth, email);
7274
};
73-
75+
7476
const changePassword = async (password) => {
75-
const user = auth.currentUser;
76-
await updatePassword(user, password);
77+
const user = auth.currentUser;
78+
await updatePassword(user, password);
7779
};
7880
const signInWithDiscord = () => {
7981
window.location.href = `https://discord.com/api/oauth2/authorize?client_id=${import.meta.env.VITE_DISCORD_CLIENT_ID}&redirect_uri=${import.meta.env.VITE_DISCORD_REDIRECT_URI}&response_type=code&scope=identify email`;
@@ -82,7 +84,6 @@ const signInWithDiscord = () => {
8284
const linkWithDiscord = () => {
8385
window.location.href = `https://discord.com/api/oauth2/authorize?client_id=${import.meta.env.VITE_DISCORD_CLIENT_ID}&redirect_uri=${import.meta.env.VITE_DISCORD_REDIRECT_URI}&response_type=code&scope=identify email`;
8486
};
85-
8687

8788
// const handleDiscordCallback = async (code) => {
8889
// const { data } = await axios.post('https://discord.com/api/oauth2/token', null, {
@@ -97,25 +98,25 @@ const linkWithDiscord = () => {
9798
// 'Content-Type': 'application/x-www-form-urlencoded',
9899
// },
99100
// });
100-
101+
101102
// const user = await axios.get('https://discord.com/api/users/@me', {
102103
// headers: {
103104
// Authorization: `Bearer ${data.access_token}`,
104105
// },
105106
// });
106-
107+
107108
// // Handle user data and authentication in your app
108109
// };
109110

110111
export {
111-
auth,
112-
db,
113-
signInWithGoogle,
114-
signInWithDiscord,
115-
signInWithEmailAndPassword,
116-
registerWithEmail,
117-
sendPasswordResetEmail,
118-
updatePassword,
119-
linkWithGoogle,
120-
linkWithDiscord
121-
};
112+
auth,
113+
db,
114+
signInWithGoogle,
115+
signInWithDiscord,
116+
signInWithEmailAndPassword,
117+
registerWithEmail,
118+
sendPasswordResetEmail,
119+
updatePassword,
120+
linkWithGoogle,
121+
linkWithDiscord,
122+
};

frontend/src/main.tsx

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1-
import React, { StrictMode } from 'react'
2-
import ReactDOM from 'react-dom/client'
3-
import { RouterProvider, createRouter } from '@tanstack/react-router'
4-
import { routeTree } from './routeTree.gen'
5-
import './styles/tailwind.scss';
6-
import './styles/App.scss';
7-
import { HelmetProvider } from 'react-helmet-async';
8-
import { AuthContextProvider } from './context/AuthContext';
9-
import { ChakraProvider } from '@chakra-ui/react';
10-
import { BannerProvider } from './context/BannerContext';
1+
import React, { StrictMode } from "react";
2+
import ReactDOM from "react-dom/client";
3+
import { RouterProvider, createRouter } from "@tanstack/react-router";
4+
import { routeTree } from "./routeTree.gen";
5+
import "./styles/tailwind.scss";
6+
import "./styles/App.scss";
7+
import { HelmetProvider } from "react-helmet-async";
8+
import { AuthContextProvider } from "./context/AuthContext";
9+
import { ChakraProvider } from "@chakra-ui/react";
10+
import { BannerProvider } from "./context/BannerContext";
1111

1212
const router = createRouter({
1313
routeTree,
14-
defaultPreload: 'intent',
15-
})
14+
defaultPreload: "intent",
15+
});
1616

17-
const rootElement = document.getElementById('app')
17+
const rootElement = document.getElementById("app");
1818
if (!rootElement?.innerHTML) {
19-
const root = ReactDOM.createRoot(rootElement as ReactDOM.Container)
19+
const root = ReactDOM.createRoot(rootElement as ReactDOM.Container);
2020
root.render(
2121
<React.StrictMode>
2222
<HelmetProvider>
2323
<ChakraProvider>
24-
<AuthContextProvider>
24+
<AuthContextProvider>
2525
<BannerProvider>
2626
<RouterProvider router={router} />
2727
</BannerProvider>
2828
</AuthContextProvider>
2929
</ChakraProvider>
3030
</HelmetProvider>
31-
</React.StrictMode>,
32-
)
31+
</React.StrictMode>
32+
);
3333
}

frontend/src/routes/Login.tsx

+16-20
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,25 @@
1-
import { createFileRoute } from '@tanstack/react-router';
2-
import SignIn from '@/components/Login/SignIn'
3-
import { UserAuth } from '@/context/AuthContext';
4-
import '@/styles/Login.scss';
1+
import { createFileRoute } from "@tanstack/react-router";
2+
import SignIn from "@/components/Login/SignIn";
3+
import { UserAuth } from "@/context/AuthContext";
4+
import "@/styles/Login.scss";
55

6-
export const Route = createFileRoute('/Login')({
7-
component: Login,
6+
export const Route = createFileRoute("/Login")({
7+
component: Login,
88
});
99

1010
function Login() {
11+
const { googleSignIn } = UserAuth();
1112

12-
const { googleSignIn } = UserAuth();
13-
14-
const handleGoogleSignIn = async () => {
15-
try {
16-
const { user } = await googleSignIn();
17-
console.log(user);
18-
} catch (error) {
19-
console.log(error);
20-
}
13+
const handleGoogleSignIn = async () => {
14+
try {
15+
const { user } = await googleSignIn();
16+
console.log(user);
17+
} catch (error) {
18+
console.log(error);
2119
}
20+
};
2221

23-
return (
24-
<SignIn/>
25-
)
22+
return <SignIn />;
2623
}
2724

28-
29-
// Protected Route for account page/dashboard
25+
// Protected Route for account page/dashboard

frontend/src/routes/Staff.tsx

+1-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import { createDirectus, rest, readItems } from "@directus/sdk";
88
import AOS from "aos";
99
import "aos/dist/aos.css";
1010

11-
import getMode from "@/utils/getMode";
1211
import MovingGradient from "@/components/DynamicGradient";
1312
import { BackgroundGradient } from "@/components/ui/background-gradient";
1413
import "@/styles/App.scss";
@@ -19,8 +18,6 @@ export const Route = createFileRoute("/Staff")({
1918
});
2019

2120
function Staff() {
22-
const colorMode = getMode();
23-
2421
// TODO: Change to items & setItems to "teamMembers" to use as CMS database
2522
const [items, setItems] = useState([]);
2623

@@ -111,10 +108,7 @@ function Staff() {
111108
<div
112109
data-scroll-section
113110
id="main-container"
114-
className={colorMode[0] === "dark" ? "text-white" : "text-black"}
115-
style={{
116-
backgroundColor: colorMode[0] === "dark" ? "#18181B" : "#f3f3f3",
117-
}}
111+
className="text-white dark:text-black bg-[#18181B] dark:bg-[#f3f3f3]"
118112
>
119113
<Helmet>
120114
<title>LuminAI - Staff</title>

0 commit comments

Comments
 (0)