From 3a1666ee8e5714fff71af46177da50568750bbda Mon Sep 17 00:00:00 2001 From: NoobDeveloper412 Date: Thu, 12 Sep 2024 09:09:28 +0500 Subject: [PATCH] Added the membership components along with the about page contents. --- src/components/MembersGrid.astro | 129 +++++++++++++++ .../MembershipOtherOptionsWidget.astro | 123 ++++++++++++++ src/components/MembershipWidget.astro | 152 ++++++++++++++++++ src/pages/about.astro | 132 +++++++++++---- src/pages/membership/index.astro | 132 ++++++++++++++- 5 files changed, 632 insertions(+), 36 deletions(-) create mode 100644 src/components/MembersGrid.astro create mode 100644 src/components/MembershipOtherOptionsWidget.astro create mode 100644 src/components/MembershipWidget.astro diff --git a/src/components/MembersGrid.astro b/src/components/MembersGrid.astro new file mode 100644 index 0000000..5a00a57 --- /dev/null +++ b/src/components/MembersGrid.astro @@ -0,0 +1,129 @@ +--- +const { people, team } = Astro.props; +// Dummy data for now: +let filteredPeople = [ + { + id: "guy-zyskind", + name: "Guy Zyskind", + caption: + "Founder of [Secret Network](https://scrt.network/), CEO [SCRT Labs](https://www.scrtlabs.com/)", + country: "is", + refs: { + twitter: "GuyZys", + }, + imageUrl: "https://data.web3privacy.info/img/people/guy-zyskind.jpg", + thumbs: { + "64": "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-64px.webp", + "128": + "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-128px.webp", + "400": + "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-400px.webp", + }, + }, + { + id: "guy-zyskind", + name: "Guy Zyskind", + caption: + "Founder of [Secret Network](https://scrt.network/), CEO [SCRT Labs](https://www.scrtlabs.com/)", + country: "is", + refs: { + twitter: "GuyZys", + }, + imageUrl: "https://data.web3privacy.info/img/people/guy-zyskind.jpg", + thumbs: { + "64": "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-64px.webp", + "128": + "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-128px.webp", + "400": + "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-400px.webp", + }, + }, + { + id: "guy-zyskind", + name: "Guy Zyskind", + caption: + "Founder of [Secret Network](https://scrt.network/), CEO [SCRT Labs](https://www.scrtlabs.com/)", + country: "is", + refs: { + twitter: "GuyZys", + }, + imageUrl: "https://data.web3privacy.info/img/people/guy-zyskind.jpg", + thumbs: { + "64": "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-64px.webp", + "128": + "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-128px.webp", + "400": + "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-400px.webp", + }, + }, + { + id: "guy-zyskind", + name: "Guy Zyskind", + caption: + "Founder of [Secret Network](https://scrt.network/), CEO [SCRT Labs](https://www.scrtlabs.com/)", + country: "is", + refs: { + twitter: "GuyZys", + }, + imageUrl: "https://data.web3privacy.info/img/people/guy-zyskind.jpg", + thumbs: { + "64": "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-64px.webp", + "128": + "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-128px.webp", + "400": + "https://data.web3privacy.info/img/people/thumbs/guy-zyskind-400px.webp", + }, + }, +]; + +// NOTE: Uncomment this if you want to filter people dynamically based upon a specific parameter + +// const filteredPeople = people +// .filter((p) => !team.includes(p.id)) +// .filter((p) => p.imageUrl); + +// Limit the number of members to 12 (2 rows with a max of 6 columns each) +const limitedPeople = filteredPeople.slice(0, 12); + +function personLink(person) { + return person.refs?.twitter + ? `https://twitter.com/${person.refs.twitter}` + : person.refs?.bsky + ? `https://bsky.app/profile/${person.refs.bsky}` + : "#"; +} + +function truncateCaption(caption) { + if (!caption) return ""; + const words = caption.split(" "); + if (words.length > 10) { + return words.slice(0, 20).join(" ") + "..."; + } + return caption; +} +--- + +
+ { + limitedPeople.map((person) => ( +
+ + {person.name} + +
+

{person.name}

+ {person.refs && person.refs.twitter && ( +

@{person.refs.twitter}

+ )} + {/*

{truncateCaption(person.caption)}

*/} +
+
+ )) + } +
diff --git a/src/components/MembershipOtherOptionsWidget.astro b/src/components/MembershipOtherOptionsWidget.astro new file mode 100644 index 0000000..a39ca9e --- /dev/null +++ b/src/components/MembershipOtherOptionsWidget.astro @@ -0,0 +1,123 @@ +
+
+
+

SPONSORSHIP

+
+
+
+
+
+

+ Members are our chosen collaborators for mutual support and + growth. Rather than one-time deals for individual events or + projects, we strive for consistent collaboration to achieve + lasting impact. +

+ + Become an integral part of our community! Join us with building + privacy platform we all need. + +
+
+ 2024 +
    +
  • + Privacy
  • +
  • Scaling
  • +
  • Exploration
  • +
  • Ethereum
  • +
  • Foundation
  • +
  • Railgun
  • +
  • Payy
  • + + +
+
+ + +
+
+
+
+
+
+
+

DONATE

+
+
+
+
+
+

+ Members are our chosen collaborators for mutual support and + growth. Rather than one-time deals for individual events or + projects, we strive for consistent collaboration to achieve + lasting impact. +

+

+ Support our independence, help us to advocate for freedom +

+
+ +
+
+
+
+
+
+

+ SPEAK at our events +

+
+
+
+
+
+

+ At Web3Privacy Now, we are dedicated to fostering growth, + innovation, and collaboration. We offer a supportive environment + where like-minded individuals come together to share knowledge, + spark creativity, and drive positive change. +

+
+
+ +
+
+
+
+
diff --git a/src/components/MembershipWidget.astro b/src/components/MembershipWidget.astro new file mode 100644 index 0000000..40a265d --- /dev/null +++ b/src/components/MembershipWidget.astro @@ -0,0 +1,152 @@ +--- +import core from "../core.json"; +--- + +
+
+
+

INDIVIDUAL

+
+
+
+
+
+

+ Members are our chosen collaborators for mutual support and + growth. Rather than one-time deals for individual events or + projects, we strive for consistent collaboration to achieve + lasting impact. +

+ + Become an integral part of our community! Join us with building + privacy platform we all need. + +
+
+ + Benefits + +
    +
  • You are supporting a good thing!
  • +
  • Guaranteed access to all our events
  • +
  • Swag Privacy Pack
  • +
  • Deals from our partners
  • +
  • Voting rights in our association
  • +
+
+
+
+ Price + + €100 / Year + + +

+ After making your donation, kindly send us the tx hash, your + T-shirt size, and let us know if you would like your membership + to be public or kept private. +

+
+ +
+
+
+
+
+
+
+

INDIVIDUAL

+
+
+
+
+
+

+ Members are our chosen collaborators for mutual support and + growth. Rather than one-time deals for individual events or + projects, we strive for consistent collaboration to achieve + lasting impact. +

+
+
+ + Benefits + +
    +
  • + Greater Exposure +

    + Ensure visibility at all our events [Congresses, Summits & + Hackathons] +

    +
  • +
  • + Access to Talent + +

    Grow impact through strategic, targeted communications.

    +
  • +
  • + Tought Leadership + +

    Participate in speaking engagements and mentorship roles.

    +
  • +
  • + + Deals from our partners + + +

    More details about the deals from our partners.

    +
  • +
  • + Focused Engagement +

    + Reach and interact with specific, highly-relevant audiences. +

    +
  • +
+
+
+
+
+ Our membership has multiple tiers ranging from + + 7,000 to 70,000 € / year + + +

+ After making your donation, kindly send us the tx hash, your + T-shirt size, and let us know if you would like your + membership to be public or kept private. +

+
+ +
+
+
+
+
+ +
+
diff --git a/src/pages/about.astro b/src/pages/about.astro index 260bacd..b3f0f1a 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -4,14 +4,55 @@ import * as config from "../config.yaml"; import core from "../core.json"; import AboutFooter from "../components/AboutFooter.astro"; import AboutItemGrid from "../components/AboutItemGrid.astro"; -import AboutWidget from "../components/AboutWidget.astro"; +import EventMasonry from "../components/EventMasonry.astro"; +import EventItem from "../components/EventItem.astro"; +import { isFutureDate } from "../lib/date"; + +const events = core.events; + +const upcomingEvents = []; +let eventsPast = 0; +let eventsUpcoming = 0; + +const sectionsConfig = [ + { name: "testimonials", visible: true, order: 1 }, + { name: "core contributors", visible: true, order: 2 }, + { name: "contributors", visible: true, order: 3 }, + { name: "membersGrid", visible: true, order: 4 }, + { name: "socialLinks", visible: true, order: 5 }, + // { name: "community", visible: false, order: 6 }, +]; + +for (const ev of events) { + let future = isFutureDate(ev.date); + if (future) { + upcomingEvents.push(ev); + eventsUpcoming++; + } else { + eventsPast++; + } +} + +const featuredEvents = []; +for (const e of upcomingEvents) { + if (featuredEvents.length > 2) { + break; + } + if ( + ["summit", "meetup", "online-summit"].includes(e.type) && + e.links?.rsvp && + !featuredEvents.find((ex) => ex.type === e.type) + ) { + featuredEvents.push(e); + } +} ---
+
- -
-
-

empowering community with our brand

-
- -
-
- -
+
+
+ +
+ +
+
+ {featuredEvents.map((event) => )}
- + + +
+
+
+ + diff --git a/src/pages/membership/index.astro b/src/pages/membership/index.astro index f115973..4390e0c 100644 --- a/src/pages/membership/index.astro +++ b/src/pages/membership/index.astro @@ -1,13 +1,24 @@ --- import BaseLayout from "../../layouts/base.astro"; -import * as config from "../config.yaml"; import core from "../../core.json"; import AboutFooter from "../../components/AboutFooter.astro"; -import AboutWidget from "../../components/AboutWidget.astro"; +import MembershipWidget from "../../components/MembershipWidget.astro"; +import contributors from "../../contributors.json"; +import MembershipOtherOptionsWidget from "../../components/MembershipOtherOptionsWidget.astro"; +import MembersGrid from "../../components/MembersGrid.astro"; + +const sectionsConfig = [ + // { name: "membersGrid", visible: true, order: 1 }, + // { name: "socialLinks", visible: true, order: 2 }, + // { name: "testimonials", visible: true, order: 1 }, + // { name: "speakers", visible: true, order: 2 }, + // { name: "contributors", visible: true, order: 3 }, + // { name: "community", visible: false, order: 6 }, +]; --- @@ -21,10 +32,115 @@ import AboutWidget from "../../components/AboutWidget.astro"; part of our ecosystem.
-
- -
- - + +
+
+
+

+ Github Contributors +

+
+ +
+

+ This is the kind of support we value most: open-source, grassroots + initiatives driven by individual passion and the desire to create + something meaningful. +

+
+ +
+ + { + contributors.items.map((contrib) => ( +
+ + + +
+ )) + } +
+ +
+
+

membership

+ +
+
+
+

other ways

+ + +
+ +
+

Members

+ +
+ +
+

Join the community

+

+ We thrive on uniting diverse perspectives, skills, and visions. Both + online and offline, we bring together tech and non-tech individuals, + activists, key players, hackers, lawyers, researchers, philosophers, + policymakers, local communities, and grassroots movements. +

+ +
+ +
+

Community Partners

+ +
+ +