Something went wrong. Try again.
Mirror of https://github.com/kualta/site — web infrastructure
Something went wrong. Try again.
2.1 kB · 64 lines
Astro
at feed-path
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465---import type { Project } from "@/types";import IconTooltip from "@/components/IconTooltip.astro";import { FiArchive, FiExternalLink, FiGithub } from "react-icons/fi";import { LuGitlab } from "react-icons/lu";
interface Props { project: Project;}
const { project } = Astro.props;const href = project.link || project.git_link || "#";const isGitlab = project.git_link?.includes("gitlab.com");---<div class="flex w-full min-w-0 flex-row items-baseline gap-2 rounded-xl bg-secondary px-4 py-2 text-lg drop-shadow-sm dark:bg-dark-secondary"> <a href={href} target="_blank" rel="noreferrer" class="flex flex-row items-baseline gap-2 min-w-0 flex-grow hover:opacity-70" > <span class="font-medium whitespace-nowrap">{project.full_name || project.name}</span> <span class="min-w-0 truncate text-sm text-secondary-text">{project.description}</span> </a> <span class="w-5 shrink-0 flex justify-center"> {project.git_link && ( <IconTooltip label={isGitlab ? "GitLab" : "GitHub"}> <a href={project.git_link} target="_blank" rel="noreferrer" class="text-secondary-text hover:opacity-70" aria-label={`${project.full_name || project.name} on ${isGitlab ? "GitLab" : "GitHub"}`} > {isGitlab ? <LuGitlab /> : <FiGithub />} </a> </IconTooltip> )} </span> <!-- an archived project has nowhere live to link to, so its badge takes the website's place --> <span class="w-5 shrink-0 flex justify-center text-secondary-text"> {project.status === "archived" ? ( <IconTooltip label="archived"> <FiArchive aria-hidden="true" /> <span class="sr-only">archived</span> </IconTooltip> ) : project.link && ( <IconTooltip label="website"> <a href={project.link} target="_blank" rel="noreferrer" class="text-secondary-text hover:opacity-70" aria-label={`${project.full_name || project.name} website`} > <FiExternalLink /> </a> </IconTooltip> )} </span></div>