Files for my website bwc9876.dev
at main 55 lines 1.3 kB view raw
1--- 2import IconLink, { type LabelPlacement } from "@components/IconLink.astro"; 3 4type SocialData = Array<{ 5 name: string; 6 icon: string; 7 link: string; 8 overridePack?: string; 9}>; 10 11export interface Props { 12 labelPlacement: LabelPlacement; 13 makeLinksUnfocusable?: boolean; 14 [rest: string | number | symbol]: unknown; 15} 16 17const socialData: SocialData = [ 18 { name: "Resume", icon: "file-earmark-text-fill", link: "/resume.pdf" }, 19 { 20 name: "Tangled", 21 icon: "dolly", 22 overridePack: "local", 23 link: "https://tangled.org/did:plc:x7tlupbnqot7nu6udnffnv4h" 24 }, 25 { name: "Bluesky", icon: "bluesky", link: "https://bsky.app/profile/bwc9876.dev" }, 26 { name: "PayPal", icon: "paypal", link: "https://paypal.me/bwc9876" }, 27 { name: "GitHub", icon: "github", link: "https://github.com/Bwc9876" } 28]; 29 30const { labelPlacement, makeLinksUnfocusable, ...rest } = Astro.props; 31--- 32 33<span {...rest}> 34 { 35 socialData.map((s) => ( 36 <IconLink 37 icon={s.icon} 38 overridePack={s.overridePack} 39 href={s.link} 40 label={s.name} 41 placement={labelPlacement} 42 isExternal 43 /> 44 )) 45 } 46</span> 47 48<style> 49 span { 50 padding-left: 0; 51 display: flex; 52 flex-direction: row; 53 gap: var(--2); 54 } 55</style>