web/src/components/AboutFooter.astro

81 lines
3.1 KiB
Text
Raw Normal View History

2023-12-20 23:14:44 +01:00
---
import * as config from '../config.yaml';
2024-01-25 21:51:47 +01:00
import core from '../core.json';
2023-12-20 23:14:44 +01:00
import contributors from '../contributors.json';
2024-03-04 02:38:21 +01:00
import { getPersonByGH } from '../lib/core.js';
import PeopleCarousel from '../components/PeopleCarousel.astro';
2023-12-20 23:14:44 +01:00
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
}
function personLink(person) {
return person.refs?.twitter ? `https://twitter.com/${person.refs.twitter}` : (person.refs?.bsky ? `https://bsky.app/profile/${person.refs.bsky}` : '#')
}
2023-12-20 23:14:44 +01:00
---
<div class="mt-20">
<h1><a href="https://docs.web3privacy.info/follow-us">Follow us</a></h1>
<div class="w3pn-wgrid">
{config.landing.follow.map((item) => (
2024-01-25 21:51:47 +01:00
<a href={item.url || core.links[item.link]} target="_blank">
2023-12-20 23:14:44 +01:00
<span><span class="icon" class:list={[item.ico || ""]}></span></span>
<span class="title">{item.name}</span>
<span>{item.text}</span>
</a>
))}
</div>
</div>
<div class="mt-10">
<h1><a href="https://docs.web3privacy.info/communication">Coordination</a></h1>
<div class="w3pn-wgrid">
{config.landing.coord.map((item) => (
2024-01-25 21:51:47 +01:00
<a href={item.url || core.links[item.link]} target="_blank">
2023-12-20 23:14:44 +01:00
<span><span class="icon" class:list={[item.ico || ""]}></span></span>
<span class="title">{item.name}</span>
<span>{item.text}</span>
</a>
))}
</div>
</div>
<div class="mt-16">
<h1><a href="https://docs.web3privacy.info/get-involved">Join the Community</a></h1>
<div>{config.landing.community}</div>
<h2 class="my-6">Speakers</h2>
2024-03-04 02:38:21 +01:00
<div class="flex gap-3 flex-wrap items-center">
{core.people.filter(p => !core.teams['core-team'].includes(p.id)).filter(p => p.imageUrl).map((person) => (
<div>
<a href={personLink(person)}>
<img src={person.imageUrl} title={person.name} class="w-14 rounded-full aspect-square" />
</a>
</div>
))}
</div>
2024-03-04 02:38:21 +01:00
<div class="flex gap-3 lg:gap-6 pt-4 flex-wrap mt-4 mb-14">
2024-02-24 03:07:17 +01:00
<a href={core.links.cfp} class="button inverted"><button>Submit your proposal (CfP)</button></a>
</div>
<h2 class="my-6">Git Contributors</h2>
2024-03-04 02:38:21 +01:00
<div class="flex gap-3 flex-wrap mb-4 items-center">
{ // filter(p => !core.teams['core-team'].includes(getPersonByGH(p.login)?.id))
contributors.items.map((contrib) => (
<div><a href={contrib.html_url} target="_blank" title={contrib.login}><img src={contrib.avatar_url} class="w-14 rounded-full aspect-square"></a></div>
2023-12-20 23:14:44 +01:00
))}
</div>
<div class="flex gap-4 lg:gap-6 pt-4 flex-wrap">
2024-01-26 03:43:17 +01:00
<a href="https://docs.web3privacy.info/get-involved" class="button inverted"><button>Get involved</button></a>
<a href="/leaderboard" class="button inverted"><button>Leaderboard</button></a>
<a href="https://docs.web3privacy.info/donate/" class="button inverted"><button>Donate</button></a>
2023-12-20 23:14:44 +01:00
</div>
</div>