--- import "../styles/global.css"; import SocialLink, { type Props as SLProps } from "../components/link.astro"; import githubImage from "../images/github.svg"; import bskyImage from "../images/bsky.svg"; import stalwartImage from "../images/stalwart.svg"; import linkedinImage from "../images/linkedin.svg"; import tangledImage from "../images/tangled.svg"; import logoImage from "../images/logo.svg"; import steamImage from "../images/steam.svg"; import plateImage from "../images/plate.svg"; import kofiImage from "../images/kofi.svg"; import { getImage } from "astro:assets"; const contactMethods = [ { name: "Email", url: "mailto:me@thecoded.prof", status: "active", icon: stalwartImage, }, { name: "LinkedIn", url: "https://www.linkedin.com/in/samuelshuert", status: "active", icon: linkedinImage, }, { name: "Tangled Repos", url: "https://tangled.org/thecoded.prof", status: "active", icon: tangledImage, }, { name: "Bluesky", url: "https://bsky.app/profile/thecoded.prof", status: "active", icon: bskyImage, }, { name: "GitHub Repos", url: "https://github.com/thecodedprof", status: "disabled", icon: githubImage, }, { name: "Personal Site", url: "https://tangled.org/thecoded.prof/thecoded.prof", status: "wip", icon: logoImage, }, { name: "Steam", url: "https://steamcommunity.com/id/thecodedprof/", status: "active", icon: steamImage, }, { name: "Plate", url: "https://github.com/TheCodedProf/Plate", status: "wip", icon: plateImage, }, { name: "Ko-Fi", url: "https://ko-fi.com/thecodedprof", status: "active", icon: kofiImage, }, ] as SLProps[]; const activeLinks = contactMethods.filter( (method) => method.status === "active", ); const wipLinks = contactMethods.filter((method) => method.status === "wip"); const disabledLinks = contactMethods.filter( (method) => method.status === "disabled", ); const optimizedImages = await Promise.all( contactMethods.map(async (method) => await getImage({ src: method.icon })), ); --- Contact TCP { optimizedImages.map((image) => ( )) }

TheCoded​Prof