From 794a08f7a08fac009ed76c2f975b60c273a42664 Mon Sep 17 00:00:00 2001 From: ManishBisht7 Date: Sun, 25 Jun 2023 13:43:35 +0530 Subject: [PATCH] feat: home page --- app/layout.tsx | 13 +- app/page.tsx | 125 ++++++- components/faq.tsx | 61 ++++ components/layout/main-nav.tsx | 6 +- components/layout/site-footer.tsx | 7 + components/layout/site-header.tsx | 6 +- components/tracks.tsx | 55 ++++ components/ui/accordion.tsx | 60 ++++ components/ui/button.tsx | 56 ++++ components/ui/input.tsx | 25 ++ config/nav.ts | 4 + package-lock.json | 289 ++++++++++++++++ package.json | 3 + public/background.svg | 527 ++++++++++++++++++++++++++++++ public/bg.svg | 242 ++++++++++++++ public/build_img.svg | 114 +++++++ public/hire_img.svg | 141 ++++++++ public/icons/build.svg | 9 + public/icons/hire.svg | 9 + public/icons/learn.svg | 9 + public/learn_img.svg | 220 +++++++++++++ public/news_bg.svg | 12 + tailwind.config.js | 12 +- 23 files changed, 1988 insertions(+), 17 deletions(-) create mode 100644 components/faq.tsx create mode 100644 components/layout/site-footer.tsx create mode 100644 components/tracks.tsx create mode 100644 components/ui/accordion.tsx create mode 100644 components/ui/button.tsx create mode 100644 components/ui/input.tsx create mode 100644 public/background.svg create mode 100644 public/bg.svg create mode 100644 public/build_img.svg create mode 100644 public/hire_img.svg create mode 100644 public/icons/build.svg create mode 100644 public/icons/hire.svg create mode 100644 public/icons/learn.svg create mode 100644 public/learn_img.svg create mode 100644 public/news_bg.svg diff --git a/app/layout.tsx b/app/layout.tsx index 282f32e..13dfe7f 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,10 +1,15 @@ import { cn } from "@/lib/utils"; import "./globals.css"; -import { Inter } from "next/font/google"; +import { Inter as FontSans } from "next/font/google"; import { ThemeProvider } from "@/components/theme-provider"; import SiteHeader from "@/components/layout/site-header"; +import SiteFooter from "@/components/layout/site-footer"; -const inter = Inter({ subsets: ["latin"] }); +const fontSans = FontSans({ + subsets: ["latin"], + weight: ["400", "500", "700"], + variable: "--font-sans", +}); export const metadata = { title: "Frontend Freaks", @@ -21,14 +26,14 @@ export default function RootLayout({
{children}
- {/* */} +
diff --git a/app/page.tsx b/app/page.tsx index 3c0a866..775815e 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,7 +1,128 @@ +import { Faq } from "@/components/faq"; +import Tracks from "@/components/tracks"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import Image from "next/image"; + export default function Home() { return ( -
-

HI

+
+
+
+
+

+ + Unleash + {" "} + Your +

+ Frontend{" "} + + Superpowers + +
+

+ Elearn is a global training provider based across the UK that + specialises in accredited and bespoke training courses. We crush + the... +

+
+ + +
+
+
+ +
+ girl working on a laptop +
+

+ Premium{" "} + + Learning + {" "} + Experience +

+ +
+
+ learn +
+

Learn

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. +

+
+
+
+ learn +
+

Build

+

+ Lorem ipsum dolor sit amet. +

+
+
+
+ learn +
+

Hire

+

+ Lorem ipsum dolor sit amet consectetu. +

+
+
+
+
+
+ + {/* tracks section */} + + + + {/* newsletter */} +
+
+
Subscribe to our newsletter
+

+ Lorem Ipsum is simply dummy text of the printing. +

+ +
+ + +
+
+
); } diff --git a/components/faq.tsx b/components/faq.tsx new file mode 100644 index 0000000..2291821 --- /dev/null +++ b/components/faq.tsx @@ -0,0 +1,61 @@ +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; + +export function Faq() { + return ( +
+

FAQ

+ +
+ + + Is it accessible? + + Yes. It adheres to the WAI-ARIA design pattern. + + + + Is it styled? + + Yes. It comes with default styles that matches the other + components' aesthetic. + + + + Is it animated? + + Yes. It's animated by default, but you can disable it if you + prefer. + + + + + + Is it accessible? + + Yes. It adheres to the WAI-ARIA design pattern. + + + + Is it styled? + + Yes. It comes with default styles that matches the other + components' aesthetic. + + + + Is it animated? + + Yes. It's animated by default, but you can disable it if you + prefer. + + + +
+
+ ); +} diff --git a/components/layout/main-nav.tsx b/components/layout/main-nav.tsx index 5d530df..5590d91 100644 --- a/components/layout/main-nav.tsx +++ b/components/layout/main-nav.tsx @@ -18,11 +18,11 @@ export default function MainNav({ items, children }: MainNavProps) { const [showMobileMenu, setShowMobileMenu] = React.useState(false); return ( -
+
- Tipsycode + Frontend Freaks {items?.length ? ( @@ -33,7 +33,7 @@ export default function MainNav({ items, children }: MainNavProps) { href={item.href} key={index} className={cn( - "flex items-center md:text-lg font-medium transition-colors hover:text-foreground/80 sm:text-sm capitalize" + "flex items-center font-medium transition-colors hover:text-foreground/80 sm:text-sm capitalize text-foreground/60" )} > {item.title} diff --git a/components/layout/site-footer.tsx b/components/layout/site-footer.tsx new file mode 100644 index 0000000..b39c859 --- /dev/null +++ b/components/layout/site-footer.tsx @@ -0,0 +1,7 @@ +import React from "react"; + +type Props = {}; + +export default function SiteFooter({}: Props) { + return
Footer
; +} diff --git a/components/layout/site-header.tsx b/components/layout/site-header.tsx index 4a035b9..a4bb5ab 100644 --- a/components/layout/site-header.tsx +++ b/components/layout/site-header.tsx @@ -1,14 +1,16 @@ import React from "react"; import MainNav from "./main-nav"; import { navConfig } from "@/config/nav"; +import { Button } from "../ui/button"; type Props = {}; export default function SiteHeader({}: Props) { return ( -
-
+
+
+
); diff --git a/components/tracks.tsx b/components/tracks.tsx new file mode 100644 index 0000000..f03607d --- /dev/null +++ b/components/tracks.tsx @@ -0,0 +1,55 @@ +import Image from "next/image"; +import React from "react"; +import { Button } from "./ui/button"; + +type Props = {}; + +export default function Tracks({}: Props) { + return ( +
+

Our Tracks

+

+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Unde, autem. +

+ +
+
+ learn +
+

Learn The Latest Skills

+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. + It has roots in a BC, making it over 2000 years old. It has roots + in a BC, making it over 2000 years old. +

+
+ +
+
+ learn +
+

Build Projects

+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. + It has roots in a BC, making it over 2000 years old. It has roots + in a BC, making it over 2000 years old. +

+
+ +
+
+ learn +
+

Get Hired

+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. + It has roots in a BC, making it over 2000 years old. It has roots + in a BC, making it over 2000 years old. +

+
+ +
+
+
+ ); +} diff --git a/components/ui/accordion.tsx b/components/ui/accordion.tsx new file mode 100644 index 0000000..a6583d9 --- /dev/null +++ b/components/ui/accordion.tsx @@ -0,0 +1,60 @@ +"use client" + +import * as React from "react" +import * as AccordionPrimitive from "@radix-ui/react-accordion" +import { ChevronDown } from "lucide-react" + +import { cn } from "@/lib/utils" + +const Accordion = AccordionPrimitive.Root + +const AccordionItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AccordionItem.displayName = "AccordionItem" + +const AccordionTrigger = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + svg]:rotate-180", + className + )} + {...props} + > + {children} + + + +)) +AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName + +const AccordionContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + +
{children}
+
+)) +AccordionContent.displayName = AccordionPrimitive.Content.displayName + +export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } diff --git a/components/ui/button.tsx b/components/ui/button.tsx new file mode 100644 index 0000000..ac8e0c9 --- /dev/null +++ b/components/ui/button.tsx @@ -0,0 +1,56 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground hover:bg-destructive/90", + outline: + "border border-input bg-background hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 rounded-md px-3", + lg: "h-11 rounded-md px-8", + icon: "h-10 w-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button" + return ( + + ) + } +) +Button.displayName = "Button" + +export { Button, buttonVariants } diff --git a/components/ui/input.tsx b/components/ui/input.tsx new file mode 100644 index 0000000..677d05f --- /dev/null +++ b/components/ui/input.tsx @@ -0,0 +1,25 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +export interface InputProps + extends React.InputHTMLAttributes {} + +const Input = React.forwardRef( + ({ className, type, ...props }, ref) => { + return ( + + ) + } +) +Input.displayName = "Input" + +export { Input } diff --git a/config/nav.ts b/config/nav.ts index 90f5dae..1d23ebc 100644 --- a/config/nav.ts +++ b/config/nav.ts @@ -11,4 +11,8 @@ export const navConfig: NavItem[] = [ title: "features", href: "#features", }, + { + title: "join", + href: "#join", + }, ]; diff --git a/package-lock.json b/package-lock.json index e89122f..2e1d2ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,9 @@ "name": "frontend-freaks-website", "version": "0.1.0", "dependencies": { + "@next/font": "^13.4.7", + "@radix-ui/react-accordion": "^1.1.2", + "@radix-ui/react-slot": "^1.0.2", "@types/node": "20.3.1", "@types/react": "18.2.14", "@types/react-dom": "18.2.6", @@ -193,6 +196,11 @@ "glob": "7.1.7" } }, + "node_modules/@next/font": { + "version": "13.4.7", + "resolved": "https://registry.npmjs.org/@next/font/-/font-13.4.7.tgz", + "integrity": "sha512-l28ifb3pjKznQeXmiCD5VXkmqdpMrcUQMr4ZChAgTKrjckl/aGyRLOIlL/ABhTHmzMujdt/TTWUsdABArNK5gA==" + }, "node_modules/@next/swc-darwin-arm64": { "version": "13.4.7", "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.7.tgz", @@ -379,6 +387,287 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.1.2.tgz", + "integrity": "sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collapsible": "1.0.3", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz", + "integrity": "sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@rushstack/eslint-patch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", diff --git a/package.json b/package.json index 4773a54..88b516c 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,9 @@ "lint": "next lint" }, "dependencies": { + "@next/font": "^13.4.7", + "@radix-ui/react-accordion": "^1.1.2", + "@radix-ui/react-slot": "^1.0.2", "@types/node": "20.3.1", "@types/react": "18.2.14", "@types/react-dom": "18.2.6", diff --git a/public/background.svg b/public/background.svg new file mode 100644 index 0000000..26d4296 --- /dev/null +++ b/public/background.svg @@ -0,0 +1,527 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/bg.svg b/public/bg.svg new file mode 100644 index 0000000..b28bedc --- /dev/null +++ b/public/bg.svg @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/build_img.svg b/public/build_img.svg new file mode 100644 index 0000000..7be269c --- /dev/null +++ b/public/build_img.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/hire_img.svg b/public/hire_img.svg new file mode 100644 index 0000000..6445934 --- /dev/null +++ b/public/hire_img.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/icons/build.svg b/public/icons/build.svg new file mode 100644 index 0000000..e9f88cc --- /dev/null +++ b/public/icons/build.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/icons/hire.svg b/public/icons/hire.svg new file mode 100644 index 0000000..e007e4b --- /dev/null +++ b/public/icons/hire.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/icons/learn.svg b/public/icons/learn.svg new file mode 100644 index 0000000..d6b6152 --- /dev/null +++ b/public/icons/learn.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/learn_img.svg b/public/learn_img.svg new file mode 100644 index 0000000..21c40b1 --- /dev/null +++ b/public/learn_img.svg @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/news_bg.svg b/public/news_bg.svg new file mode 100644 index 0000000..6d4e5a1 --- /dev/null +++ b/public/news_bg.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/tailwind.config.js b/tailwind.config.js index 0377ea1..c05b2ff 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -2,11 +2,11 @@ module.exports = { darkMode: ["class"], content: [ - './pages/**/*.{ts,tsx}', - './components/**/*.{ts,tsx}', - './app/**/*.{ts,tsx}', - './src/**/*.{ts,tsx}', - ], + "./pages/**/*.{ts,tsx}", + "./components/**/*.{ts,tsx}", + "./app/**/*.{ts,tsx}", + "./src/**/*.{ts,tsx}", + ], theme: { container: { center: true, @@ -73,4 +73,4 @@ module.exports = { }, }, plugins: [require("tailwindcss-animate")], -} \ No newline at end of file +};