---
import Layout from '../layouts/Layout.astro';
import Project, { Status } from '../components/Project.astro';
import active from '../images/active.svg'
import inactive from '../images/inactive.svg'
import wip from '../images/wip.svg'

---

<Layout title='TheCodedProf'>
	<!--ABOUT ME-->
	<h1 id="About" class="text-text text-2xl">About Me:</h1>
	<div class="h-[3px] bg-surface2" />
	<p class="text-text text-sm m-1">
		Hi, my name's Samuel and I'm a full stack dev (and more) based in Delaware. I collect makeship
		plushies, metal mugs, card decks, and some other trinkets. I also enjoy playing video games
		from time to time.
		<br />
		<br />
		I'm always looking for work so feel free to hit me up at any of my socials down below!
	</p>

	<!--PROJECTS-->
	<h1 id="Projects" class="text-text text-2xl mt-6">Projects:</h1>
	<div class="h-[3px] bg-surface2" />
	<div id="key" class="w-full flex gap-6 justify-center items-center">
		<p class="text-xs text-text -mr-4">Key:</p>
		<div class="flex text-xs text-text h-fit w-fit items-center space-x-1"><img src={active.src} alt="cross" class="h-6"/><p>Active</p></div>
		<div class="flex text-xs text-text h-fit w-fit items-center space-x-1"><img src={wip.src} alt="cross" class="h-6"/><p>WIP</p></div>
		<div class="flex text-xs text-text h-fit w-fit items-center space-x-1"><img src={inactive.src} alt="cross" class="h-6"/><p>Inactive</p></div>
	</div>
	<div class="flex flex-wrap justify-center h-fit">
		<Project name='Chimera' url='https://git.clicks.codes/plugins/gitiles/Chimera/NixFiles' status={Status.Active}>
			Personal Nix configuration for me and my friends systems using Snowfall lib.
		</Project>
		<Project name="thecoded.prof suite" url="https://git.clicks.codes/plugins/gitiles/Coded/thecoded.prof/" status={Status.Active}>
			My series of websites, including this one and my blog.
		</Project>
		<Project name="Clicks.Codes" url="https://git.clicks.codes/plugins/gitiles/Clicks/clicks.codes/" status={Status.Active}>
			The main page for ClicksCodes, a programming group run by me and some of my friends.
		</Project>
		<Project name="Clicks Nix" url="https://git.clicks.codes/plugins/gitiles/Infra/NixFiles/" status={Status.Active}>
			Nix configuration for Clicks Server.
		</Project>
		<Project name="NixFiles" url="https://git.clicks.codes/plugins/gitiles/Coded/nixConfig/" status={Status.Inactive}>
			My old Nix configuration, deprecated since move to Chimera.
		</Project>
		<Project name="Nucleus" url="https://git.clicks.codes/plugins/gitiles/Clicks/Nucleus/" status={Status.Inactive}>
			Moderation bot for Discord. Written with the Clicks group.
		</Project>
		<Project name="Innuendo" url="https://github.com/ClicksCodes/gone-pear-shaped" status={Status.Inactive}>
			CAH bot for Discord.
		</Project>
		<Project name="Neat" url="https://git.clicks.codes/q/project:Chimera/Neat" status={Status.WIP}>
			A set of windows for use as top bars, app runners, etc in Chimera.
		</Project>
	</div>

	<!--Contacts/Socials-->
	<h1 id="Projects" class="text-text text-2xl mt-6">Contact Me:</h1>
	<div class="h-[3px] bg-surface2" />
	<div class="flex flex-col gap-1">
		<p class="text-text text-sm">Discord: @thecodedprof</p>
		<p class="text-text text-sm">Matrix: <a href="https://matrix.to/#/@coded:clicks.codes" class="text-blue">@coded:clicks.codes</a></p>
		<p class="text-text text-sm">Email: <a href="mailto:me@thecoded.prof" class="text-blue">me@thecoded.prof</a></p>
		<p class="text-text text-sm">Text: <a href="sms:+12673426954" class="text-blue">+1(267)342-6954</a></p>
	</div>
</Layout>
