/** * @copyright nhcarrigan * @license Naomi's Public License * @author Naomi Carrigan */ import type { JSX } from "react"; interface ProjectProperties { name: string; url: string; source?: string; description: string; type: "Website" | "Bot" | "API" | "Game"; } const Colours: { [key in ProjectProperties["type"]]: string } = { API: "bg-sky-100 text-sky-900 dark:bg-sky-900 dark:text-sky-100", Bot: "bg-purple-100 text-purple-900 dark:bg-purple-900 dark:text-purple-100", Game: "bg-green-100 text-green-900 dark:bg-green-900 dark:text-green-100", Website: "bg-amber-100 text-amber-900 dark:bg-amber-900 dark:text-amber-100", }; /** * Renders the view for a project. * @param properties - The project to render. * @returns A JSX element. */ export const Project = (properties: ProjectProperties): JSX.Element => { const { name, url, source, description, type } = properties; return (

{name}

{type}

{description}

{`See Project`} {source === undefined ? null : {`View Source`} }
); };