diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..aef8443 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/client/src/App.js b/client/src/App.js index 74191df..b66ae64 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -1,23 +1,8 @@ import React from "react"; import { ThemeProvider } from "./theme/ThemeProvider"; import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; -import Navbar from "./components/Navbar"; -import Home from "./pages/Home"; -import Syllabus from "./pages/Syllabus"; -import Notes from "./pages/Notes"; -import PYQs from "./pages/PYQs"; -import Feedback from "./pages/Feedback"; -import About from "./pages/About"; -import Privacy from "./pages/Privacy"; -import Contact from "./pages/Contact"; -import Analytics from "./pages/Analytics"; -import Faq from "./pages/Faq"; -import Contribute from "./pages/Contribute"; -import ScrollToTop from "./components/scrolltotop"; -import MindMapEditor from "./pages/MindMapEditor"; -import Profile from "./pages/Profile.js"; -import SubmitFeedback from "./pages/SubmitFeedback"; -import Todo from "./pages/Todo"; +import {Home, Syllabus, Notes, PYQs, Feedback, About, Privacy, Contact, Analytics, Faq, Contribute, MindMapEditor, Profile, SubmitFeedback, Todo} from './pages'; +import {Navbar, ScrollToTop} from "./components"; const App = () => { diff --git a/client/src/components/FeedbackModal.js b/client/src/components/FeedbackModal.js index e423ac8..55de341 100644 --- a/client/src/components/FeedbackModal.js +++ b/client/src/components/FeedbackModal.js @@ -1,6 +1,6 @@ // client/src/components/FeedbackModal.js import React, { useState, useEffect } from "react"; -import './FeedbackModal.css'; // This line connects the component to the CSS above +import './style/FeedbackModal.css'; // This line connects the component to the CSS above const FeedbackModal = ({ onClose, onSuccess }) => { const [formData, setFormData] = useState({ diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index e7e4c76..bbd5f3c 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -1,6 +1,6 @@ import React, { useState, useEffect, useRef } from "react"; import { Link, NavLink } from "react-router-dom"; -import "./Navbar.css"; +import "./style/Navbar.css"; import { useTheme } from "../theme/ThemeProvider"; import { FaMoon, FaSun, FaChevronDown } from "react-icons/fa"; diff --git a/client/src/components/index.js b/client/src/components/index.js new file mode 100644 index 0000000..9cdba69 --- /dev/null +++ b/client/src/components/index.js @@ -0,0 +1,4 @@ +export { default as Calender} from "./Calender.js"; +export { default as FeedbackModal} from "./FeedbackModal.js"; +export { default as Navbar} from "./Navbar.js"; +export { default as scrolltotop} from "./scrolltotop.js"; \ No newline at end of file diff --git a/client/src/components/FeedbackModal.css b/client/src/components/style/FeedbackModal.css similarity index 100% rename from client/src/components/FeedbackModal.css rename to client/src/components/style/FeedbackModal.css diff --git a/client/src/components/Navbar.css b/client/src/components/style/Navbar.css similarity index 100% rename from client/src/components/Navbar.css rename to client/src/components/style/Navbar.css diff --git a/client/src/pages/About.js b/client/src/pages/About.js index 74c5220..119af2b 100644 --- a/client/src/pages/About.js +++ b/client/src/pages/About.js @@ -2,8 +2,8 @@ import React, { useState, useEffect } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { Link } from 'react-router-dom'; import { FaArrowUp } from "react-icons/fa"; -import './About.css'; -import './ScrollToTop.css'; +import './style/About.css'; +import './style/ScrollToTop.css'; const About = () => { document.title = "StudyMatePlus | About Us"; // Animation Variants from Home.js diff --git a/client/src/pages/Analytics.js b/client/src/pages/Analytics.js index 4422e8f..9f1af84 100644 --- a/client/src/pages/Analytics.js +++ b/client/src/pages/Analytics.js @@ -11,8 +11,8 @@ import { } from 'chart.js'; import { motion, AnimatePresence } from 'framer-motion'; import { FaArrowUp } from "react-icons/fa"; -import './Analytics.css'; -import './ScrollToTop.css'; +import './style/Analytics.css'; +import './style/ScrollToTop.css'; ChartJS.register(CategoryScale, LinearScale, BarElement, ArcElement, Tooltip, Legend); diff --git a/client/src/pages/Contact.js b/client/src/pages/Contact.js index 93e943f..ab78d41 100644 --- a/client/src/pages/Contact.js +++ b/client/src/pages/Contact.js @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import { Link } from 'react-router-dom'; -import './Contact.css'; -import './ScrollToTop.css'; +import './style/Contact.css'; +import './style/ScrollToTop.css'; const Contact = () => { diff --git a/client/src/pages/Contribute.js b/client/src/pages/Contribute.js index 41f2cd4..9cc765b 100644 --- a/client/src/pages/Contribute.js +++ b/client/src/pages/Contribute.js @@ -1,7 +1,7 @@ import { useState } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; -import './Contribute.css'; -import './ScrollToTop.css'; +import './style/Contribute.css'; +import './style/ScrollToTop.css'; const Contribute = () => { const [activeStep, setActiveStep] = useState(1); diff --git a/client/src/pages/Faq.js b/client/src/pages/Faq.js index c190be8..a39cd0f 100644 --- a/client/src/pages/Faq.js +++ b/client/src/pages/Faq.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from "react"; import { motion, AnimatePresence } from "framer-motion"; -import "./Faq.css"; -import './ScrollToTop.css'; +import "./style/Faq.css"; +import './style/ScrollToTop.css'; import { FaGithub, FaLinkedin, FaDiscord, FaArrowUp} from "react-icons/fa"; import { Link } from "react-router-dom"; import { FaXTwitter } from "react-icons/fa6"; diff --git a/client/src/pages/Feedback.js b/client/src/pages/Feedback.js index 247d586..da2209e 100644 --- a/client/src/pages/Feedback.js +++ b/client/src/pages/Feedback.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from "react"; import { motion, AnimatePresence } from "framer-motion"; -import "./Feedback.css"; -import './ScrollToTop.css'; +import "./style/Feedback.css"; +import './style/ScrollToTop.css'; import { FaArrowUp } from "react-icons/fa"; import FeedbackModal from "../components/FeedbackModal"; // Import the modal component diff --git a/client/src/pages/Home.js b/client/src/pages/Home.js index d68ddca..645e78f 100644 --- a/client/src/pages/Home.js +++ b/client/src/pages/Home.js @@ -5,8 +5,8 @@ import { motion, AnimatePresence } from 'framer-motion'; import { FaGithub, FaLinkedin, FaDiscord, FaArrowUp } from "react-icons/fa"; import { FaXTwitter } from "react-icons/fa6"; import logo from "./logo.png"; -import "./Home.css"; -import './ScrollToTop.css'; +import "./style/Home.css"; +import './style/ScrollToTop.css'; const Home = () => { diff --git a/client/src/pages/MindMapEditor.js b/client/src/pages/MindMapEditor.js index 704d277..7a087cd 100644 --- a/client/src/pages/MindMapEditor.js +++ b/client/src/pages/MindMapEditor.js @@ -6,8 +6,8 @@ import ReactFlow, { MarkerType, Handle, Position } from 'reactflow'; import 'reactflow/dist/style.css'; -import './MindMapEditor.css'; -import './ScrollToTop.css'; +import './style/MindMapEditor.css'; +import './style/ScrollToTop.css'; import { v4 as uuid } from 'uuid'; import { motion, AnimatePresence } from 'framer-motion'; diff --git a/client/src/pages/Notes.jsx b/client/src/pages/Notes.jsx index fa55e9c..c520389 100644 --- a/client/src/pages/Notes.jsx +++ b/client/src/pages/Notes.jsx @@ -1,7 +1,7 @@ import React, { useState, useMemo, useEffect, useRef } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { FaArrowUp } from "react-icons/fa"; -import './Notes.css'; +import './style/Notes.css'; const Notes = () => { diff --git a/client/src/pages/PYQs.js b/client/src/pages/PYQs.js index 713aa4d..829d27a 100644 --- a/client/src/pages/PYQs.js +++ b/client/src/pages/PYQs.js @@ -1,8 +1,8 @@ import React, { useState, useMemo, useEffect } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { FaArrowUp } from "react-icons/fa"; -import "./PYQs.css"; -import './ScrollToTop.css'; +import "./style/PYQs.css"; +import './style/ScrollToTop.css'; const PYQs = () => { diff --git a/client/src/pages/Privacy.js b/client/src/pages/Privacy.js index 6ab52ef..727d12f 100644 --- a/client/src/pages/Privacy.js +++ b/client/src/pages/Privacy.js @@ -1,7 +1,7 @@ import React from 'react'; import { Link } from 'react-router-dom'; -import './Privacy.css'; -import './ScrollToTop.css'; +import './style/Privacy.css'; +import './style/ScrollToTop.css'; const Privacy = () => { diff --git a/client/src/pages/Profile.js b/client/src/pages/Profile.js index 813ac06..26eb60f 100644 --- a/client/src/pages/Profile.js +++ b/client/src/pages/Profile.js @@ -6,8 +6,8 @@ import { FaCommentDots, FaBookmark, } from "react-icons/fa"; -import "./Profile.css"; -import './ScrollToTop.css'; +import "./style/Profile.css"; +import './style/ScrollToTop.css'; const user = { name: "John Doe", diff --git a/client/src/pages/SubmitFeedback.js b/client/src/pages/SubmitFeedback.js index 7cf5f7b..d5b6eac 100644 --- a/client/src/pages/SubmitFeedback.js +++ b/client/src/pages/SubmitFeedback.js @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import { motion } from 'framer-motion'; -import './SubmitFeedback.css'; // We will create this file next -import './Feedback.css'; // Reusing some existing styles +import './style/SubmitFeedback.css'; // We will create this file next +import './style/Feedback.css'; // Reusing some existing styles const StarRating = ({ rating, setRating }) => { const [hover, setHover] = useState(0); diff --git a/client/src/pages/Syllabus.js b/client/src/pages/Syllabus.js index af41ee8..c975ac6 100644 --- a/client/src/pages/Syllabus.js +++ b/client/src/pages/Syllabus.js @@ -1,7 +1,7 @@ import React, { useState, useMemo, useEffect } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { FaArrowUp } from "react-icons/fa"; -import './Syllabus.css'; +import './style/Syllabus.css'; const Syllabus = () => { diff --git a/client/src/pages/Todo.js b/client/src/pages/Todo.js index 0057af0..eb7a6a1 100644 --- a/client/src/pages/Todo.js +++ b/client/src/pages/Todo.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import "./Todo.css"; +import "./style/Todo.css"; import Calendar from "../components/Calendar"; const STORAGE_KEY = "smp_tasks_v1"; diff --git a/client/src/pages/index.js b/client/src/pages/index.js new file mode 100644 index 0000000..519f079 --- /dev/null +++ b/client/src/pages/index.js @@ -0,0 +1,15 @@ +export { default as About} from "./About.js"; +export { default as Analytics} from "./Analytics.js"; +export { default as Contact} from "./Contact.js"; +export { default as Contribute} from "./Contribute.js"; +export { default as Faq} from "./Faq.js"; +export { default as Feedback} from "./Feedback.js"; +export { default as Home} from "./Home.js"; +export { default as MindMapEditor} from "./MindMapEditor.js"; +export { default as Notes} from "./Notes.jsx"; +export { default as Privacy} from "./Privacy.js"; +export { default as Profile} from "./Profile.js"; +export { default as PYQs} from "./PYQs.js"; +export { default as SubmitFeedback} from "./SubmitFeedback.js"; +export { default as Syllabus} from "./Syllabus.js"; +export { default as Todo} from "./Todo.js"; \ No newline at end of file diff --git a/client/src/pages/About.css b/client/src/pages/style/About.css similarity index 100% rename from client/src/pages/About.css rename to client/src/pages/style/About.css diff --git a/client/src/pages/Analytics.css b/client/src/pages/style/Analytics.css similarity index 100% rename from client/src/pages/Analytics.css rename to client/src/pages/style/Analytics.css diff --git a/client/src/pages/Contact.css b/client/src/pages/style/Contact.css similarity index 100% rename from client/src/pages/Contact.css rename to client/src/pages/style/Contact.css diff --git a/client/src/pages/Contribute.css b/client/src/pages/style/Contribute.css similarity index 100% rename from client/src/pages/Contribute.css rename to client/src/pages/style/Contribute.css diff --git a/client/src/pages/Faq.css b/client/src/pages/style/Faq.css similarity index 100% rename from client/src/pages/Faq.css rename to client/src/pages/style/Faq.css diff --git a/client/src/pages/Feedback.css b/client/src/pages/style/Feedback.css similarity index 100% rename from client/src/pages/Feedback.css rename to client/src/pages/style/Feedback.css diff --git a/client/src/pages/Home.css b/client/src/pages/style/Home.css similarity index 100% rename from client/src/pages/Home.css rename to client/src/pages/style/Home.css diff --git a/client/src/pages/MindMapEditor.css b/client/src/pages/style/MindMapEditor.css similarity index 100% rename from client/src/pages/MindMapEditor.css rename to client/src/pages/style/MindMapEditor.css diff --git a/client/src/pages/Notes.css b/client/src/pages/style/Notes.css similarity index 100% rename from client/src/pages/Notes.css rename to client/src/pages/style/Notes.css diff --git a/client/src/pages/PYQs.css b/client/src/pages/style/PYQs.css similarity index 100% rename from client/src/pages/PYQs.css rename to client/src/pages/style/PYQs.css diff --git a/client/src/pages/Privacy.css b/client/src/pages/style/Privacy.css similarity index 100% rename from client/src/pages/Privacy.css rename to client/src/pages/style/Privacy.css diff --git a/client/src/pages/Profile.css b/client/src/pages/style/Profile.css similarity index 100% rename from client/src/pages/Profile.css rename to client/src/pages/style/Profile.css diff --git a/client/src/pages/ScrollToTop.css b/client/src/pages/style/ScrollToTop.css similarity index 100% rename from client/src/pages/ScrollToTop.css rename to client/src/pages/style/ScrollToTop.css diff --git a/client/src/pages/SubmitFeedback.css b/client/src/pages/style/SubmitFeedback.css similarity index 100% rename from client/src/pages/SubmitFeedback.css rename to client/src/pages/style/SubmitFeedback.css diff --git a/client/src/pages/Syllabus.css b/client/src/pages/style/Syllabus.css similarity index 100% rename from client/src/pages/Syllabus.css rename to client/src/pages/style/Syllabus.css diff --git a/client/src/pages/Todo.css b/client/src/pages/style/Todo.css similarity index 100% rename from client/src/pages/Todo.css rename to client/src/pages/style/Todo.css