From 57138409c10904e3acf82406aecb638c9a0af385 Mon Sep 17 00:00:00 2001 From: NoobDeveloper412 Date: Thu, 12 Sep 2024 09:21:15 +0500 Subject: [PATCH] Updated the about pages items, footer, grid items, updated the about footer, added images and svgs, updated the config form membership to get involved. Add styles changes, use mono font for the unscramble text effect. --- public/icons/signal.svg | 13 + public/review.png | Bin 0 -> 15136 bytes public/scripts/text-scramble.js | 99 ++++++++ src/components/AboutFooter.astro | 237 ++++++++++-------- src/components/AboutItemGrid.astro | 329 +++++++++---------------- src/components/SliderTestimonial.astro | 176 +++++++++++++ src/components/SpeakerGrid.astro | 49 ++++ src/config.yaml | 2 +- src/layouts/base.astro | 104 +++++--- src/pages/about.astro | 2 +- src/styles/base.css | 19 +- 11 files changed, 678 insertions(+), 352 deletions(-) create mode 100644 public/icons/signal.svg create mode 100644 public/review.png create mode 100644 public/scripts/text-scramble.js create mode 100644 src/components/SliderTestimonial.astro create mode 100644 src/components/SpeakerGrid.astro diff --git a/public/icons/signal.svg b/public/icons/signal.svg new file mode 100644 index 0000000..cc07d87 --- /dev/null +++ b/public/icons/signal.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/public/review.png b/public/review.png new file mode 100644 index 0000000000000000000000000000000000000000..41954b98bccb85a8d8a50a1d9b573ffaf5191326 GIT binary patch literal 15136 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 z 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 O0000 { + entries.forEach(entry => { + if (entry.isIntersecting) { + const element = entry.target; + const text = element.innerText; + animateScramble(element, text); + observer.unobserve(element); // Stop observing after the animation has been triggered + } + }); + }, { + threshold: 0.1 // Trigger when 10% of the element is visible + }); + + // Observe each glitchTextElement for when it comes into view + glitchTextElements.forEach((element) => { + observer.observe(element); + }); + + glitchTextHoverElements.forEach((element) => { + const text = element.innerText; + + element.isAnimating = false; + + element.addEventListener('mouseenter', () => { + if (!element.isAnimating) { + element.isAnimating = true; // Set flag to prevent re-triggering during animation + animateScramble(element, text, 800); + } + }); + }); + } + + document.addEventListener('DOMContentLoaded', applyScrambleEffect); + \ No newline at end of file diff --git a/src/components/AboutFooter.astro b/src/components/AboutFooter.astro index 199f1f9..6e85303 100644 --- a/src/components/AboutFooter.astro +++ b/src/components/AboutFooter.astro @@ -2,114 +2,147 @@ import * as config from "../config.yaml"; import core from "../core.json"; import contributors from "../contributors.json"; -import { getPersonByGH } from "../lib/core.js"; -import PeopleCarousel from "../components/PeopleCarousel.astro"; +import SpeakerGrid from "./SpeakerGrid.astro"; +import SliderTestimonial from "./SliderTestimonial.astro"; +import MembersGrid from "./MembersGrid.astro"; -function findPerson(src) { - const p = core.people.find((p) => - src.refs?.twitter - ? p.refs?.twitter === src.refs.twitter - : src.refs?.bsky - ? p.refs.bsky === src.refs.bsky - : {} - ); - if (p) { - p.ct = src; - } - return p; -} +// Accept sectionsConfig as a prop +const { + sectionsConfig = [ + { name: "community", visible: true, order: 1 }, + { name: "socialLinks", visible: true, order: 2 }, + { name: "speakers", visible: true, order: 3 }, + { name: "core contributors", visible: true, order: 4 }, + { name: "contributors", visible: true, order: 5 }, + { name: "testimonials", visible: true, order: 6 }, + { name: "membersGrid", visible: true, order: 7 }, + { name: "communityPartners", visible: true, order: 8 }, + ], +} = Astro.props; -function personLink(person) { - return person.refs?.twitter - ? `https://twitter.com/${person.refs.twitter}` - : person.refs?.bsky - ? `https://bsky.app/profile/${person.refs.bsky}` - : "#"; -} +console.log(sectionsConfig); +// Function to sort sections by order +const sortedSections = sectionsConfig + .filter((section) => section.visible) + .sort((a, b) => a.order - b.order); --- - -
-

- Join the Community -

-
{config.landing.community}
+ +
{config.landing.community}
+
+ )} -

Speakers

-
- { - core.people - .filter((p) => !core.teams["core-team"].includes(p.id)) - .filter((p) => p.imageUrl) - .map((person) => ( -
- - - -
- )) - } -
- - - -

Git Contributors

-
- { - // filter(p => !core.teams['core-team'].includes(getPersonByGH(p.login)?.id)) - contributors.items.map((contrib) => ( - + )} - -
+ {section.name === "speakers" && ( +
+

Speakers

+ +
+ )} + + {section.name === "core contributors" && ( +
+

Core Contributors

+ +
+ )} + + {section.name === "contributors" && ( +
+

Contributors

+
+ {contributors.items.map((contrib) => ( +
+ + + +
+ ))} +
+ +
+ )} + + {section.name === "testimonials" && ( +
+

+ What People Have To Say About US +

+ +
+ )} + + {section.name === "membersGrid" && ( +
+

Members

+ +
+ )} + + )) +} diff --git a/src/components/AboutItemGrid.astro b/src/components/AboutItemGrid.astro index 14cb84c..6cb53b6 100644 --- a/src/components/AboutItemGrid.astro +++ b/src/components/AboutItemGrid.astro @@ -2,236 +2,137 @@ import AboutItem from "../components/AboutItem.astro"; --- -
- -
-
- General public - Projects - Startupers -
-
- Developers - Audit companies - Investors -
+ +
+
+

+ We cultivate and foster a culture of privacy in web3 making data free + and public. +

+

+ Check our annual reports, infographics, privacy awards, newsletter, and + guidelines. +

+
- - -
-
- -
- - Market stats - - - - Like Crunchbase, but free forever - -
-
+
+
+ +

+ By developing free and open tools,
we empower people to make informed + decisions: +

-
- -
- - Privacy Ranking - - - - Scoring and review of current privacy projects - +
+
+
+
+
-
-
- -
- - Academy - - - Education for general public how to reach privacy - -
-
-
- -
- - Research - - - - Anual reports, Frameworks, Tools, Books - -
-
-
- -
- - Data - - - +
+ PRIVACY EXPLORER +
+ For Projects, Use-case list, Market & Funding info
- - -
-
- -
- - Advocacy - - - - Branding “decentralization = privacy” - -
-
-
- -
- - Events - - - - Meetups, Summits, Hackathons, Camps - +
+
+
+
-
-
- -
- - Ecosystems collaboration - - - Networks, Alliances, Media -
-
-
- -
- - Standartisation - - - - Privacy-features, security audit (example) - -
-
-
- -
- - Incubation - - - Product managers facilitation, Business sustainability +
+
+ + HACKATHON IDEA GENERATOR + +
+ Helps developers build applications that address real-world + problems, that people will actually use.
- - -
-
-
- - GENERAL PUBLIC - -
    -
  • Milions of educated users
  • -
  • Higher privacy culture
  • -
+
+
+
+
-
- - PROJECTS +
+
+ WEEK IN PRIVACY +
+ Weekly newsletter with round-up of the most important news + happening around privacy in Web3 -
    -
  • Better privacy features
  • -
  • New use-cases
  • -
  • Efficient demos
  • -
-
-
- - SECURITY AUDIT COMPANIES - -
    -
  • New “privacy audit” category
  • -
  • Significant growth of audited projects.
  • -
-
-
-
-
- - DEVELOPERS - -
    -
  • More devs building privacy
  • -
  • More sustainable projects.
  • -
-
-
- - STARTUPERS - -
    -
  • More privacy-oriented projects
  • -
  • Longer runway
  • -
- -
+
+ + + + + +
+
+

+ We make privacy accessible for everyone, empowering people to learn and + implement best practices effectively. +

+

+ From mentoring at hackathons, guidelines for developers, and the + Cypherpunk Academy - we offer training, incubation, and acceleration + programs. +

+ +
+
+
diff --git a/src/components/SliderTestimonial.astro b/src/components/SliderTestimonial.astro new file mode 100644 index 0000000..6828b84 --- /dev/null +++ b/src/components/SliderTestimonial.astro @@ -0,0 +1,176 @@ +--- +const testimonials = [ + { + author: "Matteo", + text: `balance between Transparency and Privacy, accountable and unaccountable, manifest and secret, convex and concave, 1 and 0 is one of the most fun puzzles.`, + imageUrl: "/review.png", + }, + { + author: "Jane", + text: `This platform has opened my eyes to the potential of blockchain technology in a way that I never imagined. The community is vibrant and full of innovation.`, + imageUrl: "/review.png", + }, + { + author: "Alex", + text: `It's amazing to see how much transparency can coexist with privacy, and this is the best representation of how it can work. Great work!`, + imageUrl: "/review.png", + }, +]; + +let currentTestimonial = 0; +--- + +
+
+
+
+ Review Image +
+
+
+

+ {testimonials[currentTestimonial].author}: +

+

+ "{testimonials[currentTestimonial].text}" +

+
+
+
+ + +
+ +
+
+ +
+ +
+ { + testimonials.map((_, index) => ( +
+
+
+ + diff --git a/src/components/SpeakerGrid.astro b/src/components/SpeakerGrid.astro new file mode 100644 index 0000000..d8d008e --- /dev/null +++ b/src/components/SpeakerGrid.astro @@ -0,0 +1,49 @@ +--- +const { people, team } = Astro.props; + +// Filter the people and limit the results to 12 +const filteredPeople = people + .filter((p) => !team.includes(p.id)) + .filter((p) => p.imageUrl) + .slice(0, 12); // Limit to the first 12 people + +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; +} +--- + +
+ {filteredPeople.map((person) => ( +
+ + {person.name} + +
+

{person.name}

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

@{person.refs.twitter}

+ )} +

{truncateCaption(person.caption)}

+
+
+ ))} +
diff --git a/src/config.yaml b/src/config.yaml index b4c2795..08749e0 100644 --- a/src/config.yaml +++ b/src/config.yaml @@ -22,7 +22,7 @@ header: link: news - name: Docs link: docs - - name: Membership + - name: Get Involved link: membership url: /membership #- name: Manifesto diff --git a/src/layouts/base.astro b/src/layouts/base.astro index 18c93b3..e1989e5 100644 --- a/src/layouts/base.astro +++ b/src/layouts/base.astro @@ -155,7 +155,9 @@ function genHeading(str) {
{config.hero.text}
@@ -167,7 +169,6 @@ function genHeading(str) { <>
- {/**/}
                   
                     {genHeading(title)}
@@ -176,7 +177,7 @@ function genHeading(str) {
               
-

{subtext}

+

{subtext}

) @@ -188,40 +189,79 @@ function genHeading(str) {
-
-
- - -
-
- { - config.footer.menu.map((item) => ( - + + +