My personal website

chore: remove unused components

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

+1 -76
-14
src/components/ButtonLink.astro
··· 1 - --- 2 - interface Props { 3 - href: string; 4 - } 5 - 6 - const props = Astro.props; 7 - --- 8 - 9 - <a 10 - class="inline-block min-w-16 rounded-lg px-4 py-2 font-semibold uppercase text-brand hover:bg-brand/10" 11 - {...props} 12 - > 13 - <slot /> 14 - </a>
+1 -1
src/components/IconLink.astro
··· 11 11 const { href, iconName, class: className, large, ...rest } = Astro.props; 12 12 --- 13 13 14 - <a href={href} target="_blank" rel="noopener" class={`rounded px-2 py-1 ${large ? "text-2xl" : "text-xl"} w-fit focus:underline ${className}`} {...rest} 14 + <a href={href} target="_blank" rel="noopener" class={`rounded px-2 py-1 ${large ? "text-2xl" : "text-xl"} w-fit focus:underline transition-colors hover:transition-none ${className}`} {...rest} 15 15 ><Icon name={iconName} class="inline" />&nbsp;<slot /></a 16 16 >
-39
src/components/ProjectEntry.astro
··· 1 - --- 2 - import { type ImageMetadata } from "astro"; 3 - import { Icon } from "astro-icon/components"; 4 - import { Image } from "astro:assets"; 5 - import ButtonLink from "../components/ButtonLink.astro"; 6 - 7 - interface Props { 8 - image: ImageMetadata; 9 - title: string; 10 - description: string; 11 - website?: string; 12 - source?: string; 13 - } 14 - 15 - const { image, title, description, website, source } = Astro.props; 16 - --- 17 - 18 - <div> 19 - <Image src={image} alt={`${title} :Logo`} class="mx-auto my-2 h-20 w-auto" /> 20 - <h2 class="my-2 text-center font-display text-3xl"> 21 - {title} 22 - </h2> 23 - <p class="my-2">{description}</p> 24 - <div class="text-right"> 25 - { 26 - website && ( 27 - <ButtonLink href={website}> 28 - <Icon name="new-tab" class="inline" /> Website 29 - </ButtonLink> 30 - ) 31 - } 32 - { 33 - source && ( 34 - // TODO: add Git icon 35 - <ButtonLink href={source}>Source Code</ButtonLink> 36 - ) 37 - } 38 - </div> 39 - </div>
-22
src/components/TextSpinner.astro
··· 1 - <span text-spinner class="font-mono">&nbsp;</span> 2 - 3 - <script> 4 - let intervalId: NodeJS.Timeout | undefined = undefined; 5 - document.addEventListener("astro:page-load", () => { 6 - if (intervalId) clearInterval(intervalId); 7 - 8 - const spinners = 9 - document.querySelectorAll<HTMLSpanElement>("[text-spinner]"); 10 - 11 - const spinningChars = ["|", "/", "-", "\\"]; 12 - let currentIndex = 0; 13 - 14 - intervalId = setInterval(() => { 15 - spinners.forEach( 16 - (spinner) => (spinner.innerText = spinningChars[currentIndex]), 17 - ); 18 - currentIndex++; 19 - if (currentIndex >= spinningChars.length) currentIndex = 0; 20 - }, 250); 21 - }); 22 - </script>