let's move stuff around

This commit is contained in:
MeowcaTheoRange 2024-05-07 01:15:25 -05:00
parent b3f340f4a5
commit 75f7a7ed61
23 changed files with 42 additions and 243 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,6 @@
import { NextRequest } from "next/server";
export async function GET(request: NextRequest) {
return Response.redirect("https://cdn.abtmtr.link/site_content/favicon.ico");
}

View file

@ -1,54 +0,0 @@
[
{
"name": "abtmtr.link",
"main": {
"title": "Systems Administrator",
"email": "me@abtmtr.link",
"url": "https://abtmtr.link/"
},
"involvement": [
{
"description": "It's me",
"start": "August 2023"
}
]
},
{
"name": "Fyra Labs",
"main": {
"title": "Artist in Residence",
"email": "mtr@fyralabs.com",
"url": "https://fyralabs.com/about/"
},
"involvement": [
{
"description": "Drew Plasmanine art for Jaiden and Lleyton",
"date": "March 2024"
},
{
"description": "Testing for UM on ARM Chromebooks",
"supervisor": "Owen Zimmerman",
"start": "April 2024"
},
{
"description": "Miscellaneous involvement",
"start": "April 2024"
}
]
},
{
"name": "Team Elrant",
"main": {
"title": "Member",
"email": "abtmtr@elrant.team",
"url": "https://github.com/orgs/elrant/people"
},
"involvement": [
{
"_type": "default",
"description": "Member",
"start": "May 2024"
}
]
}
]

View file

@ -1,42 +1,60 @@
import { MainLayout } from "@/layout/MainLayout/MainLayout"; import { MainLayout } from "@/layout/MainLayout/MainLayout";
import Link from "next/link"; import Link from "next/link";
import o from "./organizations.json"; import { ConditionalNull, ConditionalParent } from "@/components/utility/Conditional";
import { ConditionalNull } from "@/components/utility/Conditional";
export default async function Home() { export default async function Home() {
const o = await fetch("https://cdn.abtmtr.link/site_content/organizations.json").then(x=>x.json()).catch(_ => null);
const organizations: { const organizations: {
name: string, name: string,
url: string,
main: { main: {
title: string, title?: string,
email?: string, email?: string,
url: string url?: string,
}, },
involvement: { involvement: {
description: string, description: string,
supervisor?: string, supervisor?: string,
url?: string,
start?: string, start?: string,
date?: string, date?: string,
end?: string end?: string
}[] }[]
}[] = o; }[] = o.reverse();
return ( return (
<MainLayout currentPage="/orgs/" title="Organizations"> <MainLayout currentPage="/orgs/" title="Organizations">
<img className="headerImage" src="/headers/orgs.png" alt="ORGANIZATIONS"></img> <img className="headerImage" src="/headers/orgs.png" alt="ORGANIZATIONS"></img>
<p>Organizations, corporations, companies, or just general groups I'm a part of.</p> <p>Organizations I've contributed to, corporations/companies I've done work for, or just general groups I'm a part of.</p>
<p>All of it's listed here, as well as my work for them.</p> <p>All of it's listed here, as well as what I've done.</p>
{organizations.map((organization) => (<div style={{margin: "2em 0"}}> {organizations.map((organization) => (<div style={{margin: "2em 0"}}>
<h2>{organization.name}</h2> <h2><a target="_blank" href={organization.url}>{organization.name}</a></h2>
<p><a href={organization.main.url}>{organization.main.title}</a> <p>
<ConditionalNull condition={organization.main.title != null}>
<ConditionalParent condition={organization.main.url != null} parent={x =>
<a target="_blank" href={organization.main.url}>{x}</a>
}>
{organization.main.title}
</ConditionalParent>
</ConditionalNull>
<ConditionalNull condition={organization.main.title != null && organization.main.email != null}>
{" - "}
</ConditionalNull>
<ConditionalNull condition={organization.main.email != null}> <ConditionalNull condition={organization.main.email != null}>
{" - "}<a href={`mailto:${organization.main.email}`}>{organization.main.email}</a> <a href={`mailto:${organization.main.email}`}>{organization.main.email}</a>
</ConditionalNull> </ConditionalNull>
</p> </p>
{organization.involvement.map((involvement) => (<> {organization.involvement.reverse().map((involvement) => (<>
<blockquote> <blockquote>
<p>{involvement.description}</p> <p>
<ConditionalParent condition={involvement.url != null} parent={x =>
<a target="_blank" href={involvement.url}>{x}</a>
}>
{involvement.description}
</ConditionalParent>
</p>
<p> <p>
<ConditionalNull condition={involvement.supervisor != null}> <ConditionalNull condition={involvement.supervisor != null}>
<small>{involvement.supervisor}</small> <small>w/ {involvement.supervisor}</small>
</ConditionalNull> </ConditionalNull>
<ConditionalNull condition={involvement.supervisor != null && (involvement.start || involvement.date) != null}> <ConditionalNull condition={involvement.supervisor != null && (involvement.start || involvement.date) != null}>
<small>{" - "}</small> <small>{" - "}</small>

View file

@ -1,12 +1,12 @@
import { MainLayout } from "@/layout/MainLayout/MainLayout"; import { MainLayout } from "@/layout/MainLayout/MainLayout";
import Link from "next/link"; import Link from "next/link";
import buttons from "@/buttons.json";
import Searchbar from "@/components/Searchbar/Searchbar"; import Searchbar from "@/components/Searchbar/Searchbar";
export default async function Home() { export default async function Home() {
const data = await fetch("https://pronouns.cc/api/v1/users/mtr").then(x=>x.json()); const buttons = await fetch("https://cdn.abtmtr.link/site_content/buttons.json").then(x=>x.json()).catch(_ => null);
const data = await fetch("https://pronouns.cc/api/v1/users/mtr").then(x=>x.json()).catch(_ => null);
const domainreq = await fetch("https://blog.abtmtr.link/api/collections/paste/posts/domain") const domainreq = await fetch("https://blog.abtmtr.link/api/collections/paste/posts/domain")
.then(x=>x.json()); .then(x=>x.json()).catch(_ => "[]");
const domains = JSON.parse(domainreq?.data?.body.replace(/[“”]/g, "\"")) ?? []; const domains = JSON.parse(domainreq?.data?.body.replace(/[“”]/g, "\"")) ?? [];
const goodNames = data.names.filter((x:{status:string})=>x.status == "okay"); const goodNames = data.names.filter((x:{status:string})=>x.status == "okay");
@ -39,95 +39,11 @@ export default async function Home() {
flexWrap: "wrap", flexWrap: "wrap",
padding: 8, padding: 8,
gap: 8 gap: 8
}}>{buttons.map((button) => ( }}>{buttons.map((button:{href: string, img: string, alt: string}) => (
<Link href={button.href} target="_blank"> <Link href={button.href} target="_blank">
<img src={button.img} title={button.alt} alt={button.alt} width="88" height="31" /> <img src={button.img} title={button.alt} alt={button.alt} width="88" height="31" />
</Link> </Link>
))}</div> ))}</div>
</MainLayout> </MainLayout>
) )
} }
/*
{
"id": "clhd8desmggedm3q1t3g",
"id_new": "251576323070604865",
"sid": "qftsk",
"name": "mtr",
"display_name": "abtmtr.link: FURRY REVOLUTION",
"bio": "https://abtmtr.link/\nminor (16)\nabtmtr.link sysadmin\n🇩🇴 & 🏳️‍⚧️-ish & pluralflux ND 󠁛󠀣󠀰󠀰󠀰󠀰󠀰󠀰󠀬󠀣󠁦󠁦󠀴󠀰󠀰󠀰󠁝",
"member_title": "Managers",
"avatar": "dfa7038db301508df749772f07ae9302fb0b9d71dff6770f9a6fefb6cf16f2e3",
"links": [
"https://last.fm/user/MeowcaTheoRange",
"https://liberapay.com/abtmtr.link/",
"https://beta.trollcall.xyz/clan/meowcatheorange",
"https://movie-web.app/",
"https://picrew.me/en/image_maker/92646",
"https://pronouns.cc/@mtr"
],
"names": [
{
"value": "MeowcaTheoRange",
"status": "okay"
},
{
"value": "abtmtr.link",
"status": "okay"
},
{
"value": "Theo",
"status": "okay"
}
],
"pronouns": [
{
"pronouns": "[any]",
"display_text": null,
"status": "okay"
}
],
"members": [
{
"id": "cng1h37m985pb3k8ohe0",
"id_new": "286009441537261082",
"sid": "shdvoo",
"name": "MeowcaTheoRange",
"display_name": "MeowcaTheoRange",
"bio": "totality in association.",
"avatar": "a686a0bfeeb19ce6591a3bef6bb0f4ff38586f0d75b857cb21c3d86ae42b39e4",
"links": [
],
"names": [
{
"value": "Theo",
"status": "okay"
},
{
"value": "Thea",
"status": "okay"
}
],
"pronouns": [
{
"pronouns": "[any]",
"display_text": null,
"status": "okay"
}
]
}
],
"fields": [
],
"custom_preferences": {
},
"flags": [
],
"badges": 0,
"utc_offset": -18000
}
*/

View file

@ -1,87 +0,0 @@
[
{
"href": "https://jaiden.sh/",
"img": "/88x31/jaiden_sh.png",
"alt": "jaiden.sh"
},
{
"href": "https://owenzimmerman.com/",
"img": "/88x31/owenzimmerman_com.png",
"alt": "owenzimmerman.com"
},
{
"href": "https://arimelody.me/",
"img": "/88x31/arimelody_me.gif",
"alt": "arimelody.me"
},
{
"href": "https://freeplay.floof.company/",
"img": "/88x31/freeplay_floof_company.png",
"alt": "freeplay.floof.company"
},
{
"href": "https://invoxiplaygames.uk/",
"img": "/88x31/invoxiplaygames_uk.png",
"alt": "invoxiplaygames.uk"
},
{
"href": "https://ioletsgo.gay/",
"img": "/88x31/ioletsgo_gay.gif",
"alt": "ioletsgo.gay"
},
{
"href": "https://mae.wtf/",
"img": "/88x31/mae_wtf.png",
"alt": "mae.wtf"
},
{
"href": "https://micro.pages.gay/",
"img": "/88x31/micro_pages_gay.png",
"alt": "micro.pages.gay"
},
{
"href": "https://sneexy.pages.gay/",
"img": "/88x31/sneexy_pages_gay.gif",
"alt": "sneexy.pages.gay"
},
{
"href": "https://whois.slipfox.xyz/",
"img": "/88x31/whois_slipfox_xyz.png",
"alt": "whois.slipfox.xyz"
},
{
"href": "https://moth.monster/",
"img": "/88x31/moth_monster.png",
"alt": "moth.monster"
},
{
"href": "https://translunar.academy/",
"img": "/88x31/translunar_academy.png",
"alt": "translunar.academy"
},
{
"href": "https://ultramarine-linux.org/",
"img": "/88x31/esoteric/gnu-linux.gif",
"alt": "Made on GNU/Linux"
},
{
"href": "https://abtmtr.link/projects/item/normalize",
"img": "/88x31/esoteric/html.gif",
"alt": "<HTML> - Learn it today!"
},
{
"href": "https://vivaldi.com",
"img": "/88x31/esoteric/vivaldi.gif",
"alt": "I use Vivaldi"
},
{
"href": "https://ublockorigin.com",
"img": "/88x31/esoteric/ublock.png",
"alt": "uBlock Origin Now!"
},
{
"href": "https://channelstore.roku.com/details/7da3fa0c2209746730df8a4e21e83b02",
"img": "/88x31/esoteric/xkcd.gif",
"alt": "xkcd"
}
]