diff --git a/src/index.js b/src/index.js index f6cfe047..b223d4de 100644 --- a/src/index.js +++ b/src/index.js @@ -50,6 +50,9 @@ const ResourcesHome = lazy( ); const Resource = lazy(() => import("./pages/resource/Resource")); const MastercraftLayout = lazy(() => import("./pages/MastercraftLayout")); +const MastercraftSearch = lazy( + () => import("./pages/resources-home/search/MastercraftSearch") +); const Homepage = lazy(() => import("./pages/shop/Homepage")); const Checkout = lazy(() => import("./pages/shop/OrderSummaryPage")); const ProductDisplay = lazy(() => import("./pages/shop/ProductDisplayPage")); @@ -108,6 +111,7 @@ export { ResourcesHome, MastercraftHome, MastercraftLayout, + MastercraftSearch, ShopDashboard, ShopSales, SignUp, diff --git a/src/pages/resources-home/search/MastercraftSearch.jsx b/src/pages/resources-home/search/MastercraftSearch.jsx new file mode 100644 index 00000000..1fcc1ebd --- /dev/null +++ b/src/pages/resources-home/search/MastercraftSearch.jsx @@ -0,0 +1,115 @@ +import { Search } from "lucide-react"; +import { useState } from "react"; +import { cn } from "../../../utilities/utils"; +import ResourceCard from "../sections/ResourceCard"; + +function MastercraftSearch() { + const [activeTab, setActiveTab] = useState("All"); + const [activeTitle, setActiveTitle] = useState("Tutorials"); + + const handleSearch = (e) => { + e.preventDefault(); + const formData = new FormData(e.target); + const resource = formData.get("resource"); + // eslint-disable-next-line no-console + console.log(resource); + }; + + return ( +
+
+
+
+
+ {/* First bar */} +
+ {[ + "Documentation", + "Tutorials", + "Courses", + "Technical Articles", + "Podcasts", + "Videos", + ].map((tabItem) => ( + + ))} +
+
+ handleSearch(e.target.value)} + /> + +
+
+ {/* Tabs */} +
+ + {[ + "Java", + "JavaScript", + "C++", + "Python", + "Node.js", + "TypeScript", + "Next.js", + "Kotlin", + "Flutter", + "C", + "SQL", + "PHP", + "C#", + "GO", + ].map((tabItem) => ( + + ))} +
+
+

{activeTitle}

+
+ + + +
+
+
+
+ ); +} + +export default MastercraftSearch; diff --git a/src/pages/resources-home/sections/Features.jsx b/src/pages/resources-home/sections/Features.jsx index c421be88..390fc6ff 100644 --- a/src/pages/resources-home/sections/Features.jsx +++ b/src/pages/resources-home/sections/Features.jsx @@ -46,7 +46,7 @@ function Features() { {/* Tabs */} -
+
- {/* Day-Zero Software developers */}

diff --git a/src/pages/resources-home/sections/HowToArticles.jsx b/src/pages/resources-home/sections/HowToArticles.jsx index 9f66baaf..b4725a21 100644 --- a/src/pages/resources-home/sections/HowToArticles.jsx +++ b/src/pages/resources-home/sections/HowToArticles.jsx @@ -14,7 +14,7 @@ function HowToArticles() { How-to-articles: Expanding your understanding

Explore all tutorials @@ -35,7 +35,7 @@ function HowToArticles() { Recommended tutorials for beginners Explore all tutorials diff --git a/src/pages/resources-home/sections/ResourceCard.jsx b/src/pages/resources-home/sections/ResourceCard.jsx index bf1a4dca..f2774b7f 100644 --- a/src/pages/resources-home/sections/ResourceCard.jsx +++ b/src/pages/resources-home/sections/ResourceCard.jsx @@ -7,7 +7,7 @@ import logo from "../../../assets/images/sytLogo.png"; function ResourceCard() { return ( {/* Image */} diff --git a/src/router/index.jsx b/src/router/index.jsx index 6ba0c68d..40417c6b 100644 --- a/src/router/index.jsx +++ b/src/router/index.jsx @@ -26,6 +26,7 @@ import { Mastercraft, MastercraftHome, MastercraftLayout, + MastercraftSearch, OrdersPage, ProductDisplay, Products, @@ -293,7 +294,15 @@ const router = createBrowserRouter( ), }, { - path: "/resources/:id", + path: "/resources/search", + element: ( + }> + + + ), + }, + { + path: "/resources/search/:id", element: ( }>