diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000..96c46e6
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,8 @@
+{
+ "compilerOptions": {
+ "baseUrl": "./",
+ "paths": {
+ "@/*": ["src/*"]
+ }
+ }
+}
diff --git a/package-lock.json b/package-lock.json
index f3e3bff..d659ef8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,7 +8,6 @@
"name": "udlbook-website",
"version": "0.1.0",
"dependencies": {
- "@fortawesome/fontawesome-svg-core": "^6.5.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.2.1",
@@ -470,27 +469,6 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/@fortawesome/fontawesome-common-types": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz",
- "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==",
- "hasInstallScript": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/fontawesome-svg-core": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz",
- "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==",
- "hasInstallScript": true,
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.5.2"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@humanwhocodes/config-array": {
"version": "0.11.14",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
diff --git a/package.json b/package.json
index 49a6780..068a57b 100755
--- a/package.json
+++ b/package.json
@@ -14,7 +14,6 @@
"format": "prettier --write ."
},
"dependencies": {
- "@fortawesome/fontawesome-svg-core": "^6.5.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.2.1",
diff --git a/src/App.jsx b/src/App.jsx
index 34610d5..cbb5f96 100755
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,11 +1,11 @@
+import Index from "@/pages";
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
-import Home from "./pages";
export default function App() {
return (
- } />
+ } />
);
diff --git a/src/components/ButtonElement.jsx b/src/components/ButtonElement.jsx
deleted file mode 100644
index 13293f1..0000000
--- a/src/components/ButtonElement.jsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Link } from "react-scroll";
-import styled from "styled-components";
-
-export const Button = styled(Link)`
- border-radius: 50px;
- background: ${({ primary }) => (primary ? "#01BF71" : "#010606")};
- white-space: nowrap;
- padding: ${({ big }) => (big ? "14px 48px" : "12px 30px")};
- color: ${({ dark }) => (dark ? "#010106" : "#fff")};
- font-size: $ ${({ fontBig }) => (fontBig ? "20px" : "16px")};
- outline: none;
- border: none;
- cursor: pointer;
- display: flex;
- justify-content: center;
- align-items: center;
- transition: all 0.2s ease-in-out;
-
- &:hover {
- transition: all 0.2s ease-in-out;
- background: ${({ primary }) => (primary ? "#fff" : "#01BF71")};
- }
-`;
diff --git a/src/components/Footer/index.jsx b/src/components/Footer/index.jsx
index 5544523..461ae54 100755
--- a/src/components/Footer/index.jsx
+++ b/src/components/Footer/index.jsx
@@ -1,6 +1,3 @@
-import { FaLinkedin } from "react-icons/fa";
-import { FaSquareXTwitter } from "react-icons/fa6";
-import { animateScroll as scroll } from "react-scroll";
import {
FooterContainer,
FooterWrap,
@@ -10,7 +7,10 @@ import {
SocialMedia,
SocialMediaWrap,
WebsiteRights,
-} from "./FooterElements";
+} from "@/components/Footer/FooterElements";
+import { FaLinkedin } from "react-icons/fa";
+import { FaSquareXTwitter } from "react-icons/fa6";
+import { animateScroll as scroll } from "react-scroll";
const images = [
"https://freepik.com/free-vector/hand-coding-concept-illustration_21864184.htm#query=coding&position=17&from_view=search&track=sph&uuid=5896d847-38e4-4cb9-8fe1-103041c7c933",
@@ -43,7 +43,7 @@ export default function Footer() {
-
+
Understanding Deep Learning
diff --git a/src/components/HeroSection/HeroElements.jsx b/src/components/HeroSection/HeroElements.jsx
index 2a3e7bd..383b648 100755
--- a/src/components/HeroSection/HeroElements.jsx
+++ b/src/components/HeroSection/HeroElements.jsx
@@ -61,12 +61,16 @@ export const HeroBtnWrapper = styled.div`
export const HeroRow = styled.div`
display: grid;
- grid-auto-columns: minmax(auto, 1fr);
+ grid-template-columns: 1fr 1fr;
+ gap: 20px;
align-items: top;
- grid-template-areas: 'col1 col2' };
+ grid-template-areas: "col1 col2";
- @media screen and (max-width: 768px){
- grid-template-areas: 'col2' 'col1';
+ @media screen and (max-width: 768px) {
+ grid-template-columns: 1fr;
+ grid-template-areas:
+ "col1"
+ "col2";
}
`;
@@ -74,7 +78,6 @@ export const HeroNewsItem = styled.div`
margin-left: 4px;
color: #000000;
font-size: 16px;
- /* line-height: 16px; */
margin-bottom: 16px;
display: flex;
justify-content: start;
@@ -111,12 +114,16 @@ export const HeroColumn1 = styled.div`
margin-left: 12px;
margin-top: 60px;
padding: 10px 15px;
- padding: 0 15px;
grid-area: col1;
- align-items: left;
display: flex;
flex-direction: column;
justify-content: space-between;
+
+ @media screen and (max-width: 768px) {
+ margin-left: 0;
+ margin-top: 20px;
+ padding: 0;
+ }
`;
export const HeroColumn2 = styled.div`
@@ -126,6 +133,10 @@ export const HeroColumn2 = styled.div`
display: flex;
align-items: center;
flex-direction: column;
+
+ @media screen and (max-width: 768px) {
+ padding: 0;
+ }
`;
export const TextWrapper = styled.div`
diff --git a/src/components/HeroSection/index.jsx b/src/components/HeroSection/index.jsx
index 4576a78..9a9721b 100755
--- a/src/components/HeroSection/index.jsx
+++ b/src/components/HeroSection/index.jsx
@@ -1,4 +1,3 @@
-import img from "../../images/F23.prince.learning.turquoise.jpg";
import {
HeroCitationBlock,
HeroCitationTitle,
@@ -18,7 +17,8 @@ import {
HeroRow,
Img,
UDLLink,
-} from "./HeroElements";
+} from "@/components/HeroSection/HeroElements";
+import img from "@/images/F23.prince.learning.turquoise.jpg";
export default function HeroSection() {
const citation = `
diff --git a/src/components/Instructors/index.jsx b/src/components/Instructors/index.jsx
index e1bdf08..ee377d4 100644
--- a/src/components/Instructors/index.jsx
+++ b/src/components/Instructors/index.jsx
@@ -1,4 +1,3 @@
-import img from "../../images/instructor.svg";
import {
Column1,
Column2,
@@ -14,7 +13,8 @@ import {
Subtitle,
TextWrapper,
TopLine,
-} from "./InstructorsElements";
+} from "@/components/Instructors/InstructorsElements";
+import img from "@/images/instructor.svg";
const fullSlides = [
{
diff --git a/src/components/Media/index.jsx b/src/components/Media/index.jsx
index 4050b65..caf2d41 100644
--- a/src/components/Media/index.jsx
+++ b/src/components/Media/index.jsx
@@ -1,4 +1,3 @@
-import img from "../../images/media.svg";
import {
Column1,
Column2,
@@ -15,7 +14,8 @@ import {
TextWrapper,
TopLine,
VideoFrame,
-} from "./MediaElements";
+} from "@/components/Media/MediaElements";
+import img from "@/images/media.svg";
const interviews = [
{
diff --git a/src/components/More/index.jsx b/src/components/More/index.jsx
index 09de6f3..ce2d2ea 100644
--- a/src/components/More/index.jsx
+++ b/src/components/More/index.jsx
@@ -1,4 +1,3 @@
-import img from "../../images/more.svg";
import {
Column1,
Column2,
@@ -16,7 +15,8 @@ import {
Subtitle,
TextWrapper,
TopLine,
-} from "./MoreElements";
+} from "@/components/More/MoreElements";
+import img from "@/images/more.svg";
const book = [
{
diff --git a/src/components/NavBar/NavbarElements.jsx b/src/components/Navbar/NavbarElements.jsx
similarity index 100%
rename from src/components/NavBar/NavbarElements.jsx
rename to src/components/Navbar/NavbarElements.jsx
diff --git a/src/components/NavBar/index.jsx b/src/components/Navbar/index.jsx
similarity index 97%
rename from src/components/NavBar/index.jsx
rename to src/components/Navbar/index.jsx
index 4654e59..f0714cc 100755
--- a/src/components/NavBar/index.jsx
+++ b/src/components/Navbar/index.jsx
@@ -1,7 +1,3 @@
-import { useEffect, useState } from "react";
-import { FaBars } from "react-icons/fa";
-import { IconContext } from "react-icons/lib";
-import { animateScroll as scroll } from "react-scroll";
import {
MobileIcon,
Nav,
@@ -10,9 +6,13 @@ import {
NavLinks,
NavLogo,
NavMenu,
-} from "./NavbarElements";
+} from "@/components/NavBar/NavbarElements";
+import { useEffect, useState } from "react";
+import { FaBars } from "react-icons/fa";
+import { IconContext } from "react-icons/lib";
+import { animateScroll as scroll } from "react-scroll";
-export default function NavBar({ toggle }) {
+export default function Navbar({ toggle }) {
const [scrollNav, setScrollNav] = useState(false);
useEffect(() => {
diff --git a/src/components/Notebooks/index.jsx b/src/components/Notebooks/index.jsx
index 40d847a..b722410 100644
--- a/src/components/Notebooks/index.jsx
+++ b/src/components/Notebooks/index.jsx
@@ -1,4 +1,3 @@
-import img from "../../images/coding.svg";
import {
Column1,
Column2,
@@ -12,7 +11,8 @@ import {
Subtitle,
TextWrapper,
TopLine,
-} from "./NotebookElements";
+} from "@/components/Notebooks/NotebookElements";
+import img from "@/images/coding.svg";
const notebooks = [
{
diff --git a/src/components/ScrollToTop.jsx b/src/components/ScrollToTop.jsx
deleted file mode 100755
index ec78401..0000000
--- a/src/components/ScrollToTop.jsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import { useEffect } from "react";
-import { useLocation } from "react-router-dom";
-
-export default function ScrollToTop() {
- const { pathname } = useLocation();
-
- useEffect(() => {
- window.scrollTo(0, 0, { behavior: "smooth" });
- }, [pathname]);
-
- return null;
-}
diff --git a/src/components/Sidebar/index.jsx b/src/components/Sidebar/index.jsx
index e3e10fe..716eb2c 100755
--- a/src/components/Sidebar/index.jsx
+++ b/src/components/Sidebar/index.jsx
@@ -5,7 +5,7 @@ import {
SidebarLink,
SidebarMenu,
SidebarWrapper,
-} from "./SidebarElements";
+} from "@/components/Sidebar/SidebarElements";
export default function Sidebar({ isOpen, toggle }) {
return (
diff --git a/src/index.jsx b/src/index.jsx
index 2c28dfe..c3b2d7f 100755
--- a/src/index.jsx
+++ b/src/index.jsx
@@ -1,7 +1,7 @@
+import App from "@/App";
+import "@/styles/globals.css";
import React from "react";
import ReactDOM from "react-dom/client";
-import App from "./App";
-import "./styles/globals.css";
ReactDOM.createRoot(document.getElementById("root")).render(
diff --git a/src/pages/index.jsx b/src/pages/index.jsx
index 71ae0d1..1963853 100755
--- a/src/pages/index.jsx
+++ b/src/pages/index.jsx
@@ -1,14 +1,14 @@
+import Footer from "@/components/Footer";
+import HeroSection from "@/components/HeroSection";
+import InstructorsSection from "@/components/Instructors";
+import MediaSection from "@/components/Media";
+import MoreSection from "@/components/More";
+import Navbar from "@/components/Navbar";
+import NotebookSection from "@/components/Notebooks";
+import Sidebar from "@/components/Sidebar";
import { useState } from "react";
-import Footer from "../components/Footer";
-import HeroSection from "../components/HeroSection";
-import InstructorsSection from "../components/Instructors";
-import MediaSection from "../components/Media";
-import MoreSection from "../components/More";
-import Navbar from "../components/NavBar";
-import NotebookSection from "../components/Notebooks";
-import Sidebar from "../components/Sidebar";
-export default function Home() {
+export default function Index() {
const [isOpen, setIsOpen] = useState(false);
const toggle = () => {
diff --git a/src/pages/signin.jsx b/src/pages/signin.jsx
deleted file mode 100644
index f54c1a1..0000000
--- a/src/pages/signin.jsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import ScrollToTop from "../components/ScrollToTop";
-import SignIn from "../components/SignIn";
-
-export default function SigninPage() {
- return (
- <>
-
-
- >
- );
-}
diff --git a/vite.config.js b/vite.config.js
index c708a7a..0e64769 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,9 +1,15 @@
import react from "@vitejs/plugin-react-swc";
+import path from "node:path";
import { defineConfig } from "vite";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
+ resolve: {
+ alias: {
+ "@": path.resolve(__dirname, "./src"),
+ },
+ },
server: {
port: 3000,
},