From db86ce3277a671f615f52768ffcf2d761dc4bf47 Mon Sep 17 00:00:00 2001 From: Aidan Date: Tue, 8 Jul 2025 02:21:27 -0400 Subject: [PATCH] bug fixes, cleanup unmaintained pages, content changes, design improvements --- app/about/page.tsx | 93 +++++-- app/device/bonito/page.tsx | 200 ++++++++++++++ app/device/cheetah/page.tsx | 259 ++++++++++++++++++ app/music/page.tsx | 26 -- app/page.tsx | 11 - app/phone/page.tsx | 257 ----------------- app/time-periods/early-summer-2024/page.tsx | 15 - .../what-was-going-on/page.tsx | 15 - app/time-periods/late-summer-2024/page.tsx | 15 - .../what-was-going-on/page.tsx | 15 - components/Header.tsx | 26 +- components/objects/MusicInfo.tsx | 31 --- components/objects/RandomFooterMsg.tsx | 32 ++- .../early-summer-2024/WhatWasGoingOn.tsx | 27 -- .../late-summer-2024/WhatWasGoingOn.tsx | 26 -- components/widgets/FeaturedRepos.tsx | 19 +- components/widgets/Music.tsx | 127 --------- public/data/featured.json | 42 +-- public/data/music.json | 56 ---- public/img/bonito.png | Bin 0 -> 42345 bytes public/locales/en-US.json | 36 +-- 21 files changed, 614 insertions(+), 714 deletions(-) create mode 100644 app/device/bonito/page.tsx create mode 100644 app/device/cheetah/page.tsx delete mode 100644 app/music/page.tsx delete mode 100644 app/phone/page.tsx delete mode 100644 app/time-periods/early-summer-2024/page.tsx delete mode 100644 app/time-periods/early-summer-2024/what-was-going-on/page.tsx delete mode 100644 app/time-periods/late-summer-2024/page.tsx delete mode 100644 app/time-periods/late-summer-2024/what-was-going-on/page.tsx delete mode 100644 components/objects/MusicInfo.tsx delete mode 100644 components/pages/time-periods/early-summer-2024/WhatWasGoingOn.tsx delete mode 100644 components/pages/time-periods/late-summer-2024/WhatWasGoingOn.tsx delete mode 100644 components/widgets/Music.tsx delete mode 100644 public/data/music.json create mode 100644 public/img/bonito.png diff --git a/app/about/page.tsx b/app/about/page.tsx index f0b4fed..152572a 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -33,12 +33,12 @@ export default function About() {
-
+
+

+ {t('about.title')} +

-

- {t('about.title')} -

{mainStrings.map((section, index) => { @@ -60,15 +60,15 @@ export default function About() {

{mainSections[index]}

{section.map((text, index) => (

- {text.split(/(ihatenodejs|LibreCloud Git|aidan)/).map((part, i) => { + {text.split(/(ihatenodejs|p0ntus git|aidan)/).map((part, i) => { if (part === 'ihatenodejs') { - return GitHub + return ihatenodejs } - if (part === 'LibreCloud Git') { - return LibreCloud Git + if (part === 'p0ntus git') { + return p0ntus git } if (part === 'aidan') { - return aidan + return aidan } return part })} @@ -76,17 +76,17 @@ export default function About() { ))} {!imageError && (

- ihatenodejs's Stats setImageError(true)} loading="eager" priority unoptimized /> - ihatenodejs's Top Languages{mainSections[index]} {Object.entries(section).map(([key, value], index) => (
-

{key}

+

{key}

{(value as unknown as string[]).map((text: string, index: number) => (

- {text.split(/(KernelSU-Next|LineageOS microG)/).map((part, i) => { + {text.split(/(KernelSU-Next|LineageOS 22.2|Android 16|NixOS|Xubuntu)/).map((part, i) => { if (part === 'KernelSU-Next') { return KernelSU-Next } - if (part === 'LineageOS microG') { - return LineageOS microG + if (part === 'LineageOS 22.2') { + return LineageOS 22.2 + } + if (part === 'Android 16') { + return Android 16 + } + if (part === 'NixOS') { + return NixOS + } + if (part === 'Xubuntu') { + return Xubuntu } return part })}

))} - {key === "Phone" && ( -
)}
))} @@ -138,12 +153,18 @@ export default function About() {

{mainSections[index]}

{section.map((text, index) => (

- {text.split(/(my Gitea instance|my phone)/).map((part, i) => { - if (part === 'my Gitea instance') { - return my Gitea instance + {text.split(/(my Forgejo server|my phone|AfC|OnlyNano)/).map((part, i) => { + if (part === 'my Forgejo server') { + return my Forgejo server } if (part === 'my phone') { - return my phone + return my phone + } + if (part === 'AfC') { + return AfC + } + if (part === 'OnlyNano') { + return OnlyNano } return part })} @@ -157,9 +178,21 @@ export default function About() {

{mainSections[index]}

{section.map((text, index) => (

- {text.split(/(LibreCloud)/).map((part, i) => { - if (part === 'LibreCloud') { - return LibreCloud + {text.split(/(p0ntus|PontusHub|ABOCN|Kowalski|@KowalskiNodeBot)/).map((part, i) => { + if (part === 'p0ntus') { + return p0ntus + } + if (part === 'PontusHub') { + return PontusHub + } + if (part === 'ABOCN') { + return ABOCN + } + if (part === 'Kowalski') { + return Kowalski + } + if (part === '@KowalskiNodeBot') { + return @KowalskiNodeBot } return part })} diff --git a/app/device/bonito/page.tsx b/app/device/bonito/page.tsx new file mode 100644 index 0000000..cf95b1c --- /dev/null +++ b/app/device/bonito/page.tsx @@ -0,0 +1,200 @@ +import Header from "@/components/Header" +import Footer from "@/components/Footer" +import { + Cpu, + MemoryStick, + HardDrive, + Hash, + Hammer, + Music, + Folder, + Layers, +} from "lucide-react" +import { FaGoogle, FaYoutube } from "react-icons/fa" +import { VscTerminalLinux } from "react-icons/vsc" +import { MdOutlineAndroid } from "react-icons/md" +import { LuPackageOpen } from "react-icons/lu" +import { RiTelegram2Fill } from "react-icons/ri" +import Image from "next/image" +import Link from "@/components/objects/Link" + +export default function Bonito() { + return ( +

+
+
+
+
+
+ Google Pixel 3a XL (bonito) +
+
+
+

+ + Pixel 3a XL +

+

bonito

+
+
+
+
+

+ + Specs +

+
+

+ + Chipset: Qualcomm Snapdragon 670 +

+

+ + Storage: 64GB +

+

+ + RAM: 4GB +

+
+
+
+

+ + Modifications +

+
+

+ + Kernel Version: + 4.9.337 +

+

+ + ROM: + + LineageOS 22.2 + +

+

+ + Root: + + Magisk + +

+
+
+
+
+
+

+ + Apps +

+
+

+ + Music: + + Poweramp + +

+

+ + Files: + + MiXplorer Beta + +

+

+ + Telegram Client: + + Nekogram + +

+

+ + YouTube: + + Tubular + +

+
+
+
+

+ + Modules +

+
    +
  • + + bindhosts + +
  • +
  • + + Magisk iOS Emoji + +
  • +
+
+
+
+
+
+
+
+
+
+ ) +} + diff --git a/app/device/cheetah/page.tsx b/app/device/cheetah/page.tsx new file mode 100644 index 0000000..f6d21e6 --- /dev/null +++ b/app/device/cheetah/page.tsx @@ -0,0 +1,259 @@ +import Header from "@/components/Header" +import Footer from "@/components/Footer" +import { + Cpu, + MemoryStick, + HardDrive, + Hash, + Hammer, + Music, + Folder, + Layers, + SquarePen +} from "lucide-react" +import { FaGoogle, FaYoutube } from "react-icons/fa" +import { VscTerminalLinux } from "react-icons/vsc" +import { MdOutlineAndroid } from "react-icons/md" +import { LuPackageOpen } from "react-icons/lu" +import { RiTelegram2Fill } from "react-icons/ri" +import Image from "next/image" +import Link from "@/components/objects/Link" +import { FaStarHalfStroke, FaStar } from "react-icons/fa6" + +export default function Cheetah() { + return ( +
+
+
+
+
+
+ Google Pixel 7 Pro (cheetah) +
+
+
+

+ + Pixel 7 Pro +

+

cheetah

+
+
+
+
+

+ + Specs +

+
+

+ + CPU: Google Tensor G2 +

+

+ + Storage: 128GB +

+

+ + RAM: 12GB +

+
+
+
+

+ + Modifications +

+
+

+ + Kernel: + 6.1.129-android14 +

+

+ + ROM: + + Android 16 QPR1 + +

+

+ + Root: + + KernelSU-Next + +

+
+
+
+
+
+

+ + Apps +

+
+

+ + Music: + + Qobuz + +

+

+ + Files: + + MiXplorer Beta + +

+

+ + TG Client: + + AyuGram + +

+

+ + YouTube: + + ReVanced Extended + +

+
+
+
+

+ + Modules +

+
    +
  • + + Tricky Store + +
  • +
  • + + Yurikey Manager + +
  • +
  • + + Shamiko + +
  • +
  • + + LSPosed JingMatrix + +
  • +
  • + + Zygisk Next + +
  • +
+
+
+
+
+

+ + Review +

+
+

+ Rating: + + + +

+
+

+ Coming from a Galaxy A32 5G, the Pixel 7 Pro is a massive upgrade. The Tensor chip is highly performant, and with 12GB of RAM, the device is extremely snappy. +

+

+ I have had some issues with battery, although this may be due to Play Integrity Fix, which is known to consume battery. However, the camera has been a massive improvement, and the photos it is capable of taking are amazing. +

+

+ While the volume buttons did fall off, I do not discredit them for this, as Android makes it easy to have customizable on-screen volume buttons, something iPhones do not have. +

+
+
+
+
+
+
+
+
+
+
+
+ ) +} + diff --git a/app/music/page.tsx b/app/music/page.tsx deleted file mode 100644 index dacb362..0000000 --- a/app/music/page.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import Header from '@/components/Header' -import MusicWidget from '@/components/widgets/Music' -import MusicInfo from '@/components/objects/MusicInfo' -import Footer from '@/components/Footer' -import { Music as MusicNote } from "lucide-react"; - -export default function Music() { - return ( -
-
-
-
- -
-

- Music and Me -

-
- - -
-
-
-
- ) -} \ No newline at end of file diff --git a/app/page.tsx b/app/page.tsx index 2df63fe..9f23faa 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -3,7 +3,6 @@ import Header from '@/components/Header' import Footer from '@/components/Footer' import Button from '@/components/objects/Button' -import Link from '@/components/objects/Link' import LastPlayed from '@/components/widgets/NowPlaying' import Image from 'next/image' import { CreditCard, Mail, PillBottle, Scale } from 'lucide-react' @@ -53,15 +52,6 @@ export default function Home() { {mainStrings[secIndex].map((text: string, index: number) => (

{text} - {secIndex === 2 && index === 2 && ( - <> - {' '} - - CVE-2025-29927 - - . - - )}

))} @@ -80,7 +70,6 @@ export default function Home() {

{t('home.donation.title')}

{t('home.donation.description')}

-

{t('home.donation.charities.title')}

- ) -} - diff --git a/app/time-periods/early-summer-2024/page.tsx b/app/time-periods/early-summer-2024/page.tsx deleted file mode 100644 index 15869fd..0000000 --- a/app/time-periods/early-summer-2024/page.tsx +++ /dev/null @@ -1,15 +0,0 @@ -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 ( -
-
-
- -
-
-
- ) -} \ No newline at end of file diff --git a/app/time-periods/early-summer-2024/what-was-going-on/page.tsx b/app/time-periods/early-summer-2024/what-was-going-on/page.tsx deleted file mode 100644 index 31a9ee4..0000000 --- a/app/time-periods/early-summer-2024/what-was-going-on/page.tsx +++ /dev/null @@ -1,15 +0,0 @@ -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 ( -
-
-
- -
-
-
- ) -} \ No newline at end of file diff --git a/app/time-periods/late-summer-2024/page.tsx b/app/time-periods/late-summer-2024/page.tsx deleted file mode 100644 index d45de92..0000000 --- a/app/time-periods/late-summer-2024/page.tsx +++ /dev/null @@ -1,15 +0,0 @@ -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 ( -
-
-
- -
-
-
- ) -} \ No newline at end of file diff --git a/app/time-periods/late-summer-2024/what-was-going-on/page.tsx b/app/time-periods/late-summer-2024/what-was-going-on/page.tsx deleted file mode 100644 index 353e524..0000000 --- a/app/time-periods/late-summer-2024/what-was-going-on/page.tsx +++ /dev/null @@ -1,15 +0,0 @@ -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 ( -
-
-
- -
-
-
- ) -} \ No newline at end of file diff --git a/components/Header.tsx b/components/Header.tsx index 4c8efbd..68cc54e 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -2,7 +2,18 @@ import React, { useState, useRef, useEffect } from 'react' import Link from 'next/link' -import { House, Link as LinkIcon, User, Phone, BookOpen, Music, Rss, X, Menu, Globe, ChevronDown } from 'lucide-react' +import { + House, + Link as LinkIcon, + User, + Phone, + BookOpen, + Rss, + X, + Menu, + Globe, + ChevronDown +} from 'lucide-react' import { useTranslation } from 'react-i18next' interface NavItemProps { @@ -25,7 +36,7 @@ const LanguageSelector = () => { const [isOpen, setIsOpen] = useState(false); const [isMobile, setIsMobile] = useState(false); const dropdownRef = useRef(null); - + const languages = [ { code: 'en-US', name: 'English' }, ]; @@ -34,7 +45,7 @@ const LanguageSelector = () => { const checkMobile = () => { setIsMobile(window.innerWidth < 1024); }; - + checkMobile(); window.addEventListener('resize', checkMobile); return () => window.removeEventListener('resize', checkMobile); @@ -77,7 +88,7 @@ const LanguageSelector = () => { return (
- {isOpen && ( -
Contact Domains Manifesto - Music Blog
diff --git a/components/objects/MusicInfo.tsx b/components/objects/MusicInfo.tsx deleted file mode 100644 index 450cf8e..0000000 --- a/components/objects/MusicInfo.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react'; -import Button from './Button'; - -interface TimePeriod { - title: string; - slug: string; -} - -const timePeriods: TimePeriod[] = [ - { title: 'Late Summer 2024', slug: 'late-summer-2024' }, - { title: 'Early Summer 2024', slug: 'early-summer-2024' }, -]; - -const MusicInfo: React.FC = () => { - return ( -
- {timePeriods.map((period) => ( -
-

{period.title}

-
- ))} -
- ); -}; - -export default MusicInfo; - diff --git a/components/objects/RandomFooterMsg.tsx b/components/objects/RandomFooterMsg.tsx index 41a86a4..5a5a4a4 100644 --- a/components/objects/RandomFooterMsg.tsx +++ b/components/objects/RandomFooterMsg.tsx @@ -1,14 +1,16 @@ +"use client" + import { SiNextdotjs, SiLucide, SiVercel, - SiCloudflarepages, SiSimpleicons, SiFontawesome, SiShadcnui, SiTailwindcss } from "react-icons/si" import Link from 'next/link' +import { useState, useEffect } from 'react' export const footerMessages = [ [ @@ -31,11 +33,6 @@ export const footerMessages = [ "https://vercel.com/font", ], - [ - "Hosted by Cloudflare", - "https://workers.cloudflare.com/", - - ], [ "Icons by Font Awesome", "https://fontawesome.com/", @@ -54,11 +51,30 @@ export const footerMessages = [ ] export default function RandomFooterMsg() { - const randomIndex = Math.floor(Math.random() * footerMessages.length) + const [randomIndex, setRandomIndex] = useState(0) + const [isMounted, setIsMounted] = useState(false) + + useEffect(() => { + setIsMounted(true) + setRandomIndex(Math.floor(Math.random() * footerMessages.length)) + }, []) + + if (!isMounted) { + const [message, url, icon] = footerMessages[0] + return ( + +
+ {icon} + {message} +
+ + ) + } + const [message, url, icon] = footerMessages[randomIndex] return ( - +
{icon} {message} diff --git a/components/pages/time-periods/early-summer-2024/WhatWasGoingOn.tsx b/components/pages/time-periods/early-summer-2024/WhatWasGoingOn.tsx deleted file mode 100644 index 6689389..0000000 --- a/components/pages/time-periods/early-summer-2024/WhatWasGoingOn.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react' -import BackButton from '@/components/objects/BackButton' - -const WhatWasGoingOnLateSummer2024: React.FC = () => { - return ( -
-

- What was going on during the start of summer 2024? -

-
-

- During Early Summer 2024, I was walking a ton in towns all across Massachusetts. During this time, I would listen to a lot of music. I regret not finding out about LastFM for so long... During this time, I was always happy, especially when I had music or a YouTube video playing. I would also call my friends often during this time. -

-

Context

-

- This summer was the one where I came back from my abusive treatment center. I was finally free from the place that had been holding me back for so long. So as you can imagine, I felt free as a bird. -

-

- With this chance to explore, being in so many different towns, I really had a good time and made good memories, which I will not be writing about. -

- -
-
- ); -}; - -export default WhatWasGoingOnLateSummer2024; \ No newline at end of file diff --git a/components/pages/time-periods/late-summer-2024/WhatWasGoingOn.tsx b/components/pages/time-periods/late-summer-2024/WhatWasGoingOn.tsx deleted file mode 100644 index 9f5b03c..0000000 --- a/components/pages/time-periods/late-summer-2024/WhatWasGoingOn.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react' -import BackButton from '@/components/objects/BackButton' - -const WhatWasGoingOnLateSummer2024: React.FC = () => { - return ( -
-

- What was going on during the end of summer 2024? -

-
-

- During late summer 2024, my depression and the "after effects" of treatment really kicked in. I had quit going to my therapist as I didn't feel like they were doing much of anything for me. I am very happy to say that since I quit my therapist, I have been doing much better. -

-

- At this time, the baseball season was over, so I was walking around much less. I was still listening to a lot of music and I started getting into less depressed songs. I was also starting to get into more "normal" music, which was an interesting phase (which I believe I'm still in). -

-

- A highlight of late summer 2024 was a vacation I took. This vacation has entire albums which remind me of it and I will always cherish those memories deeply. -

- -
-
- ); -}; - -export default WhatWasGoingOnLateSummer2024; diff --git a/components/widgets/FeaturedRepos.tsx b/components/widgets/FeaturedRepos.tsx index 36e76ab..7dc5ef6 100644 --- a/components/widgets/FeaturedRepos.tsx +++ b/components/widgets/FeaturedRepos.tsx @@ -1,9 +1,8 @@ -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 Link from 'next/link' -import { cn } from '@/lib/utils' +import { SiGithub, SiForgejo } from "react-icons/si" +import { TbStar, TbGitBranch } from "react-icons/tb" +import featuredProjects from "@/public/data/featured.json" +import Link from "next/link" +import { cn } from "@/lib/utils" export default function GitHubFeatured({ className }: { className?: string }) { return ( @@ -11,16 +10,16 @@ export default function GitHubFeatured({ className }: { className?: string }) { {featuredProjects.map((project) => (
-

- {project.name} +

+ {project.github ? : } {project.name}

{project.description}

View Repo
- {project.stars} - {project.forks} + {project.stars} + {project.forks}
diff --git a/components/widgets/Music.tsx b/components/widgets/Music.tsx deleted file mode 100644 index ca3dce3..0000000 --- a/components/widgets/Music.tsx +++ /dev/null @@ -1,127 +0,0 @@ -"use client" - -import { useState, useEffect } from "react" -import Image from "next/image" -import { Play, SkipBack, SkipForward } from "lucide-react" -import LoadingSpinner from "../objects/LoadingSpinner" -import { SeekBar } from "@/components/objects/SeekBar" - -interface Song { - albumArt: string - name: string - artist: string - duration: string - link?: string -} - -interface Period { - timePeriod: string - songs: Song[] -} - -export default function Home() { - const [timePeriod, setTimePeriod] = useState("Early Summer 2024") - const [songs, setSongs] = useState([]) - const [currentIndex, setCurrentIndex] = useState(0) - const [isLoading, setIsLoading] = useState(true) - const [currentPosition, setCurrentPosition] = useState(0) - - useEffect(() => { - setIsLoading(true) - fetch("/data/music.json") - .then((response) => response.json()) - .then((data: Period[]) => { - const selectedPeriod = data.find((period) => period.timePeriod === timePeriod) - const songsList = selectedPeriod ? selectedPeriod.songs : [] - setSongs(songsList) - const newIndex = Math.floor(Math.random() * songsList.length) - setCurrentIndex(newIndex) - // Set initial random position for the selected song - if (songsList.length > 0) { - const durationInSeconds = parseDuration(songsList[newIndex]?.duration || "0:00") - setCurrentPosition(Math.floor(Math.random() * durationInSeconds)) - } - setIsLoading(false) - }) - .catch((error) => { - console.error("Error fetching music data:", error) - setIsLoading(false) - }) - }, [timePeriod]) - - const handleNext = () => { - setCurrentIndex((prevIndex) => { - const nextIndex = (prevIndex + 1) % songs.length - const durationInSeconds = parseDuration(songs[nextIndex].duration) - setCurrentPosition(Math.floor(Math.random() * durationInSeconds)) - return nextIndex - }) - } - - const handlePrevious = () => { - setCurrentIndex((prevIndex) => { - const nextIndex = (prevIndex - 1 + songs.length) % songs.length - const durationInSeconds = parseDuration(songs[nextIndex].duration) - setCurrentPosition(Math.floor(Math.random() * durationInSeconds)) - return nextIndex - }) - } - - const parseDuration = (duration: string): number => { - const [minutes, seconds] = duration.split(":").map(Number) - return minutes * 60 + seconds - } - - return ( -
- -
- ) -} - diff --git a/public/data/featured.json b/public/data/featured.json index f28b2ea..807371e 100644 --- a/public/data/featured.json +++ b/public/data/featured.json @@ -4,35 +4,35 @@ "name": "aidxnCC", "description": "aidxnCC is the third version of my personal website", "github": false, - "url": "https://git.pontusmail.org/aidan/aidxnCC", - "stars": 2, - "forks": 1 + "url": "https://git.p0ntus.com/aidan/aidxnCC", + "stars": 1, + "forks": 0 }, { "id": 2, - "name": "librecloud/web", + "name": "abocn/TelegramBot", "description": "Landing page for p0ntus mail", - "github": false, - "url": "https://git.pontusmail.org/librecloud/web", + "github": true, + "url": "https://github.com/abocn/TelegramBot", + "stars": 13, + "forks": 6 + }, + { + "id": 3, + "name": "mail-connect", + "description": "API bridge for docker-mailserver", + "github": true, + "url": "https://github.com/ihatenodejs/mail-connect", "stars": 0, "forks": 0 }, - { - "id": 3, - "name": "modules", - "description": "An open-source Magisk module and FOSS app store", - "github": false, - "url": "https://git.pontusmail.org/aidan/modules", - "stars": 3, - "forks": 0 - }, { "id": 4, - "name": "AndroidIntegrity/website", - "description": "AIA website source code", - "github": true, - "url": "https://github.com/AndroidIntegrity/website", - "stars": 6, - "forks": 1 + "name": "pontus/pontus-front", + "description": "The frontend and API for p0ntus, my free privacy-focused service provider", + "github": false, + "url": "https://git.p0ntus.com/pontus/pontus-front", + "stars": 1, + "forks": 0 } ] diff --git a/public/data/music.json b/public/data/music.json deleted file mode 100644 index 8c01d75..0000000 --- a/public/data/music.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - { - "timePeriod": "Early Summer 2024", - "songs": [ - { - "albumArt": "https://p0ntus.com/archives/img/noticeme.png", - "name": "Notice Me", - "artist": "tobi lou feat. MIA GLADSTONE", - "duration": "2:35", - "link": "https://www.last.fm/music/tobi+lou/Notice+Me" - }, - { - "albumArt": "https://p0ntus.com/archives/img/comforttexas.webp", - "name": "comfort, texas", - "artist": "Buppy.", - "duration": "2:11", - "link": "https://www.last.fm/music/Buppy./comfort,+texas" - }, - { - "albumArt": "https://p0ntus.com/archives/img/nonperishable.webp", - "name": "Jelly", - "artist": "tobi lou", - "duration": "1:50", - "link": "https://www.last.fm/music/tobi+lou/_/Jelly" - }, - { - "albumArt": "https://p0ntus.com/archives/img/exes.webp", - "name": "exes", - "artist": "Tate McRae", - "duration": "2:39", - "link": "https://www.last.fm/music/Tate+McRae/exes/exes" - }, - { - "albumArt": "https://p0ntus.com/archives/img/ick.webp", - "name": "Ick", - "artist": "Lay Bankz", - "duration": "1:55", - "link": "https://www.last.fm/music/Lay+Bankz/_/Ick" - }, - { - "albumArt": "https://p0ntus.com/archives/img/nani.webp", - "name": "NANi", - "artist": "Saweetie", - "duration": "2:34", - "link": "https://www.last.fm/music/Saweetie/Nani" - }, - { - "albumArt": "https://p0ntus.com/archives/img/killerloverboy.webp", - "name": "killer lover boy", - "artist": "SEB", - "duration": "2:14", - "link": "https://www.last.fm/music/Seb/_/killer+lover+boy" - } - ] - } - ] \ No newline at end of file diff --git a/public/img/bonito.png b/public/img/bonito.png new file mode 100644 index 0000000000000000000000000000000000000000..4b418e7f68f0324791b91cb09566b773596a592e GIT binary patch literal 42345 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

tmI>a33`!E(NSK1M|qg=(Vy4G#Ku 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 z z?YG_fvEeY=8jVJ{T(QPtO?ysc9_A53)#YtwiuVfBdV4z)UUT`Z^}p#g@1{lzTp65q zIPVw^mdFMJciU|@ef)}d+G7em0d|Z#4;=lzCGFRaQ+`B-8A6*iDSB z>zLfD2DK#7mETt0dA#!+KYpC$rR66N9lG`lSG?06Q|Jk>W4!f!@7uiX_LIMI;J^U| zm`o-`AuCMRu`TK{wkf4fD^ z#b2=Iuq}?eoAYXWA13*P(P+fJeJk8{^0r_9sh|3(J_Ec5=m~HSaQ7{D{Q99IhrfQ} z#Pv+_NvQHSc4pRaCrfCj4C*4=zgp4kw|zBP%DX{n1y{Ooc2LW15_^IXgEbcKJzHB_ zWH#g4>#k+rzI|uj@%Fd<8y4z&>9Je%1h@zI;h*}cwQqmJoBr3M#}4PqOUvXg$9Y$j z#avD|!z>cK+T=ISGMk0gE|3;WXcj@d`cb)+b|@0B{-8BKyWHiB$775!EH5u}^vF@Y z^Ugc}#gG2z`<~pRlm2s$o&fg<_ncq<(5*M$@@sdVyaRx(tu4mm=~m(0$Up5CuO`c| zs%tmTqWxyVygJ9W^_xE+s*3ZD$z+1d9huEIdGaL3k6-hr?|IMn{d0OdQ}59L00iVo zL_t*RZ_n_}^b`9{hu`^~-#PZt4}bV04?q6!TORuQ*V*3QM#M544udjC;VM<-pnNMy z%(5DGLbYwKZCN_rZcy(eiB?+0 zW3pX+Ce`z?#)8k8x83@+JMX-c(P)G*u)V#_c$^o7!oXZN^3`fFwbcO@*6)4G_xyM7|GA(0;;v7)$F9)# z0`D>Y=KJ6Ojeq|uzxWeIop}=`E znUGI%M#B^r4sP#_H=Vfj-S^)6_b;yhPrpU)`tCV;7x*gSL%;SbH~sNv@B6n;Jo(fQ zJo?xZa{BaHa-TH)k|hz8QBs*nQ~02**LPlaxM`W}=ngJ`CNZ~Vwv9D-=Pxta(-2Fz z!r{qDeYyF6b@`6xGv^wrF72%Srx>5A;&O+v<+ud#j{W=hbH^QbaO~RSFTM49-uCzY z!T<0NKZNw;cQw!x;8ny&Kl<-hKmW-G|Hp@)c;e^JoIQK!iKm`n?fg0NNhCRI$ZS^J zEagm*dVSn1RBz_0^m=ny8!^s8+TOcZ^VcHnz8i>0p>AyKv=qK+7+gj&y!xs2s-)9A z-|C!_w(BgC5GI^U?(!Xz7>Uf=)@hp)QhnWK(_KK`dor6b7!J7U`V*YE_F8}a_1Ay; z-tYaM|Ndux_V0eB^(1=i33>v&%21I1`pI%5F_G~iDm>}^t0KLR>9N`N=)9YX`|aPqpKGqUh64xp>5(Ic zpML%8UjNVDaQ!X6@|WNL{);=FM32tV6W}X^PkiDZXU{%+;tgN^%2$8#<(E(WrHxCM zPHt{)E=?vm-YL!pt7kHq%p^mYjxjZfp}Ad?q~^JR>DbAwRn^kPjmN0Eywm%u6P)u7 zYwS#-st9Tqlk!xxHKQFY!#W|&bMc$jv`Cnwmn^(l*FTFO)k~{LZF+7j46*@(;ef$l zz;HO!<>lp#BZrSXc*|`!|Htoo^BaHjz3+YBi>*8FvFGRs@Ku2O@Bf{ZC!f4{$K#Jb z{GDgk&fhuS9=~>bd%Ute9_!ZTM#v0Ekd3Ma@l{1~mj`9`%AoWFuMQC_*2oA&bDwWp zGhi~=#w%EpB$}vf({M>8Ov|uYhRcI>7N?LDk7=1PMvOH}0vW=kz+26)SdimS|BHxd z<)XxdxT13|&Ipdg;?lK+RedoruW6BiF}8Y$IwZKO)*G~44EE# ahyNc}Y(#HfMa;VZ0000