let's move stuff around
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 550 B |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 690 B |
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 25 KiB |
6
src/app/favicon.ico/route.tsx
Normal 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");
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -1,42 +1,60 @@
|
|||
import { MainLayout } from "@/layout/MainLayout/MainLayout";
|
||||
import Link from "next/link";
|
||||
import o from "./organizations.json";
|
||||
import { ConditionalNull } from "@/components/utility/Conditional";
|
||||
import { ConditionalNull, ConditionalParent } from "@/components/utility/Conditional";
|
||||
|
||||
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: {
|
||||
name: string,
|
||||
url: string,
|
||||
main: {
|
||||
title: string,
|
||||
title?: string,
|
||||
email?: string,
|
||||
url: string
|
||||
url?: string,
|
||||
},
|
||||
involvement: {
|
||||
description: string,
|
||||
supervisor?: string,
|
||||
url?: string,
|
||||
start?: string,
|
||||
date?: string,
|
||||
end?: string
|
||||
}[]
|
||||
}[] = o;
|
||||
}[] = o.reverse();
|
||||
return (
|
||||
<MainLayout currentPage="/orgs/" title="Organizations">
|
||||
<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>All of it's listed here, as well as my work for them.</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 what I've done.</p>
|
||||
{organizations.map((organization) => (<div style={{margin: "2em 0"}}>
|
||||
<h2>{organization.name}</h2>
|
||||
<p><a href={organization.main.url}>{organization.main.title}</a>
|
||||
<h2><a target="_blank" href={organization.url}>{organization.name}</a></h2>
|
||||
<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}>
|
||||
{" - "}<a href={`mailto:${organization.main.email}`}>{organization.main.email}</a>
|
||||
<a href={`mailto:${organization.main.email}`}>{organization.main.email}</a>
|
||||
</ConditionalNull>
|
||||
</p>
|
||||
{organization.involvement.map((involvement) => (<>
|
||||
{organization.involvement.reverse().map((involvement) => (<>
|
||||
<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>
|
||||
<ConditionalNull condition={involvement.supervisor != null}>
|
||||
<small>{involvement.supervisor}</small>
|
||||
<small>w/ {involvement.supervisor}</small>
|
||||
</ConditionalNull>
|
||||
<ConditionalNull condition={involvement.supervisor != null && (involvement.start || involvement.date) != null}>
|
||||
<small>{" - "}</small>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import { MainLayout } from "@/layout/MainLayout/MainLayout";
|
||||
import Link from "next/link";
|
||||
import buttons from "@/buttons.json";
|
||||
import Searchbar from "@/components/Searchbar/Searchbar";
|
||||
|
||||
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")
|
||||
.then(x=>x.json());
|
||||
.then(x=>x.json()).catch(_ => "[]");
|
||||
const domains = JSON.parse(domainreq?.data?.body.replace(/[“”]/g, "\"")) ?? [];
|
||||
|
||||
const goodNames = data.names.filter((x:{status:string})=>x.status == "okay");
|
||||
|
@ -39,95 +39,11 @@ export default async function Home() {
|
|||
flexWrap: "wrap",
|
||||
padding: 8,
|
||||
gap: 8
|
||||
}}>{buttons.map((button) => (
|
||||
}}>{buttons.map((button:{href: string, img: string, alt: string}) => (
|
||||
<Link href={button.href} target="_blank">
|
||||
<img src={button.img} title={button.alt} alt={button.alt} width="88" height="31" />
|
||||
</Link>
|
||||
))}</div>
|
||||
</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
|
||||
}
|
||||
*/
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
]
|