unify indentation
This commit is contained in:
parent
ca67eb3a2c
commit
828bb78fd3
@ -4,41 +4,41 @@ import GitHubFeatured from '../widgets/GitHubFeatured'
|
||||
import Image from 'next/image'
|
||||
|
||||
export default function About() {
|
||||
return (
|
||||
<div className="max-w-2xl mx-auto text-center">
|
||||
<FontAwesomeIcon icon={faUser} className="text-6xl mb-6" />
|
||||
<h1 className="text-4xl font-bold my-2 text-center text-gray-200" style={{ textShadow: '0 0 10px rgba(255, 255, 255, 0.5)' }}>
|
||||
About Me
|
||||
</h1>
|
||||
<div className="px-6 pt-6">
|
||||
<p className="text-gray-300 mb-4">
|
||||
Hey there! I'm Aidan, a web developer and student, and this is my website. I'm passionate about web development (although I'm not great with design) and I love building things with Node.js and Express.
|
||||
</p>
|
||||
<h2 className="text-2xl font-semibold mb-4 mt-12 text-gray-200">Academics</h2>
|
||||
<p className="text-gray-300 mb-4">
|
||||
In terms of my academic background, I am currently pursuing a degree in computer science at SNHU. I really enjoy learning, though it depends on the subject. I am mostly self-taught when it comes to programming. I prefer this style of learning, especially with programming, as it lets me learn faster and apply creativity much more.
|
||||
</p>
|
||||
<h2 className="text-2xl font-semibold mb-4 mt-12 text-gray-200">Hobbies</h2>
|
||||
<p className="text-gray-300 mb-4">
|
||||
When I'm not programming, I can typically be found installing another Linux distro on my laptop or flashing a new ROM to my phone. I am also a passionate writer and I like to write creatively in my free time.
|
||||
</p>
|
||||
<p className="text-gray-300">
|
||||
I am almost always active on GitHub and make daily contributions to several of my repositories. I am a big fan of open source software and public domain software (which most of my repos are licensed under). In fact, the website you're currently on is free and open source. It's even under the public domain!
|
||||
</p>
|
||||
</div>
|
||||
<div className="mt-12">
|
||||
<h2 className="text-2xl font-semibold mb-4 text-gray-200">My GitHub Contributions</h2>
|
||||
<p className="text-gray-300 mb-4">You can find me on GitHub as <a href="https://github.com/ihatenodejs/" className="text-blue-400 hover:underline">ihatenodejs</a>.</p>
|
||||
<div className="flex flex-col md:flex-row justify-center gap-4">
|
||||
<Image src="https://github-readme-stats.vercel.app/api?username=ihatenodejs&theme=dark&show_icons=true&hide_border=true&count_private=true" alt="ihatenodejs's Stats" width={500} height={200} className="w-full md:w-1/2" />
|
||||
<Image src="https://github-readme-stats.vercel.app/api/top-langs/?username=ihatenodejs&theme=dark&show_icons=true&hide_border=true&layout=compact" alt="ihatenodejs's Top Languages" width={500} height={200} className="w-full md:w-1/3" />
|
||||
</div>
|
||||
</div>
|
||||
<div className="mt-12">
|
||||
<h2 className="text-2xl font-semibold mb-4 text-gray-200">Featured Projects</h2>
|
||||
<p className="text-gray-300 mb-6">Here's just four of my top projects.</p>
|
||||
<GitHubFeatured />
|
||||
</div>
|
||||
return (
|
||||
<div className="max-w-2xl mx-auto text-center">
|
||||
<FontAwesomeIcon icon={faUser} className="text-6xl mb-6" />
|
||||
<h1 className="text-4xl font-bold my-2 text-center text-gray-200" style={{ textShadow: '0 0 10px rgba(255, 255, 255, 0.5)' }}>
|
||||
About Me
|
||||
</h1>
|
||||
<div className="px-6 pt-6">
|
||||
<p className="text-gray-300 mb-4">
|
||||
Hey there! I'm Aidan, a web developer and student, and this is my website. I'm passionate about web development (although I'm not great with design) and I love building things with Node.js and Express.
|
||||
</p>
|
||||
<h2 className="text-2xl font-semibold mb-4 mt-12 text-gray-200">Academics</h2>
|
||||
<p className="text-gray-300 mb-4">
|
||||
In terms of my academic background, I am currently pursuing a degree in computer science at SNHU. I really enjoy learning, though it depends on the subject. I am mostly self-taught when it comes to programming. I prefer this style of learning, especially with programming, as it lets me learn faster and apply creativity much more.
|
||||
</p>
|
||||
<h2 className="text-2xl font-semibold mb-4 mt-12 text-gray-200">Hobbies</h2>
|
||||
<p className="text-gray-300 mb-4">
|
||||
When I'm not programming, I can typically be found installing another Linux distro on my laptop or flashing a new ROM to my phone. I am also a passionate writer and I like to write creatively in my free time.
|
||||
</p>
|
||||
<p className="text-gray-300">
|
||||
I am almost always active on GitHub and make daily contributions to several of my repositories. I am a big fan of open source software and public domain software (which most of my repos are licensed under). In fact, the website you're currently on is free and open source. It's even under the public domain!
|
||||
</p>
|
||||
</div>
|
||||
<div className="mt-12">
|
||||
<h2 className="text-2xl font-semibold mb-4 text-gray-200">My GitHub Contributions</h2>
|
||||
<p className="text-gray-300 mb-4">You can find me on GitHub as <a href="https://github.com/ihatenodejs/" className="text-blue-400 hover:underline">ihatenodejs</a>.</p>
|
||||
<div className="flex flex-col md:flex-row justify-center gap-4">
|
||||
<Image src="https://github-readme-stats.vercel.app/api?username=ihatenodejs&theme=dark&show_icons=true&hide_border=true&count_private=true" alt="ihatenodejs's Stats" width={500} height={200} className="w-full md:w-1/2" />
|
||||
<Image src="https://github-readme-stats.vercel.app/api/top-langs/?username=ihatenodejs&theme=dark&show_icons=true&hide_border=true&layout=compact" alt="ihatenodejs's Top Languages" width={500} height={200} className="w-full md:w-1/3" />
|
||||
</div>
|
||||
)
|
||||
</div>
|
||||
<div className="mt-12">
|
||||
<h2 className="text-2xl font-semibold mb-4 text-gray-200">Featured Projects</h2>
|
||||
<p className="text-gray-300 mb-6">Here's just four of my top projects.</p>
|
||||
<GitHubFeatured />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
@ -4,55 +4,55 @@ import { faGithub, faTelegram } from '@fortawesome/free-brands-svg-icons'
|
||||
import { IconDefinition } from '@fortawesome/fontawesome-svg-core'
|
||||
|
||||
export default function Contact() {
|
||||
return (
|
||||
<div className="max-w-2xl mx-auto text-center">
|
||||
<FontAwesomeIcon icon={faPhone} className="text-6xl mb-6" />
|
||||
<h1 className="text-4xl font-bold my-2 text-center text-gray-200" style={{ textShadow: '0 0 10px rgba(255, 255, 255, 0.5)' }}>
|
||||
Contact
|
||||
</h1>
|
||||
<div className="p-6 space-y-4">
|
||||
<ContactButton href="https://github.com/ihatenodejs" icon={faGithub} label="ihatenodejs" className="mr-3" />
|
||||
<ContactButton href="https://t.me/p0ntu5" icon={faTelegram} label="@p0ntu5" className="mr-3" />
|
||||
<ContactButton href="tel:+18024169516" icon={faPhone} label="(802) 416-9516" className="mr-3" />
|
||||
<ContactButton href="mailto:aidan@p0ntus.com" icon={faEnvelope} label="aidan@p0ntus.com" className="" />
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<h2 className="text-2xl font-semibold mb-4 text-gray-200">I'm a busy person</h2>
|
||||
<p className="text-gray-300 mb-4">
|
||||
I do a lot of things during the day and I'm not always able to respond to messages right away. Please be patient and remember not to demand things from me... Somehow this is an issue for people :(
|
||||
</p>
|
||||
<p className="text-gray-300 mb-10">
|
||||
For the best chance of a response, please send me a message on Telegram. If you've made a pull request on one of my repos, I will most likely respond by the next day. If you've sent me an email, I will most likely respond within three days or less.
|
||||
</p>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-gray-200">A note about calling and texting</h2>
|
||||
<p className="text-gray-300 mb-4">
|
||||
I have a phone number listed above. Please do not call or text me unless you absolutely need to. I will likely not respond, or use an automated recording system to handle your call. No, I haven't provided you my real phone number. I may be able to respond to your call/text, just know this is not checked/used often.
|
||||
</p>
|
||||
<p className="text-gray-300 mb-4">
|
||||
If you need to get in touch with me, please send me a message on Telegram or an email.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
return (
|
||||
<div className="max-w-2xl mx-auto text-center">
|
||||
<FontAwesomeIcon icon={faPhone} className="text-6xl mb-6" />
|
||||
<h1 className="text-4xl font-bold my-2 text-center text-gray-200" style={{ textShadow: '0 0 10px rgba(255, 255, 255, 0.5)' }}>
|
||||
Contact
|
||||
</h1>
|
||||
<div className="p-6 space-y-4">
|
||||
<ContactButton href="https://github.com/ihatenodejs" icon={faGithub} label="ihatenodejs" className="mr-3" />
|
||||
<ContactButton href="https://t.me/p0ntu5" icon={faTelegram} label="@p0ntu5" className="mr-3" />
|
||||
<ContactButton href="tel:+18024169516" icon={faPhone} label="(802) 416-9516" className="mr-3" />
|
||||
<ContactButton href="mailto:aidan@p0ntus.com" icon={faEnvelope} label="aidan@p0ntus.com" className="" />
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<h2 className="text-2xl font-semibold mb-4 text-gray-200">I'm a busy person</h2>
|
||||
<p className="text-gray-300 mb-4">
|
||||
I do a lot of things during the day and I'm not always able to respond to messages right away. Please be patient and remember not to demand things from me... Somehow this is an issue for people :(
|
||||
</p>
|
||||
<p className="text-gray-300 mb-10">
|
||||
For the best chance of a response, please send me a message on Telegram. If you've made a pull request on one of my repos, I will most likely respond by the next day. If you've sent me an email, I will most likely respond within three days or less.
|
||||
</p>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-gray-200">A note about calling and texting</h2>
|
||||
<p className="text-gray-300 mb-4">
|
||||
I have a phone number listed above. Please do not call or text me unless you absolutely need to. I will likely not respond, or use an automated recording system to handle your call. No, I haven't provided you my real phone number. I may be able to respond to your call/text, just know this is not checked/used often.
|
||||
</p>
|
||||
<p className="text-gray-300 mb-4">
|
||||
If you need to get in touch with me, please send me a message on Telegram or an email.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
interface ContactButtonProps {
|
||||
href: string;
|
||||
icon: IconDefinition;
|
||||
label: string;
|
||||
className?: string;
|
||||
href: string;
|
||||
icon: IconDefinition;
|
||||
label: string;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
function ContactButton({ href, icon, label, className }: ContactButtonProps) {
|
||||
return (
|
||||
<a
|
||||
href={href}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className={`bg-gray-700 text-white px-4 py-2 rounded-full hover:bg-gray-600 transition-colors inline-flex items-center ${className}`}
|
||||
>
|
||||
<FontAwesomeIcon icon={icon} className="text-xl mr-2" />
|
||||
{label}
|
||||
</a>
|
||||
)
|
||||
return (
|
||||
<a
|
||||
href={href}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className={`bg-gray-700 text-white px-4 py-2 rounded-full hover:bg-gray-600 transition-colors inline-flex items-center ${className}`}
|
||||
>
|
||||
<FontAwesomeIcon icon={icon} className="text-xl mr-2" />
|
||||
{label}
|
||||
</a>
|
||||
)
|
||||
}
|
@ -3,20 +3,20 @@ import { faLink } from '@fortawesome/free-solid-svg-icons'
|
||||
import domains from '../../data/domains.json'
|
||||
|
||||
export default function About() {
|
||||
return (
|
||||
<div className="max-w-2xl mx-auto text-center">
|
||||
<FontAwesomeIcon icon={faLink} className="text-6xl mb-6" />
|
||||
<h1 className="text-4xl font-bold my-2 text-center text-gray-200" style={{ textShadow: '0 0 10px rgba(255, 255, 255, 0.5)' }}>
|
||||
My Domains
|
||||
</h1>
|
||||
<div className="p-6">
|
||||
{domains.map(domain => (
|
||||
<div key={domain.id} className="mb-4">
|
||||
<h2 className="text-2xl font-semibold text-gray-200">{domain.domain}</h2>
|
||||
<p className="text-gray-300">{domain.usage}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
return (
|
||||
<div className="max-w-2xl mx-auto text-center">
|
||||
<FontAwesomeIcon icon={faLink} className="text-6xl mb-6" />
|
||||
<h1 className="text-4xl font-bold my-2 text-center text-gray-200" style={{ textShadow: '0 0 10px rgba(255, 255, 255, 0.5)' }}>
|
||||
My Domains
|
||||
</h1>
|
||||
<div className="p-6">
|
||||
{domains.map(domain => (
|
||||
<div key={domain.id} className="mb-4">
|
||||
<h2 className="text-2xl font-semibold text-gray-200">{domain.domain}</h2>
|
||||
<p className="text-gray-300">{domain.usage}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
@ -4,25 +4,25 @@ import { faStar, faCodeBranch } from '@fortawesome/free-solid-svg-icons'
|
||||
import featuredProjects from '../../data/featured.json'
|
||||
|
||||
export default function GitHubFeatured() {
|
||||
return (
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
{featuredProjects.map((project) => (
|
||||
<div key={project.id} className="bg-gray-800 p-6 rounded-lg shadow-md min-h-[200px] flex flex-col">
|
||||
<div className="flex-1">
|
||||
<h3 className="text-xl font-bold text-gray-100 mb-3">
|
||||
<FontAwesomeIcon icon={faGithub} className="mr-2" /> {project.name}
|
||||
</h3>
|
||||
<p className="text-gray-300 flex-grow">{project.description}</p>
|
||||
</div>
|
||||
<div className="pt-4 border-t border-gray-700 flex justify-between items-center mt-auto">
|
||||
<a href={project.url} className="text-blue-400 hover:underline">View Repo</a>
|
||||
<div className="flex items-center text-gray-400">
|
||||
<FontAwesomeIcon icon={faStar} className="mr-1" /> {project.stars}
|
||||
<FontAwesomeIcon icon={faCodeBranch} className="ml-4 mr-1" /> {project.forks}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
return (
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
{featuredProjects.map((project) => (
|
||||
<div key={project.id} className="bg-gray-800 p-6 rounded-lg shadow-md min-h-[200px] flex flex-col">
|
||||
<div className="flex-1">
|
||||
<h3 className="text-xl font-bold text-gray-100 mb-3">
|
||||
<FontAwesomeIcon icon={faGithub} className="mr-2" /> {project.name}
|
||||
</h3>
|
||||
<p className="text-gray-300 flex-grow">{project.description}</p>
|
||||
</div>
|
||||
<div className="pt-4 border-t border-gray-700 flex justify-between items-center mt-auto">
|
||||
<a href={project.url} className="text-blue-400 hover:underline">View Repo</a>
|
||||
<div className="flex items-center text-gray-400">
|
||||
<FontAwesomeIcon icon={faStar} className="mr-1" /> {project.stars}
|
||||
<FontAwesomeIcon icon={faCodeBranch} className="ml-4 mr-1" /> {project.forks}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
}
|
@ -1,47 +1,47 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"domain": "aidxn.cc",
|
||||
"usage": "The home of my primary homepage and website (v3)"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"domain": "aidxn.fun",
|
||||
"usage": "My alternative homepage (v2)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"domain": "pontusmail.org",
|
||||
"usage": "My personal email service, free to the public"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"domain": "ihate.college",
|
||||
"usage": "One of my fun domains, used for p0ntus mail"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"domain": "pontus.pics",
|
||||
"usage": "An unused domain for an upcoming image hosting service"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"domain": "p0ntus.com",
|
||||
"usage": "A website for my online persona which hosts a small archive"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"domain": "androidintegrity.org",
|
||||
"usage": "A collaborative project to improve Google's Play Integrity"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"domain": "modules.lol",
|
||||
"usage": "An 'app store' of Magisk modules and FOSS Android apps"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"domain": "wikitools.cloud",
|
||||
"usage": "A collection of tools made by me for Wikipedia"
|
||||
}
|
||||
{
|
||||
"id": 1,
|
||||
"domain": "aidxn.cc",
|
||||
"usage": "The home of my primary homepage and website (v3)"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"domain": "aidxn.fun",
|
||||
"usage": "My alternative homepage (v2)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"domain": "pontusmail.org",
|
||||
"usage": "My personal email service, free to the public"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"domain": "ihate.college",
|
||||
"usage": "One of my fun domains, used for p0ntus mail"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"domain": "pontus.pics",
|
||||
"usage": "An unused domain for an upcoming image hosting service"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"domain": "p0ntus.com",
|
||||
"usage": "A website for my online persona which hosts a small archive"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"domain": "androidintegrity.org",
|
||||
"usage": "A collaborative project to improve Google's Play Integrity"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"domain": "modules.lol",
|
||||
"usage": "An 'app store' of Magisk modules and FOSS Android apps"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"domain": "wikitools.cloud",
|
||||
"usage": "A collection of tools made by me for Wikipedia"
|
||||
}
|
||||
]
|
||||
|
Reference in New Issue
Block a user