68 lines
1.6 KiB
Text
68 lines
1.6 KiB
Text
---
|
|
import ButtonSecondary from '../../ButtonSecondary.astro'
|
|
interface SocialExtra {
|
|
name: string
|
|
url: string
|
|
external?: boolean
|
|
}
|
|
interface Social {
|
|
name?: string
|
|
profile: string
|
|
url: string
|
|
extra?: SocialExtra[]
|
|
icon?: string
|
|
}
|
|
|
|
const socials: Social[] = [
|
|
{
|
|
name: 'Email',
|
|
profile: 'contact@ethanreece.com',
|
|
url: 'mailto:contact@ethanreece.com',
|
|
extra: [
|
|
{
|
|
name: 'PGP key',
|
|
url: '',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'GitHub',
|
|
profile: 'Sudoer777',
|
|
url: 'https://github.com/sudoer777',
|
|
},
|
|
{
|
|
name: 'Forgejo',
|
|
profile: 'sudoer777@git.sudoer.ch',
|
|
url: 'https://git.sudoer.ch/sudoer777',
|
|
},
|
|
{
|
|
name: 'Devpost',
|
|
profile: 'sudoer777',
|
|
url: 'https://devpost.com/sudoer777',
|
|
},
|
|
{
|
|
name: 'LinkedIn',
|
|
profile: '-ethanreece-',
|
|
url: 'https://www.linkedin.com/in/-ethanreece-/',
|
|
},
|
|
]
|
|
---
|
|
|
|
<div class="flex flex-col">
|
|
{
|
|
socials.map((s) => (
|
|
<div class="flex">
|
|
<ButtonSecondary link={s.url} external={true}>
|
|
<b class="font-extrabold">{s.name}:</b>
|
|
{s.profile}
|
|
</ButtonSecondary>
|
|
{s.extra &&
|
|
s.extra.map((e) => (
|
|
<ButtonSecondary link={e.url} external={e.external}>
|
|
[{e.name}]
|
|
</ButtonSecondary>
|
|
))}
|
|
</div>
|
|
))
|
|
}
|
|
</div>
|