diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..a49382c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,96 @@ +## <u>How can you Contribute to this Project?</u> +#### 1. Fork the Repository + +To contribute to the project, you need to fork the repository to your GitHub account. You can do this by clicking on the [Fork](https://github.com/yashksaini-coder/leetcode-journal/fork) button at the top right corner of the repository page. + +#### 2. Clone the Repository + +```bash +git clone https://github.com/yashksaini-coder/leetcode-journal + +# Navigate to the project directory +cd leetcode-journal +``` + +#### 3. Install Dependencies + +```bash +npm install +``` + +#### 4. Set Up Supabase + +- Go to the [Supabase](https://supabase.io/) website and create an account. +- Create a new project in Supabase. +- Navigate to the API section and create a new API key. +- Copy the API key and the URL of your Supabase project. + +#### 5. Set Up Environment Variables + +- Create a new file named `.env` in the root directory of the project. + +- Add the following environment variables to the file: + +```bash +NEXT_PUBLIC_SUPABASE_URL = your-supabase-url +NEXT_PUBLIC_SUPABASE_ANON_KEY = your-anon-key +DATABASE_URL = your-database-url +``` + +#### 6. Start the Application + +```bash +# Start the application +npm run dev +``` + +#### 7. Open the app in your browser + +You should now be able to access the application at [http://localhost:3000](http://localhost:3000) + +## Contributing + +We welcome contributions from the community! To get started, you can follow the steps below: + +#### 7. Create a New Branch + +```bash +# Create a new branch for your feature or fix +git checkout -b feature/your-feature-name +``` + +#### 8. Make sure your changes adhere to the project standards and structure. Stage all changes + +```bash +git add . +``` + +#### 9. Commit your Changes, with a descriptive message + +```bash +git commit -m "Description of the feature or fix" +``` + +#### 10. Push your Changes into the branch to your forked repository + +```bash +# Push your branch to your forked repository +git push origin feature/your-feature-name +``` + +#### 11. Create a Pull Request + +- Go to the original repository on GitHub and open a new Pull Request +- Provide a clear description of your changes in the Pull Request. + +#### 12. Wait for Review + +- Once you have opened a Pull Request, the maintainers will review your changes and provide feedback. + +## ✨ Contributors + +All Thanks to our contributors 💙 + +[](https://github.com/yashksaini-coder/Leetcode-Journal/graphs/contributors) + +<img src="https://www.animatedimages.org/data/media/562/animated-line-image-0184.gif" width="1920" /> diff --git a/README.md b/README.md index 0a5c916..74d671f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ <!--  --> -<div align="center"> - <img src="https://github.com/user-attachments/assets/e2fad388-7a5b-41fb-95c6-ff7c983193dc"> -</div> +<img align="center" src="https://github.com/user-attachments/assets/e2fad388-7a5b-41fb-95c6-ff7c983193dc"> # [Leetcode Journal](https://leetcode-journal.vercel.app/) @@ -10,36 +8,13 @@ ## Project Overview - [](https://wakatime.com/badge/user/9a827e04-5df8-4525-ace8-e88326bbf87a/project/cbc54911-d322-42cb-a897-c093a59e53ad) -<!-- <table align="center"> - <thead align="center"> - <tr border: 2px;> - <td><b>🌟 Stars</b></td> - <td><b>🍴 Forks</b></td> - <td><b>🐛 Issues</b></td> - <td><b>🔔 Open PRs</b></td> - <td><b>🔕 Close PRs</b></td> - </tr> - </thead> - <tbody> - <tr> - <td><img alt="Stars" src="https://img.shields.io/github/stars/yashksaini-coder/Leetcode-Journal?style=flat&logo=github"/></td> - <td><img alt="Forks" src="https://img.shields.io/github/forks/yashksaini-coder/Leetcode-Journal?style=flat&logo=github"/></td> - <td><img alt="Issues" src="https://img.shields.io/github/issues/yashksaini-coder/Leetcode-Journal?style=flat&logo=github"/></td> - <td><img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/yashksaini-coder/Leetcode-Journal?style=flat&logo=github"/></td> - <td><img alt="Close Pull Requests" src="https://img.shields.io/github/issues-pr-closed/yashksaini-coder/Leetcode-Journal?style=flat&color=green&logo=github"/></td> - </tr> - </tbody> -</table> --> - ## Key Features Leetcode Journal offers the following key features: -- **📝 AI Agent:** An AI Agent that is capable of solving and providing assistance to the developers to help them solve leetcode problems -- **🗂️ Categorize Problems:** Tag problems by difficulty, topic, or category for better organization. +- **🗂️ Problems Dashboard:** Showcasing problems by difficulty, topic, or category for better organization. - **📈 Track Progress:** Visualize your journey with detailed progress tracking. - **📊 Performance Analytics:** Leverage charts and insights to discover patterns in your performance. @@ -73,102 +48,39 @@ Leetcode Journal leverages cutting-edge technologies to deliver a seamless user </tr> </table> -### How can you Contrbitute to this Project? - -#### 1. Fork the Repository - -To contribute to the project, you need to fork the repository to your GitHub account. You can do this by clicking on the [Fork](https://github.com/yashksaini-coder/leetcode-journal/fork) button at the top right corner of the repository page. - -#### 2. Clone the Repository -```bash -git clone https://github.com/yashksaini-coder/leetcode-journal - -# Navigate to the project directory -cd leetcode-journal -``` - -#### 3. Install Dependencies -```bash -npm install -``` - -#### 4. Set Up Supabase - -- Go to the [Supabase](https://supabase.io/) website and create an account. -- Create a new project in Supabase. -- Navigate to the API section and create a new API key. -- Copy the API key and the URL of your Supabase project. - -#### %. Set Up Environment Variables -- Create a new file named `.env` in the root directory of the project. -- Add the following environment variables to the file: -```bash -NEXT_PUBLIC_SUPABASE_URL = your-supabase-url -NEXT_PUBLIC_SUPABASE_ANON_KEY = your-anon-key -DATABASE_URL = your-database-url -``` - -#### 6. Start the Application -```bash -# Start the application -npm run dev -``` - -#### 7. Open the app in your browser -You should now be able to access the application at [http://localhost:3000](http://localhost:3000) - -## Contributing -We welcome contributions from the community! To get started, you can follow the steps below: - -#### 7. Create a New Branch - -```bash -# Create a new branch for your feature or fix -git checkout -b feature/your-feature-name -``` - -#### 8. Make sure your changes adhere to the project standards and structure. Stage all changes - -```bash -git add . -``` -#### 9. Commit your Changes, with a descriptive message - -```bash -git commit -m "Description of the feature or fix" -``` -#### 10. Push your Changes into the branch to your forked repository - -```bash -# Push your branch to your forked repository -git push origin feature/your-feature-name -``` - -#### 11. Create a Pull Request - -- Go to the original repository on GitHub and open a new Pull Request -- Provide a clear description of your changes in the Pull Request. - -#### 12. Wait for Review - -- Once you have opened a Pull Request, the maintainers will review your changes and provide feedback. - -## ✨ Contributors - -All Thanks to our contributors 💙 - -[](https://github.com/yashksaini-coder/Leetcode-Journal/graphs/contributors) - -<img src="https://www.animatedimages.org/data/media/562/animated-line-image-0184.gif" width="1920" /> - -## Stargazers ❤️ - -<div align='left'> - -[](https://github.com/yashksaini-coder/leetcode-journal/stargazers) - -</div> - -## Forkers ❤️ - -[](https://github.com/yashksaini-coder/Leetcode-Journal/network/members) +--- + +<a href="https://github.com/yashksaini-coder"> + <table> + <tbody> + <tr> + <td align="left" valign="top" width="14.28%"> + <img src="https://github.com/yashksaini-coder.png?s=60" width="130px;"/> + <br/> + <h4 align="center"> + <b>Yash K. Saini</b> + </h4> + <div align="center"> + <p>(Author)</p> + </div> + </td> + <td align="left" valign="top" width="85%"> + <p> + 👋 Hi there! I'm <u><em><strong>Yash K. Saini</strong></em></u>, a self-taught software developer and a computer science student from India. + </p> + <ul> + <li> + I love building & contributing to Open Source software solutions & projects that help solve real-world problems. + </li> + <li> + I want to build products & systems that can benefit & solve problems for many other DEVs. + </li> + </td> + </tr> + </tbody> + </table> +</a> + +<p align="center"> + <strong>🌟 If you find this project helpful, please give it a star on GitHub! 🌟</strong> +</p> diff --git a/app/page.tsx b/app/page.tsx index 182c081..b409b63 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,6 +1,4 @@ -import { BenefitsSection } from "@/components/DashboardV2/BenefitsSection"; import { CommunitySection } from "@/components/DashboardV2/CommunitySection"; -import { ContactSection } from "@/components/DashboardV2/ContactSection"; import { FAQSection } from "@/components/DashboardV2/FAQSection"; import { FeaturesSection } from "@/components/DashboardV2/FeaturesSection"; import { FooterSection } from "@/components/DashboardV2/FooterSection"; @@ -8,13 +6,12 @@ import { HeroSection } from "@/components/DashboardV2/HeroSection"; import { PricingSection } from "@/components/DashboardV2/PricingSection"; import { ServicesSection } from "@/components/DashboardV2/ServicesSection"; import { TeamSection } from "@/components/DashboardV2/TeamSection"; -import { TestimonialSection } from "@/components/DashboardV2/TestimonialSection"; import { V2Navbar } from "@/components/DashboardV2/V2Navbar"; export const metadata = { title: "LeetCode Journal - Your Coding Companion", description: "LeetCode Journal helps you organize your problem-solving journey, track your progress, and achieve your coding interview goals.", - openGraph: { + link: { type: "website", url: "https://leetcode-journal.vercel.app/", title: "LeetCode Journal - Your Coding Companion", @@ -24,19 +21,10 @@ export const metadata = { url: "https://res.cloudinary.com/dbzv9xfjp/image/upload/v1723499276/og-images/shadcn-vue.jpg", width: 1200, height: 630, - alt: "Shadcn - Landing template", + alt: "Leetcode Journal", }, ], }, - twitter: { - card: "summary_large_image", - site: "https://github.com/yashksaini-coder/Leetcode-Journal", - title: "Shadcn - Landing template", - description: "Free Shadcn landing page for developers", - images: [ - "https://res.cloudinary.com/dbzv9xfjp/image/upload/v1723499276/og-images/shadcn-vue.jpg", - ], - }, }; export default function Home() { @@ -44,10 +32,8 @@ export default function Home() { <div className="w-full"> <V2Navbar/> <HeroSection /> - {/* <BenefitsSection /> */} - {/* <FeaturesSection /> */} + <FeaturesSection /> <ServicesSection /> - {/* <TestimonialSection /> */} <TeamSection /> <CommunitySection /> <PricingSection /> diff --git a/components/DashboardV2/CommunitySection.tsx b/components/DashboardV2/CommunitySection.tsx index e5ed92b..2432484 100644 --- a/components/DashboardV2/CommunitySection.tsx +++ b/components/DashboardV2/CommunitySection.tsx @@ -33,7 +33,7 @@ export const CommunitySection = () => { <CardFooter> <Button asChild> - <a href="https://discord.gg/T46zeCGvaC" target="_blank"> + <a href="https://discord.gg/VycaYtnSQr" target="_blank"> Join Discord </a> </Button> diff --git a/components/DashboardV2/ContactSection.tsx b/components/DashboardV2/ContactSection.tsx deleted file mode 100644 index f130f16..0000000 --- a/components/DashboardV2/ContactSection.tsx +++ /dev/null @@ -1,245 +0,0 @@ -"use client"; -import { - Card, - CardContent, - CardFooter, - CardHeader, -} from "@/components/ui/card"; -import { Building2, Clock, Mail, Phone } from "lucide-react"; -import { useForm } from "react-hook-form"; -import { z } from "zod"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { - Form, - FormControl, - FormField, - FormItem, - FormLabel, - FormMessage, -} from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { Button } from "@/components/ui/button"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { Textarea } from "@/components/ui/textarea"; - -const formSchema = z.object({ - firstName: z.string().min(2).max(255), - lastName: z.string().min(2).max(255), - email: z.string().email(), - subject: z.string().min(2).max(255), - message: z.string(), -}); - -export const ContactSection = () => { - const form = useForm<z.infer<typeof formSchema>>({ - resolver: zodResolver(formSchema), - defaultValues: { - firstName: "", - lastName: "", - email: "", - subject: "Web Development", - message: "", - }, - }); - - function onSubmit(values: z.infer<typeof formSchema>) { - const { firstName, lastName, email, subject, message } = values; - console.log(values); - - const mailToLink = `mailto:yashkumarsaini366@gmail.com?subject=${subject}&body=Hello I am ${firstName} ${lastName}, my Email is ${email}. %0D%0A${message}`; - - window.location.href = mailToLink; - } - - return ( - <section id="contact" className="container px-3 mx-auto py-24 sm:py-32"> - <section className="grid grid-cols-1 md:grid-cols-2 gap-8"> - <div> - <div className="mb-4"> - <h2 className="text-lg text-primary mb-2 tracking-wider"> - Contact - </h2> - - <h2 className="text-3xl md:text-4xl font-bold">Connect With Us</h2> - </div> - <p className="mb-8 text-muted-foreground lg:w-5/6"> - Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum - ipsam sint enim exercitationem ex autem corrupti quas tenetur - </p> - - <div className="flex flex-col gap-4"> - <div> - <div className="flex gap-2 mb-1"> - <Building2 /> - <div className="font-bold">Find us</div> - </div> - - <div>742 Evergreen Terrace, Springfield, IL 62704</div> - </div> - - <div> - <div className="flex gap-2 mb-1"> - <Phone /> - <div className="font-bold">Call us</div> - </div> - - <div>+1 (619) 123-4567</div> - </div> - - <div> - <div className="flex gap-2 mb-1"> - <Mail /> - <div className="font-bold">Mail US</div> - </div> - - <div>leomirandadev@gmail.com</div> - </div> - - <div> - <div className="flex gap-2"> - <Clock /> - <div className="font-bold">Visit us</div> - </div> - - <div> - <div>Monday - Friday</div> - <div>8AM - 4PM</div> - </div> - </div> - </div> - </div> - - <Card className="bg-muted/60 dark:bg-card rounded-3xl border-secondary"> - <CardHeader className="text-primary text-2xl"> </CardHeader> - <CardContent> - <Form {...form}> - <form - onSubmit={form.handleSubmit(onSubmit)} - className="grid w-full gap-4" - > - <div className="flex flex-col md:!flex-row gap-8"> - <FormField - control={form.control} - name="firstName" - render={({ field }) => ( - <FormItem className="w-full"> - <FormLabel>First Name</FormLabel> - <FormControl> - <Input placeholder="Leopoldo" {...field} /> - </FormControl> - <FormMessage /> - </FormItem> - )} - /> - <FormField - control={form.control} - name="lastName" - render={({ field }) => ( - <FormItem className="w-full"> - <FormLabel>Last Name</FormLabel> - <FormControl> - <Input placeholder="Miranda" {...field} /> - </FormControl> - <FormMessage /> - </FormItem> - )} - /> - </div> - - <div className="flex flex-col gap-1.5"> - <FormField - control={form.control} - name="email" - render={({ field }) => ( - <FormItem> - <FormLabel>Email</FormLabel> - <FormControl> - <Input - type="email" - placeholder="leomirandadev@gmail.com" - {...field} - /> - </FormControl> - <FormMessage /> - </FormItem> - )} - /> - </div> - - <div className="flex flex-col gap-1.5"> - <FormField - control={form.control} - name="subject" - render={({ field }) => ( - <FormItem> - <FormLabel>Subject</FormLabel> - <Select - onValueChange={field.onChange} - defaultValue={field.value} - > - <FormControl> - <SelectTrigger> - <SelectValue placeholder="Select a subject" /> - </SelectTrigger> - </FormControl> - <SelectContent> - <SelectItem value="Web Development"> - Web Development - </SelectItem> - <SelectItem value="Mobile Development"> - Mobile Development - </SelectItem> - <SelectItem value="Figma Design"> - Figma Design - </SelectItem> - <SelectItem value="REST API">REST API</SelectItem> - <SelectItem value="FullStack Project"> - FullStack Project - </SelectItem> - </SelectContent> - </Select> - <FormMessage /> - </FormItem> - )} - /> - </div> - - <div className="flex flex-col gap-1.5"> - <FormField - control={form.control} - name="message" - render={({ field }) => ( - <FormItem> - <FormLabel>Message</FormLabel> - <FormControl> - <Textarea - rows={5} - placeholder="Your message..." - className="resize-none" - {...field} - /> - </FormControl> - - <FormMessage /> - </FormItem> - )} - /> - </div> - - <Button className="mt-4">Send message</Button> - </form> - </Form> - </CardContent> - - <CardFooter></CardFooter> - </Card> - </section> - </section> - ); -}; \ No newline at end of file diff --git a/components/DashboardV2/HeroSection.tsx b/components/DashboardV2/HeroSection.tsx index da9d38a..9a47d27 100644 --- a/components/DashboardV2/HeroSection.tsx +++ b/components/DashboardV2/HeroSection.tsx @@ -5,7 +5,7 @@ import { ArrowRight } from "lucide-react"; import { useTheme } from "next-themes"; import Image from "next/image"; import Link from "next/link"; - +import banner from "@/public/hero-banner.png"; export const HeroSection = () => { const { theme } = useTheme(); return ( @@ -59,11 +59,9 @@ export const HeroSection = () => { <div className="absolute top-2 lg:-top-8 left-1/2 transform -translate-x-1/2 w-[90%] mx-auto h-24 lg:h-80 bg-indigo-500/50 rounded-full blur-3xl"></div> <Image width={1200} - height={1200} + height={600} className="w-full md:w-[1200px] mx-auto rounded-3xl relative leading-none flex items-center border-[7px] border-secondary" - src={ - "https://github.com/user-attachments/assets/434dfd4e-508d-468f-a42f-185672e4b1f4" - } + src={banner} alt="dashboard" /> diff --git a/components/DashboardV2/ServicesSection.tsx b/components/DashboardV2/ServicesSection.tsx index 6603600..3360a8b 100644 --- a/components/DashboardV2/ServicesSection.tsx +++ b/components/DashboardV2/ServicesSection.tsx @@ -6,13 +6,13 @@ import { CardTitle, } from "@/components/ui/card"; -enum ProService { +enum Coming { YES = 1, NO = 0, } interface ServiceProps { title: string; - pro: ProService; + pro: Coming; description: string; } const serviceList: ServiceProps[] = [ @@ -20,34 +20,34 @@ const serviceList: ServiceProps[] = [ title: "Problem Solving", description: "Enhance your problem-solving skills with a variety of coding challenges.", - pro: ProService.NO, + pro: Coming.NO, }, { title: "Interview Preparation", description: "Get ready for your technical interviews with curated questions and solutions.", - pro: ProService.YES, + pro: Coming.YES, }, { title: "Progress Tracking", description: "Track your progress and see how you improve over time.", - pro: ProService.NO, + pro: Coming.NO, }, { title: "Community Support", description: "Join a community of fellow coders and get support.", - pro: ProService.NO, + pro: Coming.NO, }, { title: "AI Assistance", description: "Get personalized recommendations and insights to help you grow.", - pro: ProService.YES, + pro: Coming.YES, }, { title: "Code Review", description: "Get feedback on your code to improve your skills.", - pro: ProService.YES, + pro: Coming.YES, }, ]; @@ -59,11 +59,10 @@ export const ServicesSection = () => { </h2> <h2 className="text-3xl md:text-4xl text-indigo-500 text-center font-bold mb-4"> - Grow Your Business + Track your coding journey </h2> <h3 className="md:w-1/2 mx-auto text-xl text-center text-muted-foreground mb-8"> - From marketing and sales to operations and strategy, we have the - expertise to help you achieve your goals. + We have a simple goal to showcase your LeetCode DSA journey in the greater UI way. </h3> <div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4"></div> @@ -78,11 +77,11 @@ export const ServicesSection = () => { <CardDescription>{description}</CardDescription> </CardHeader> <Badge - data-pro={ProService.YES === pro} + data-pro={Coming.YES === pro} variant="secondary" className="absolute -top-2 -right-3 data-[pro=false]:hidden" > - PRO + Coming </Badge> </Card> ))} diff --git a/components/DashboardV2/TestimonialSection.tsx b/components/DashboardV2/TestimonialSection.tsx deleted file mode 100644 index 423b356..0000000 --- a/components/DashboardV2/TestimonialSection.tsx +++ /dev/null @@ -1,141 +0,0 @@ -"use client"; -import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/components/ui/card"; -import { - Carousel, - CarouselContent, - CarouselItem, - CarouselNext, - CarouselPrevious, -} from "@/components/ui/carousel"; -import { Star } from "lucide-react"; - -interface ReviewProps { - image: string; - name: string; - userName: string; - comment: string; - rating: number; -} - -const reviewList: ReviewProps[] = [ - { - image: "https://github.com/shadcn.png", - name: "John Doe", - userName: "Product Manager", - comment: - "Wow NextJs + Shadcn is awesome!. This template lets me change colors, fonts and images to match my brand identity. ", - rating: 5.0, - }, - { - image: "https://github.com/shadcn.png", - name: "Sophia Collins", - userName: "Cybersecurity Analyst", - comment: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna. ", - rating: 4.8, - }, - - { - image: "https://github.com/shadcn.png", - name: "Adam Johnson", - userName: "Chief Technology Officer", - comment: - "Lorem ipsum dolor sit amet,exercitation. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - rating: 4.9, - }, - { - image: "https://github.com/shadcn.png", - name: "Ethan Parker", - userName: "Data Scientist", - comment: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod labore et dolore magna aliqua. Ut enim ad minim veniam.", - rating: 5.0, - }, - { - image: "https://github.com/shadcn.png", - name: "Ava Mitchell", - userName: "IT Project Manager", - comment: - "Lorem ipsum dolor sit amet, tempor incididunt aliqua. Ut enim ad minim veniam, quis nostrud incididunt consectetur adipiscing elit.", - rating: 5.0, - }, - { - image: "https://github.com/shadcn.png", - name: "Isabella Reed", - userName: "DevOps Engineer", - comment: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", - rating: 4.9, - }, -]; - -export const TestimonialSection = () => { - return ( - <section id="testimonials" className="container mx-auto px-3 py-24 sm:py-32"> - <div className="text-center mb-8"> - <h2 className="text-lg text-primary text-center mb-2 tracking-wider"> - Testimonials - </h2> - - <h2 className="text-3xl md:text-4xl text-center font-bold mb-4"> - Hear What Our 1000+ Clients Say - </h2> - </div> - - <Carousel - opts={{ - align: "start", - }} - className="relative w-[80%] sm:w-[90%] lg:max-w-screen-xl mx-auto" - > - <CarouselContent> - {reviewList.map((review) => ( - <CarouselItem - key={review.name} - className="md:basis-1/2 lg:basis-1/3" - > - <Card className="bg-muted/50 dark:bg-card"> - <CardContent className="pt-6 pb-0"> - <div className="flex gap-1 pb-6"> - <Star className="size-4 fill-primary text-primary" /> - <Star className="size-4 fill-primary text-primary" /> - <Star className="size-4 fill-primary text-primary" /> - <Star className="size-4 fill-primary text-primary" /> - <Star className="size-4 fill-primary text-primary" /> - </div> - {`"${review.comment}"`} - </CardContent> - - <CardHeader> - <div className="flex flex-row items-center gap-4"> - <Avatar> - <AvatarImage - src="https://avatars.githubusercontent.com/u/75042455?v=4" - alt="radix" - /> - <AvatarFallback>SV</AvatarFallback> - </Avatar> - - <div className="flex flex-col"> - <CardTitle className="text-lg">{review.name}</CardTitle> - <CardDescription>{review.userName}</CardDescription> - </div> - </div> - </CardHeader> - </Card> - </CarouselItem> - ))} - </CarouselContent> - <CarouselPrevious /> - <CarouselNext /> - </Carousel> - </section> - ); -}; \ No newline at end of file diff --git a/components/DashboardV2/V2Navbar.tsx b/components/DashboardV2/V2Navbar.tsx index 2c830c9..6cbc89a 100644 --- a/components/DashboardV2/V2Navbar.tsx +++ b/components/DashboardV2/V2Navbar.tsx @@ -58,18 +58,18 @@ const routeList: RouteProps[] = [ const featureList: FeatureProps[] = [ { - title: "Showcase Your Value ", - description: "Highlight how your product solves user problems.", + title: "Showcase Your Journey ", + description: "See your entire Leetcode journey comes alive using our interactive visualizations.", }, { - title: "Build Trust", + title: "New Problem Dashboard", description: - "Leverages social proof elements to establish trust and credibility.", + "With a new Dashboard to show problems, giving users a new aesthetic look.", }, { - title: "Capture Leads", + title: "Join a Vibrant community", description: - "Make your lead capture form visually appealing and strategically.", + "Join a leading discord community with like-minded people who push and help each other to grow.", }, ]; diff --git a/package-lock.json b/package-lock.json index d26865c..d9714c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,7 +48,7 @@ "leetcode-calendar": "^1.0.1", "lucide-react": "^0.469.0", "motion": "^11.18.2", - "next": "15.1.2", + "next": "^15.2.4", "next-themes": "^0.2.1", "react": "^18.3.1", "react-activity-calendar": "^2.7.10", @@ -172,9 +172,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", - "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" @@ -1708,9 +1708,9 @@ "license": "MIT" }, "node_modules/@next/env": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.2.tgz", - "integrity": "sha512-Hm3jIGsoUl6RLB1vzY+dZeqb+/kWPZ+h34yiWxW0dV87l8Im/eMOwpOA+a0L78U0HM04syEjXuRlCozqpwuojQ==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.4.tgz", + "integrity": "sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==", "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { @@ -1724,9 +1724,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.2.tgz", - "integrity": "sha512-b9TN7q+j5/7+rGLhFAVZiKJGIASuo8tWvInGfAd8wsULjB1uNGRCj1z1WZwwPWzVQbIKWFYqc+9L7W09qwt52w==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.4.tgz", + "integrity": "sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==", "cpu": [ "arm64" ], @@ -1740,9 +1740,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.2.tgz", - "integrity": "sha512-caR62jNDUCU+qobStO6YJ05p9E+LR0EoXh1EEmyU69cYydsAy7drMcOlUlRtQihM6K6QfvNwJuLhsHcCzNpqtA==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.4.tgz", + "integrity": "sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==", "cpu": [ "x64" ], @@ -1756,9 +1756,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.2.tgz", - "integrity": "sha512-fHHXBusURjBmN6VBUtu6/5s7cCeEkuGAb/ZZiGHBLVBXMBy4D5QpM8P33Or8JD1nlOjm/ZT9sEE5HouQ0F+hUA==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.4.tgz", + "integrity": "sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==", "cpu": [ "arm64" ], @@ -1772,9 +1772,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.2.tgz", - "integrity": "sha512-9CF1Pnivij7+M3G74lxr+e9h6o2YNIe7QtExWq1KUK4hsOLTBv6FJikEwCaC3NeYTflzrm69E5UfwEAbV2U9/g==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.4.tgz", + "integrity": "sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==", "cpu": [ "arm64" ], @@ -1788,9 +1788,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.2.tgz", - "integrity": "sha512-tINV7WmcTUf4oM/eN3Yuu/f8jQ5C6AkueZPKeALs/qfdfX57eNv4Ij7rt0SA6iZ8+fMobVfcFVv664Op0caCCg==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.4.tgz", + "integrity": "sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==", "cpu": [ "x64" ], @@ -1804,9 +1804,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.2.tgz", - "integrity": "sha512-jf2IseC4WRsGkzeUw/cK3wci9pxR53GlLAt30+y+B+2qAQxMw6WAC3QrANIKxkcoPU3JFh/10uFfmoMDF9JXKg==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.4.tgz", + "integrity": "sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==", "cpu": [ "x64" ], @@ -1820,9 +1820,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.2.tgz", - "integrity": "sha512-wvg7MlfnaociP7k8lxLX4s2iBJm4BrNiNFhVUY+Yur5yhAJHfkS8qPPeDEUH8rQiY0PX3u/P7Q/wcg6Mv6GSAA==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.4.tgz", + "integrity": "sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==", "cpu": [ "arm64" ], @@ -1836,9 +1836,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.2.tgz", - "integrity": "sha512-D3cNA8NoT3aWISWmo7HF5Eyko/0OdOO+VagkoJuiTk7pyX3P/b+n8XA/MYvyR+xSVcbKn68B1rY9fgqjNISqzQ==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.4.tgz", + "integrity": "sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==", "cpu": [ "x64" ], @@ -4133,9 +4133,9 @@ } }, "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -8610,12 +8610,12 @@ } }, "node_modules/next": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/next/-/next-15.1.2.tgz", - "integrity": "sha512-nLJDV7peNy+0oHlmY2JZjzMfJ8Aj0/dd3jCwSZS8ZiO5nkQfcZRqDrRN3U5rJtqVTQneIOGZzb6LCNrk7trMCQ==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-15.2.4.tgz", + "integrity": "sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==", "license": "MIT", "dependencies": { - "@next/env": "15.1.2", + "@next/env": "15.2.4", "@swc/counter": "0.1.3", "@swc/helpers": "0.5.15", "busboy": "1.6.0", @@ -8630,14 +8630,14 @@ "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "15.1.2", - "@next/swc-darwin-x64": "15.1.2", - "@next/swc-linux-arm64-gnu": "15.1.2", - "@next/swc-linux-arm64-musl": "15.1.2", - "@next/swc-linux-x64-gnu": "15.1.2", - "@next/swc-linux-x64-musl": "15.1.2", - "@next/swc-win32-arm64-msvc": "15.1.2", - "@next/swc-win32-x64-msvc": "15.1.2", + "@next/swc-darwin-arm64": "15.2.4", + "@next/swc-darwin-x64": "15.2.4", + "@next/swc-linux-arm64-gnu": "15.2.4", + "@next/swc-linux-arm64-musl": "15.2.4", + "@next/swc-linux-x64-gnu": "15.2.4", + "@next/swc-linux-x64-musl": "15.2.4", + "@next/swc-win32-arm64-msvc": "15.2.4", + "@next/swc-win32-x64-msvc": "15.2.4", "sharp": "^0.33.5" }, "peerDependencies": { diff --git a/package.json b/package.json index c6b3c19..3c2e4a3 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "leetcode-calendar": "^1.0.1", "lucide-react": "^0.469.0", "motion": "^11.18.2", - "next": "15.1.2", + "next": "^15.2.4", "next-themes": "^0.2.1", "react": "^18.3.1", "react-activity-calendar": "^2.7.10", diff --git a/public/hero-banner.png b/public/hero-banner.png new file mode 100644 index 0000000..e7f2ca4 Binary files /dev/null and b/public/hero-banner.png differ