Refactor body into multiple files

This commit is contained in:
Michael Bradley 2025-02-21 02:06:51 -05:00
parent 36db4c2c0c
commit a513e3786c
Signed by: MichaelBradley
SSH key fingerprint: SHA256:cj/YZ5VT+QOKncqSkx+ibKTIn0Obg7OIzwzl9BL8EO8
10 changed files with 168 additions and 151 deletions

32
src/Body/Links.tsx Normal file
View file

@ -0,0 +1,32 @@
import CV from "../assets/cv.svg?react";
import Git from "../assets/git.svg?react";
import LinkedIn from "../assets/linkedin.svg?react";
import Mastodon from "../assets/mastodon.svg?react";
import DarkModeToggleIcon from "../assets/darkmodetoggle.svg?react";
type ImageLinkProps = {
href: string;
title: string;
Image: typeof Git; // Not ideal, but I can't figure out how to import the type directly from the declared wildcard module
};
const ImageLink = ({ href, title, Image }: ImageLinkProps) => (
<a rel="me" href={href} title={title}>
<Image width="100%" />
</a>
);
const Links = () => (
<div className="links">
<ImageLink href="https://git.mmbradley.ca/MichaelBradley/" title="Forgejo instance" Image={Git} />
<ImageLink href="https://www.linkedin.com/in/michaelmbradley/" title="LinkedIn account" Image={LinkedIn} />
<ImageLink href="https://mmbradley.ca/resume.pdf" title="My Résumé" Image={CV} />
<ImageLink href="https://mstdn.ca/@michaelbradley/" title="Mastodon account" Image={Mastodon} />
<input id="dark-mode-toggle" type="checkbox" aria-label="Toggle dark mode" />
<label htmlFor="dark-mode-toggle" id="dark-mode-toggle-label" title="Toggle dark mode">
<DarkModeToggleIcon width="100%" />
</label>
</div>
);
export default Links;