From 0592d33694997162efc1c9df4be4ac476f8cbbf0 Mon Sep 17 00:00:00 2001 From: phipsae Date: Sat, 4 Jan 2025 12:50:50 +0400 Subject: [PATCH 01/10] change - what are batches --- packages/nextjs/pages/batches/index.tsx | 80 ++++++++++++++++++------- 1 file changed, 58 insertions(+), 22 deletions(-) diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index ff919c9..2133e66 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -98,7 +98,7 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps) BG Train -

From beginner to expert in dApp development

+

From beginner to expert in open source dApp development

@@ -108,23 +108,36 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
-

What are BuidlGuidl Batches?

+

+ What are BuidlGuidl Batches? +

-

+

BuidlGuidl Batches is a program designed for builders who have completed Speedrun Ethereum. It's - the next step in your journey as a web3 developer, offering additional challenges and skills to - enhance your abilities. + the next step in your journey as a web3 developer! 🚀

-

- After completing the program, you'll be equipped with both technical and social skills that will - help you collaborate more effectively in the web3 ecosystem. -

-
    -
  • Complimentary challenges to Speedrun Ethereum
  • -
  • Mentorship on contributing to open source projects on GitHub
  • -
  • Open source etiquette and best practices
  • -
  • Real-world building Experience
  • -
+ +
+
+

🌐 Open-Source in Web3

+

Take your first steps into web3 open-source development.

+
+ +
+

🔧 GitHub Contributions

+

Learn to submit PRs, manage issues, and review code effectively.

+
+ +
+

✨ Build Apps

+

Create a web3 app collaboratively with other builders.

+
+ +
+

🛠️ Solidity Skills

+

Refine and practice your Solidity skills with further challenges.

+
+
@@ -137,6 +150,29 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps) />
+ {/* Next Batch CTA */} +
+
+
+

+ Batch #{openBatchNumber} +

+

+ Complete SpeedRunEthereum and join BuidlGuidl to be part of the next batch starting + {openBatchStartDate ? ` on ${formatDate(openBatchStartDate)}` : " soon"}! +

+
+
+ + Go SpeedRunEthereum + +
+
+
@@ -172,22 +208,22 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
{/* Next Batch CTA */} -
-
-
-

+
+
+
+

Batch #{openBatchNumber}

-

+

Complete SpeedRunEthereum and join BuidlGuidl to be part of the next batch starting - {openBatchStartDate ? ` on ${formatDate(openBatchStartDate)}` : "soon"}! + {openBatchStartDate ? ` on ${formatDate(openBatchStartDate)}` : " soon"}!

Go SpeedRunEthereum From 0a5ca7217496613810bc2be964da6217cfe0a4ca Mon Sep 17 00:00:00 2001 From: phipsae Date: Sat, 4 Jan 2025 13:39:57 +0400 Subject: [PATCH 02/10] add what you will learn section --- packages/nextjs/pages/batches/index.tsx | 55 ++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index 2133e66..74e5008 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -150,7 +150,8 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps) />
- {/* Next Batch CTA */} + + {/* Next Batch CTA - call to action */}
@@ -176,6 +177,58 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
+
+ + {/* What you'll learn */} +
+
+
+
+ How Batches Work Illustration +
+
+

What you'll learn?

+
+
+
+

🚀 GitHub Mastery

+
    +
  • Submit your first PR the right way
  • +
  • Create and manage issues effectively
  • +
  • Review code from fellow participants
  • +
  • Open-source etiquette and best practices
  • +
+
+ +
+

⚡ Technical Growth

+
    +
  • Complementary challenges to Speedrun Ethereum
  • +
  • Real-world building experience
  • +
  • Mentorship on contributing to open-source projects
  • +
  • Technical and social skills for web3 collaboration
  • +
+
+
+ +
+

+ 👩‍💻 It's like MIT's "The Missing Semester of Your CS Education", but tailored for + on-chain developers. +

+
+
+
+
+
+
+ {/* How Batches Work */}
From 6dfa026a19b1a53b3dadc60e4f4c13d99d1e2961 Mon Sep 17 00:00:00 2001 From: phipsae Date: Sat, 4 Jan 2025 14:08:13 +0400 Subject: [PATCH 03/10] change how do batches work section --- packages/nextjs/pages/batches/index.tsx | 52 ++++++++++++++++++------- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index 74e5008..ee03b3e 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -118,22 +118,22 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)

-
+

🌐 Open-Source in Web3

Take your first steps into web3 open-source development.

-
+

🔧 GitHub Contributions

Learn to submit PRs, manage issues, and review code effectively.

-
+

✨ Build Apps

Create a web3 app collaboratively with other builders.

-
+

🛠️ Solidity Skills

Refine and practice your Solidity skills with further challenges.

@@ -196,7 +196,7 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)

What you'll learn?

-
+

🚀 GitHub Mastery

  • Submit your first PR the right way
  • @@ -206,7 +206,7 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
-
+

⚡ Technical Growth

  • Complementary challenges to Speedrun Ethereum
  • @@ -233,17 +233,41 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
    -
    +

    How do Batches work?

    -
    -
      -
    • Each batch has its own GitHub repository
    • -
    • Collaborate with peers and mentors in a dedicated Telegram group
    • -
    • Complete challenges and contribute to open source projects
    • -
    • Build a final project and apply for a grant!
    • -
    +
    +
    +
    +

    + 📚 GitHub Repository +

    +

    Each batch has its own dedicated repository for collaboration

    +
    + +
    +

    + 💬 Community Support +

    +

    Connect with peers and mentors in a dedicated Telegram group

    +
    + +
    +

    + 🎯 Learning Journey +

    +

    Complete challenges and contribute to open source projects

    +
    + +
    +

    + 🚀 Final Project +

    +

    Build your project and get a chance to receive a grant!

    +
    +
    +
    Date: Mon, 6 Jan 2025 11:46:11 +0400 Subject: [PATCH 04/10] add batchCta component to reduce code repetition --- .../pages/batches/components/BatchCta.tsx | 34 +++++++++++ packages/nextjs/pages/batches/index.tsx | 58 ++----------------- .../nextjs/pages/batches/utils/formatDate.ts | 7 +++ 3 files changed, 46 insertions(+), 53 deletions(-) create mode 100644 packages/nextjs/pages/batches/components/BatchCta.tsx create mode 100644 packages/nextjs/pages/batches/utils/formatDate.ts diff --git a/packages/nextjs/pages/batches/components/BatchCta.tsx b/packages/nextjs/pages/batches/components/BatchCta.tsx new file mode 100644 index 0000000..cb0bc24 --- /dev/null +++ b/packages/nextjs/pages/batches/components/BatchCta.tsx @@ -0,0 +1,34 @@ +import { formatDate } from "../utils/formatDate"; +import TrackedLink from "~~/components/TrackedLink"; + +interface BatchCtaProps { + openBatchNumber: number | null; + openBatchStartDate: number | null; +} + +export const BatchCta = ({ openBatchNumber, openBatchStartDate }: BatchCtaProps) => { + return ( +
    +
    +
    +

    + Batch #{openBatchNumber} +

    +

    + Complete SpeedRunEthereum and join BuidlGuidl to be part of the next batch starting + {openBatchStartDate ? ` on ${formatDate(openBatchStartDate)}` : " soon"}! +

    +
    +
    + + Go SpeedRunEthereum + +
    +
    +
    + ); +}; diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index ee03b3e..90d5de1 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -1,6 +1,8 @@ import { useState } from "react"; import Image from "next/image"; import Link from "next/link"; +import { BatchCta } from "./components/BatchCta"; +import { formatDate } from "./utils/formatDate"; import type { GetStaticProps } from "next"; import { Footer } from "~~/components/Footer"; import { MetaHeader } from "~~/components/MetaHeader"; @@ -31,14 +33,6 @@ interface PageProps { openBatchStartDate: number | null; } -const formatDate = (timestamp: number): string => { - return new Date(timestamp).toLocaleDateString("en-US", { - year: "numeric", - month: "short", - day: "numeric", - }); -}; - // Custom header for the batches page since the "Go to app" button is different const BatchesHeader = () => { return ( @@ -151,29 +145,8 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
    - {/* Next Batch CTA - call to action */} -
    -
    -
    -

    - Batch #{openBatchNumber} -

    -

    - Complete SpeedRunEthereum and join BuidlGuidl to be part of the next batch starting - {openBatchStartDate ? ` on ${formatDate(openBatchStartDate)}` : " soon"}! -

    -
    -
    - - Go SpeedRunEthereum - -
    -
    -
    + {/* Next Batch CTA */} +
    @@ -285,28 +258,7 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
    {/* Next Batch CTA */} -
    -
    -
    -

    - Batch #{openBatchNumber} -

    -

    - Complete SpeedRunEthereum and join BuidlGuidl to be part of the next batch starting - {openBatchStartDate ? ` on ${formatDate(openBatchStartDate)}` : " soon"}! -

    -
    -
    - - Go SpeedRunEthereum - -
    -
    -
    +
    {"Winners"} diff --git a/packages/nextjs/pages/batches/utils/formatDate.ts b/packages/nextjs/pages/batches/utils/formatDate.ts new file mode 100644 index 0000000..5c798e6 --- /dev/null +++ b/packages/nextjs/pages/batches/utils/formatDate.ts @@ -0,0 +1,7 @@ +export const formatDate = (timestamp: number): string => { + return new Date(timestamp).toLocaleDateString("en-US", { + year: "numeric", + month: "short", + day: "numeric", + }); +}; From a863b21bd33e38d627e0d0b4f9971fc0c0d5d562 Mon Sep 17 00:00:00 2001 From: phipsae Date: Mon, 6 Jan 2025 12:15:39 +0400 Subject: [PATCH 05/10] fix of what are BG batches section, more spacing and took out nowrap so that there are no issues for mobile --- packages/nextjs/pages/batches/index.tsx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index 90d5de1..7fd1596 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -102,33 +102,31 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
    -

    - What are BuidlGuidl Batches? -

    +

    What are BuidlGuidl Batches?

    -

    +

    BuidlGuidl Batches is a program designed for builders who have completed Speedrun Ethereum. It's the next step in your journey as a web3 developer! 🚀

    -
    +
    -

    🌐 Open-Source in Web3

    +

    🌐 Open-Source in Web3

    Take your first steps into web3 open-source development.

    -

    🔧 GitHub Contributions

    +

    🔧 GitHub Contributions

    Learn to submit PRs, manage issues, and review code effectively.

    -

    ✨ Build Apps

    +

    ✨ Build Apps

    Create a web3 app collaboratively with other builders.

    -

    🛠️ Solidity Skills

    +

    🛠️ Solidity Skills

    Refine and practice your Solidity skills with further challenges.

    From c8ebcd66a741fb852e18504645d8bb37e6e48746 Mon Sep 17 00:00:00 2001 From: phipsae Date: Mon, 6 Jan 2025 12:21:04 +0400 Subject: [PATCH 06/10] align bullet point text so that letters are always on some level --- packages/nextjs/pages/batches/index.tsx | 67 +++++++++++++++---------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index 7fd1596..3f77a76 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -165,34 +165,49 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)

    What you'll learn?

    -
    -
    -
    -

    🚀 GitHub Mastery

    -
      -
    • Submit your first PR the right way
    • -
    • Create and manage issues effectively
    • -
    • Review code from fellow participants
    • -
    • Open-source etiquette and best practices
    • -
    -
    - -
    -

    ⚡ Technical Growth

    -
      -
    • Complementary challenges to Speedrun Ethereum
    • -
    • Real-world building experience
    • -
    • Mentorship on contributing to open-source projects
    • -
    • Technical and social skills for web3 collaboration
    • -
    -
    +
    +
    +

    🚀 GitHub Mastery

    +
      +
    • + + Submit your first PR the right way +
    • +
    • + + Create and manage issues effectively +
    • +
    • + + Review code from fellow participants +
    • +
    • + + Open-source etiquette and best practices +
    • +
    -
    -

    - 👩‍💻 It's like MIT's "The Missing Semester of Your CS Education", but tailored for - on-chain developers. -

    +
    +

    ⚡ Technical Growth

    +
      +
    • + + Complementary challenges to Speedrun Ethereum +
    • +
    • + + Real-world building experience +
    • +
    • + + Mentorship on contributing to open-source projects +
    • +
    • + + Technical and social skills for web3 collaboration +
    • +
    From f7ab6954a6bc44a8ea7c47b0f769e91e763823d1 Mon Sep 17 00:00:00 2001 From: phipsae Date: Mon, 6 Jan 2025 12:35:57 +0400 Subject: [PATCH 07/10] add card component and some spacing for how do batches work section --- .../nextjs/pages/batches/components/Card.tsx | 16 ++++ packages/nextjs/pages/batches/index.tsx | 92 +++++++++---------- 2 files changed, 60 insertions(+), 48 deletions(-) create mode 100644 packages/nextjs/pages/batches/components/Card.tsx diff --git a/packages/nextjs/pages/batches/components/Card.tsx b/packages/nextjs/pages/batches/components/Card.tsx new file mode 100644 index 0000000..744e29b --- /dev/null +++ b/packages/nextjs/pages/batches/components/Card.tsx @@ -0,0 +1,16 @@ +interface CardProps { + icon: string; + title: string; + description: string; +} + +export const Card = ({ icon, title, description }: CardProps) => { + return ( +
    +

    + {icon} {title} +

    +

    {description}

    +
    + ); +}; diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index 3f77a76..ea631e7 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -2,6 +2,7 @@ import { useState } from "react"; import Image from "next/image"; import Link from "next/link"; import { BatchCta } from "./components/BatchCta"; +import { Card } from "./components/Card"; import { formatDate } from "./utils/formatDate"; import type { GetStaticProps } from "next"; import { Footer } from "~~/components/Footer"; @@ -108,27 +109,27 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps) BuidlGuidl Batches is a program designed for builders who have completed Speedrun Ethereum. It's the next step in your journey as a web3 developer! 🚀

    -
    -
    -

    🌐 Open-Source in Web3

    -

    Take your first steps into web3 open-source development.

    -
    - -
    -

    🔧 GitHub Contributions

    -

    Learn to submit PRs, manage issues, and review code effectively.

    -
    - -
    -

    ✨ Build Apps

    -

    Create a web3 app collaboratively with other builders.

    -
    - -
    -

    🛠️ Solidity Skills

    -

    Refine and practice your Solidity skills with further challenges.

    -
    + + + +
    @@ -215,6 +216,8 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
    + {/*
    */} + {/* How Batches Work */}
    @@ -222,34 +225,27 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)

    How do Batches work?

    -
    -
    -

    - 📚 GitHub Repository -

    -

    Each batch has its own dedicated repository for collaboration

    -
    - -
    -

    - 💬 Community Support -

    -

    Connect with peers and mentors in a dedicated Telegram group

    -
    - -
    -

    - 🎯 Learning Journey -

    -

    Complete challenges and contribute to open source projects

    -
    - -
    -

    - 🚀 Final Project -

    -

    Build your project and get a chance to receive a grant!

    -
    +
    + + + +
    From 6491689aa14031d936f47c257824d9d749a00d04 Mon Sep 17 00:00:00 2001 From: phipsae Date: Mon, 6 Jan 2025 19:07:15 +0400 Subject: [PATCH 08/10] add line spacing to card --- packages/nextjs/pages/batches/components/Card.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nextjs/pages/batches/components/Card.tsx b/packages/nextjs/pages/batches/components/Card.tsx index 744e29b..432dea5 100644 --- a/packages/nextjs/pages/batches/components/Card.tsx +++ b/packages/nextjs/pages/batches/components/Card.tsx @@ -7,7 +7,7 @@ interface CardProps { export const Card = ({ icon, title, description }: CardProps) => { return (
    -

    +

    {icon} {title}

    {description}

    From c2325f1381d068f3538f4ca4bc150e5a79fb5729 Mon Sep 17 00:00:00 2001 From: phipsae Date: Tue, 7 Jan 2025 10:31:08 +0400 Subject: [PATCH 09/10] move batches component und util into nextjs/components folder --- .../batches/components => components/batches}/BatchCta.tsx | 2 +- .../batches/components => components/batches}/Card.tsx | 0 packages/nextjs/pages/batches/index.tsx | 6 +++--- .../{pages/batches/utils => utils/batches}/formatDate.ts | 0 4 files changed, 4 insertions(+), 4 deletions(-) rename packages/nextjs/{pages/batches/components => components/batches}/BatchCta.tsx (96%) rename packages/nextjs/{pages/batches/components => components/batches}/Card.tsx (100%) rename packages/nextjs/{pages/batches/utils => utils/batches}/formatDate.ts (100%) diff --git a/packages/nextjs/pages/batches/components/BatchCta.tsx b/packages/nextjs/components/batches/BatchCta.tsx similarity index 96% rename from packages/nextjs/pages/batches/components/BatchCta.tsx rename to packages/nextjs/components/batches/BatchCta.tsx index cb0bc24..32aa3ff 100644 --- a/packages/nextjs/pages/batches/components/BatchCta.tsx +++ b/packages/nextjs/components/batches/BatchCta.tsx @@ -1,4 +1,4 @@ -import { formatDate } from "../utils/formatDate"; +import { formatDate } from "../../utils/batches/formatDate"; import TrackedLink from "~~/components/TrackedLink"; interface BatchCtaProps { diff --git a/packages/nextjs/pages/batches/components/Card.tsx b/packages/nextjs/components/batches/Card.tsx similarity index 100% rename from packages/nextjs/pages/batches/components/Card.tsx rename to packages/nextjs/components/batches/Card.tsx diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index ea631e7..0e43ed1 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -1,9 +1,9 @@ import { useState } from "react"; import Image from "next/image"; import Link from "next/link"; -import { BatchCta } from "./components/BatchCta"; -import { Card } from "./components/Card"; -import { formatDate } from "./utils/formatDate"; +import { BatchCta } from "../../components/batches/BatchCta"; +import { Card } from "../../components/batches/Card"; +import { formatDate } from "../../utils/batches/formatDate"; import type { GetStaticProps } from "next"; import { Footer } from "~~/components/Footer"; import { MetaHeader } from "~~/components/MetaHeader"; diff --git a/packages/nextjs/pages/batches/utils/formatDate.ts b/packages/nextjs/utils/batches/formatDate.ts similarity index 100% rename from packages/nextjs/pages/batches/utils/formatDate.ts rename to packages/nextjs/utils/batches/formatDate.ts From 61c7ab8bd00d239f0bab5127213b976254f514bd Mon Sep 17 00:00:00 2001 From: phipsae Date: Tue, 7 Jan 2025 10:38:52 +0400 Subject: [PATCH 10/10] decrease spacing inbetween how do batches work section and cta --- packages/nextjs/pages/batches/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nextjs/pages/batches/index.tsx b/packages/nextjs/pages/batches/index.tsx index 0e43ed1..b4d680d 100644 --- a/packages/nextjs/pages/batches/index.tsx +++ b/packages/nextjs/pages/batches/index.tsx @@ -264,7 +264,7 @@ const Batches = ({ batchData, openBatchNumber, openBatchStartDate }: PageProps)
    {/* CTA and the batch table */} -
    +
    {/* Next Batch CTA */}