move components to root, remove analytics and speed insights, cleanup on manifesto, update music link text and tilde icon on header, minor home page improvements/tweaks

This commit is contained in:
Aidan 2025-02-01 21:44:25 -05:00
parent 1909a6d9fe
commit 1253a7e0a1
29 changed files with 65 additions and 59 deletions

View File

@ -1,6 +1,6 @@
import Header from '../components/Header'
import AboutPg from '../components/pages/About'
import Footer from '../components/Footer'
import Header from '@/components/Header'
import AboutPg from '@/components/pages/About'
import Footer from '@/components/Footer'
export default function About() {
return (

View File

@ -1,6 +1,6 @@
import Header from '../components/Header'
import ContactPg from '../components/pages/Contact'
import Footer from '../components/Footer'
import Header from '@/components/Header'
import ContactPg from '@/components/pages/Contact'
import Footer from '@/components/Footer'
export default function Contact() {
return (

View File

@ -1,6 +1,6 @@
import Header from '../components/Header'
import DomainsPg from '../components/pages/Domains'
import Footer from '../components/Footer'
import Header from '@/components/Header'
import DomainsPg from '@/components/pages/Domains'
import Footer from '@/components/Footer'
export default function Domains() {
return (

View File

@ -4,8 +4,6 @@ import React, { useEffect } from 'react';
import './globals.css'
import '@fortawesome/fontawesome-svg-core/styles.css'
import { config } from '@fortawesome/fontawesome-svg-core'
import { SpeedInsights } from "@vercel/speed-insights/next"
import { Analytics } from "@vercel/analytics/react"
import { GeistSans } from 'geist/font/sans';
config.autoAddCss = false
@ -68,8 +66,6 @@ export default function RootLayout({
</head>
<body className={`${GeistSans.className} bg-gray-900 text-gray-100`}>
{children}
<Analytics />
<SpeedInsights />
</body>
</html>
);

View File

@ -1,6 +1,6 @@
import Header from '../components/Header'
import ManifestoPg from '../components/pages/Manifesto'
import Footer from '../components/Footer'
import Header from '@/components/Header'
import ManifestoPg from '@/components/pages/Manifesto'
import Footer from '@/components/Footer'
export default function Manifesto() {
return (

View File

@ -1,7 +1,7 @@
import Header from '../components/Header'
import MusicWidget from '../components/widgets/Music'
import MusicInfo from '../components/objects/MusicInfo'
import Footer from '../components/Footer'
import Header from '@/components/Header'
import MusicWidget from '@/components/widgets/Music'
import MusicInfo from '@/components/objects/MusicInfo'
import Footer from '@/components/Footer'
export default function Music() {
return (

View File

@ -1,7 +1,6 @@
import Header from './components/Header';
import HomePg from './components/pages/Home';
import Footer from './components/Footer';
import LastPlayed from './components/widgets/LastPlayed';
import Header from '@/components/Header';
import HomePg from '@/components/pages/Home';
import Footer from '@/components/Footer';
export default function Home() {
return (
@ -9,7 +8,6 @@ export default function Home() {
<Header />
<main className="flex-grow container mx-auto px-4 py-12">
<HomePg />
<LastPlayed />
</main>
<Footer />
</div>

View File

@ -1,6 +1,6 @@
import Header from '../../components/Header'
import WhatWasGoingOn from '../../components/pages/time-periods/early-summer-2024/WhatWasGoingOn'
import Footer from '../../components/Footer'
import Header from '@/components/Header'
import WhatWasGoingOn from '@/components/pages/time-periods/early-summer-2024/WhatWasGoingOn'
import Footer from '@/components/Footer'
export default function EarlySummer2024() {
return (

View File

@ -1,6 +1,6 @@
import Header from '../../../components/Header'
import WhatWasGoingOn from '../../../components/pages/time-periods/early-summer-2024/WhatWasGoingOn'
import Footer from '../../../components/Footer'
import Header from '@/components/Header'
import WhatWasGoingOn from '@/components/pages/time-periods/early-summer-2024/WhatWasGoingOn'
import Footer from '@/components/Footer'
export default function Music() {
return (

View File

@ -1,6 +1,6 @@
import Header from '../../components/Header'
import WhatWasGoingOn from '../../components/pages/time-periods/late-summer-2024/WhatWasGoingOn'
import Footer from '../../components/Footer'
import Header from '@/components/Header'
import WhatWasGoingOn from '@/components/pages/time-periods/late-summer-2024/WhatWasGoingOn'
import Footer from '@/components/Footer'
export default function LateSummer2024() {
return (

View File

@ -1,6 +1,6 @@
import Header from '../../../components/Header'
import WhatWasGoingOn from '../../../components/pages/time-periods/late-summer-2024/WhatWasGoingOn'
import Footer from '../../../components/Footer'
import Header from '@/components/Header'
import WhatWasGoingOn from '@/components/pages/time-periods/late-summer-2024/WhatWasGoingOn'
import Footer from '@/components/Footer'
export default function Music() {
return (

View File

@ -2,7 +2,7 @@
import React, { useState } from 'react';
import Link from 'next/link';
import { House, Link as LinkIcon, User, Phone, BookOpen, Music, SquareTerminal, X, Menu } from 'lucide-react';
import { House, Link as LinkIcon, User, Phone, BookOpen, Music, Users, X, Menu } from 'lucide-react';
interface NavItemProps {
href: string;
@ -39,9 +39,9 @@ export default function Header() {
<NavItem href="/contact" icon={Phone}>Contact</NavItem>
<NavItem href="/domains" icon={LinkIcon}>Domains</NavItem>
<NavItem href="/manifesto" icon={BookOpen}>Manifesto</NavItem>
<NavItem href="/music" icon={Music}>Music by Time</NavItem>
<NavItem href="/music" icon={Music}>Music</NavItem>
<div className="flex items-center">
<NavItem href="https://tilde.club/~lxu" icon={SquareTerminal}>Tilde</NavItem>
<NavItem href="https://tilde.club/~lxu" icon={Users}>Tilde</NavItem>
<a href="https://tilde.wiki/Tildeverse" className="text-gray-300 hover:text-green-400 ml-1 text-sm" target="_blank" rel="noopener noreferrer">
<sup>what?</sup>
</a>

View File

@ -1,5 +1,5 @@
import { Link } from 'lucide-react'
import domains from '../../../public/data/domains.json'
import domains from '@/public/data/domains.json'
export default function About() {
return (

View File

@ -1,5 +1,6 @@
import Image from 'next/image'
import Button from '../objects/Button'
import LastPlayed from '@/components/widgets/LastPlayed';
export default function Home() {
return (
@ -13,16 +14,18 @@ export default function Home() {
className="rounded-full mx-auto mb-6 border-4 border-gray-700"
/>
<h1 className="text-4xl font-bold mb-2 text-gray-100 glow">Aidan</h1>
<p className="text-gray-400 text-xl">Web Developer & Student</p>
<p className="text-gray-400 text-xl">SysAdmin, Developer, and Student</p>
</div>
<LastPlayed />
<section id="about" className="mb-12">
<h2 className="text-2xl font-semibold mb-4 text-gray-200">Who I am</h2>
<p className="text-gray-300 leading-relaxed">
Hey there! I&apos;m Aidan, a web developer and student from the US.
Hey there! I&apos;m Aidan, a systems administrator, web developer, and student from the United States. I primarily work with Node.js and Linux.
</p>
<p className="text-gray-300 leading-relaxed mt-2">
I am most interested in backend development and have experience with Node.js, Express, and Tailwind CSS.
I am most interested in backend development and have experience with Node.js, Express, and Tailwind CSS. Despite my best efforts, I am no designer
</p>
<p className="text-gray-300 leading-relaxed mt-2">
When I&apos;m not programming, I can be found re-flashing my phone with a new custom ROM and telling everyone I use Arch.
@ -32,7 +35,7 @@ export default function Home() {
<section id="about" className="mb-12">
<h2 className="text-2xl font-semibold mb-4 text-gray-200">What I do</h2>
<p className="text-gray-300 leading-relaxed">
I am at my best when I am doing system administration, but I also enjoy working on web development projects.
I am at my best when I am doing system administration, but I also enjoy working on web development projects. I enjoy contributing under open licenses more than anything. I have never felt much of a draw to profiting off my work.
</p>
<p className="text-gray-300 leading-relaxed mt-2">
I host a few public services and websites on my VPS, most of which can be found on the &quot;Domains&quot; page with a short description.
@ -41,7 +44,17 @@ export default function Home() {
I&apos;m most proud of LibreCloud/p0ntus mail, which is a cloud services provider that I self-host and maintain, free of charge.
</p>
<p className="text-gray-300 leading-relaxed mt-2">
I frequently write and work on a website hosted on a public Linux server, called a &quot;tilde.&quot; You can check it out by clicking the link &quot;Tilde&quot; in the header, or &quot;what?&quot; if you are still confused!
I frequently write and work on a website hosted on a public Linux server, known as a &quot;tilde.&quot; You can check it out by clicking the link &quot;Tilde&quot; in the header, or &quot;what?&quot; if you are still confused!
</p>
</section>
<section id="about" className="mb-12">
<h2 className="text-2xl font-semibold mb-4 text-gray-200">Where you are</h2>
<p className="text-gray-300 leading-relaxed">
My website is my home, not my business. I am not here to brag about my accomplishments or plug my cool SaaS product. That&apos;s why I&apos;ve made every effort to make this website as personal and fun as possible.
</p>
<p className="text-gray-300 leading-relaxed mt-2">
From a technical perspective, you&apos;re being served this website by Vercel.
</p>
</section>

View File

@ -47,8 +47,12 @@ export default function About() {
</p>
<ul className="list-disc list-inside text-left text-gray-300 mt-8 mb-4">
<li>Respect user data as a fundamental human right</li>
<li>Not implement tracking and/or monetization in my services</li>
<li>Focus my services to focus on being free and open</li>
<li>Not implement tracking and/or monetization in my services
<ul className="list-disc list-inside text-left text-gray-300 mt-2 mb-4">
<li>Ensure user data is never used for profit</li>
</ul>
</li>
<li>Focus my services on being free and open</li>
<li>Suggest/support technologies that help privacy</li>
</ul>
<h2 className="text-2xl font-semibold mb-4 mt-12 text-gray-200">

View File

@ -1,7 +1,7 @@
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faGitAlt, faGithub } from '@fortawesome/free-brands-svg-icons'
import { faStar, faCodeBranch } from '@fortawesome/free-solid-svg-icons'
import featuredProjects from '../../../public/data/featured.json'
import featuredProjects from '@/public/data/featured.json'
import Link from 'next/link'
export default function GitHubFeatured() {

View File

@ -28,8 +28,8 @@ const LastPlayed: React.FC = () => {
if (!track) {
return (
<div className="max-w-2xl mx-auto mt-4">
<h2 className="text-2xl font-bold mb-4 pt-10 text-gray-200">Last Played Song</h2>
<div className="max-w-2xl mx-auto mb-12">
<h2 className="text-2xl font-bold mb-4 text-gray-200">Last Played Song</h2>
<div className="flex justify-center items-center border border-gray-300 rounded-lg p-4 max-w-md mt-8">
<span className="spinner-border animate-spin inline-block w-8 h-8 border-4 rounded-full" role="status"></span>
</div>
@ -38,8 +38,8 @@ const LastPlayed: React.FC = () => {
}
return (
<div className="max-w-2xl mx-auto mt-4">
<h2 className="text-2xl font-bold mb-4 pt-10 text-gray-200">Last Played Song</h2>
<div className="max-w-2xl mx-auto mb-12">
<h2 className="text-2xl font-bold mb-4 text-gray-200">Last Played Song</h2>
<div className="now-playing flex items-center border border-gray-300 rounded-lg p-4 max-w-md mt-8 bg-white bg-opacity-10 backdrop-filter backdrop-blur-lg">
<Image
src={track.image.find(img => img.size === 'large')?.['#text'] || '/placeholder.png'}

View File

@ -13,8 +13,6 @@
"@fortawesome/free-brands-svg-icons": "^6.7.2",
"@fortawesome/free-solid-svg-icons": "^6.7.2",
"@fortawesome/react-fontawesome": "^0.2.2",
"@vercel/analytics": "^1.4.1",
"@vercel/speed-insights": "^1.1.0",
"geist": "^1.3.1",
"lucide-react": "^0.469.0",
"next": "15.1.3",
@ -31,8 +29,5 @@
"eslint": "^9.18.0",
"eslint-config-next": "15.1.3",
"@eslint/eslintrc": "^3.2.0"
},
"trustedDependencies": [
"@vercel/speed-insights"
]
}
}