web/src/components/AboutFooter.astro

100 lines
3.8 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';
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}` : '#')
}
function coreTeamGithubLink(person) {
return `https://github.com/${person.ct.refs.github}`
}
function filterCoreTeam(person) {
if (person.login) {
return !(core['core-team'].find(ctm => ctm.refs.github.toLowerCase() === person.login.toLowerCase()))
}
const res = core['core-team'].find(ctm => ctm.refs.twitter ? ctm.refs.twitter?.toLowerCase() === person.refs?.twitter?.toLowerCase() : ctm.refs?.bsky?.toLowerCase() === person.refs?.bsky?.toLowerCase())
return !res
}
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">Core Team</h2>
<div class="flex gap-4 flex-wrap mb-14 items-center">
{core['core-team'].map(findPerson).map((person) => (
<div>
<a href={coreTeamGithubLink(person)}>
<img src={person.imageUrl} title={person.name} class="w-14 rounded-full aspect-square" />
</a>
</div>
))}
</div-->
<h2 class="my-6">Speakers</h2>
<div class="flex gap-4 flex-wrap items-center">
{core.people.filter(filterCoreTeam).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>
<div class="flex gap-4 lg:gap-6 pt-4 flex-wrap mt-4 mb-14">
<a href="https://cfp.web3privacy.info" class="button inverted"><button>Submit your proposal (CfP)</button></a>
</div>
<h2 class="my-6">Git Contributors</h2>
<div class="flex gap-4 flex-wrap mb-4 items-center">
{contributors.items.filter(filterCoreTeam).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>