refactor: add package for icons
@ -1,13 +0,0 @@
|
|||||||
export type SocialIconProps = {
|
|
||||||
href: string;
|
|
||||||
alt: string;
|
|
||||||
src: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export function SocialIcon({ href, alt, src }: SocialIconProps) {
|
|
||||||
return (
|
|
||||||
<a href={href} className={"p-2"}>
|
|
||||||
<img alt={alt} src={src} className={"max-h-[5vh] max-w-[5vw]"} />
|
|
||||||
</a>
|
|
||||||
);
|
|
||||||
}
|
|
@ -1,42 +1,14 @@
|
|||||||
import { SocialIcon, SocialIconProps } from "~/components/SocialIcon";
|
import { IconContext } from "react-icons";
|
||||||
|
import {
|
||||||
const socials: SocialIconProps[] = [
|
FaGithub,
|
||||||
{
|
FaGitlab,
|
||||||
href: "https://t.me/nullndr",
|
FaKey,
|
||||||
alt: "Telegram",
|
FaLinkedin,
|
||||||
src: "/assets/telegram.png",
|
FaMastodon,
|
||||||
},
|
FaTelegramPlane,
|
||||||
{
|
FaTwitter,
|
||||||
href: "https://gitlab.com/nullndr",
|
} from "react-icons/fa";
|
||||||
alt: "GitLab",
|
import { MdEmail } from "react-icons/md";
|
||||||
src: "/assets/gitlab.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: "https://github.com/nullndr",
|
|
||||||
alt: "GitHub",
|
|
||||||
src: "/assets/github.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: "https://twitter.com/nullndr",
|
|
||||||
alt: "Twitter",
|
|
||||||
src: "/assets/twitter.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: "mailto: andrea@yaaaw.it",
|
|
||||||
alt: "Email",
|
|
||||||
src: "/assets/email.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: "https://www.linkedin.com/in/nullndr/",
|
|
||||||
alt: "Linkedin",
|
|
||||||
src: "/assets/linkedin.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: "/assets/pgpkey.pub",
|
|
||||||
alt: "GPG key",
|
|
||||||
src: "/assets/key.png",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
export default function Index() {
|
export default function Index() {
|
||||||
return (
|
return (
|
||||||
@ -49,14 +21,37 @@ export default function Index() {
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<nav className={"flex justify-center flex-wrap"}>
|
<nav className={"flex justify-center flex-wrap"}>
|
||||||
{socials.map((social) => (
|
<IconContext.Provider
|
||||||
<SocialIcon
|
value={{
|
||||||
href={social.href}
|
color: "yellow",
|
||||||
alt={social.alt}
|
size: "3em",
|
||||||
src={social.src}
|
}}
|
||||||
key={social.href}
|
>
|
||||||
/>
|
<a rel="me" href="https://mastodon.uno/@nullndr" className="p-2">
|
||||||
))}
|
<FaMastodon />
|
||||||
|
</a>
|
||||||
|
<a href="https://t.me/nullndr" className="p-2">
|
||||||
|
<FaTelegramPlane />
|
||||||
|
</a>
|
||||||
|
<a href="https://gitlab.com/nullndr" className="p-2">
|
||||||
|
<FaGitlab />
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/nullndr" className="p-2">
|
||||||
|
<FaGithub />
|
||||||
|
</a>
|
||||||
|
<a href="https://twitter.com/nullndr" className="p-2">
|
||||||
|
<FaTwitter />
|
||||||
|
</a>
|
||||||
|
<a href="mailto: nullndr@duck.com" className="p-2">
|
||||||
|
<MdEmail />
|
||||||
|
</a>
|
||||||
|
<a href="https://linkedin.com/in/nullndr" className="p-2">
|
||||||
|
<FaLinkedin />
|
||||||
|
</a>
|
||||||
|
<a href="/assets/pgpkey.pub" className="p-2">
|
||||||
|
<FaKey />
|
||||||
|
</a>
|
||||||
|
</IconContext.Provider>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
17
package-lock.json
generated
@ -10,7 +10,8 @@
|
|||||||
"@remix-run/react": "^1.6.7",
|
"@remix-run/react": "^1.6.7",
|
||||||
"@remix-run/serve": "^1.6.3",
|
"@remix-run/serve": "^1.6.3",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0"
|
"react-dom": "^18.2.0",
|
||||||
|
"react-icons": "^4.6.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@remix-run/dev": "^1.6.3",
|
"@remix-run/dev": "^1.6.3",
|
||||||
@ -10762,6 +10763,14 @@
|
|||||||
"react": "^18.2.0"
|
"react": "^18.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/react-icons": {
|
||||||
|
"version": "4.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.6.0.tgz",
|
||||||
|
"integrity": "sha512-rR/L9m9340yO8yv1QT1QurxWQvWpbNHqVX0fzMln2HEb9TEIrQRGsqiNFQfiv9/JEUbyHmHPlNTB2LWm2Ttz0g==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/react-is": {
|
"node_modules/react-is": {
|
||||||
"version": "17.0.2",
|
"version": "17.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
|
||||||
@ -21217,6 +21226,12 @@
|
|||||||
"scheduler": "^0.23.0"
|
"scheduler": "^0.23.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"react-icons": {
|
||||||
|
"version": "4.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.6.0.tgz",
|
||||||
|
"integrity": "sha512-rR/L9m9340yO8yv1QT1QurxWQvWpbNHqVX0fzMln2HEb9TEIrQRGsqiNFQfiv9/JEUbyHmHPlNTB2LWm2Ttz0g==",
|
||||||
|
"requires": {}
|
||||||
|
},
|
||||||
"react-is": {
|
"react-is": {
|
||||||
"version": "17.0.2",
|
"version": "17.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
|
||||||
|
@ -17,7 +17,8 @@
|
|||||||
"@remix-run/react": "^1.6.7",
|
"@remix-run/react": "^1.6.7",
|
||||||
"@remix-run/serve": "^1.6.3",
|
"@remix-run/serve": "^1.6.3",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0"
|
"react-dom": "^18.2.0",
|
||||||
|
"react-icons": "^4.6.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@remix-run/dev": "^1.6.3",
|
"@remix-run/dev": "^1.6.3",
|
||||||
|
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 420 B |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 38 KiB |