Major theme updates, formatting, updated every page's information.
This commit is contained in:
parent
93a29dfb32
commit
7ebdfdf404
@ -8,11 +8,12 @@ export default function BasicPage({
|
||||
card_title,
|
||||
children,
|
||||
back_url,
|
||||
page_button_title,
|
||||
}) {
|
||||
const url = Boolean(back_url) ? back_url : "/";
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-werefox-grey-lighter dark:bg-werefox-grey-dark font-nerd">
|
||||
<div className="min-h-screen bg-werefox-grey-light dark:bg-werefox-grey font-nerd">
|
||||
<Head>
|
||||
<title>{page_title}</title>
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
@ -21,7 +22,7 @@ export default function BasicPage({
|
||||
<TCard card_title={card_title} />
|
||||
<nav>
|
||||
<PButton
|
||||
title="Take me back home!"
|
||||
title={page_button_title}
|
||||
images={[
|
||||
{ src: "/emoji/pixel_alexis.png", alt: "Pixel Alexis!" },
|
||||
{ src: "/emoji/blue_heart.svg", alt: "Blue heart" },
|
||||
@ -32,7 +33,7 @@ export default function BasicPage({
|
||||
{children}
|
||||
<nav>
|
||||
<PButton
|
||||
title="Take me back home!"
|
||||
title={page_button_title}
|
||||
images={[
|
||||
{ src: "/emoji/pixel_alexis.png", alt: "Pixel Alexis!" },
|
||||
{ src: "/emoji/blue_heart.svg", alt: "Blue heart" },
|
||||
|
@ -2,7 +2,7 @@ import FCard from "./faq-card";
|
||||
|
||||
export default function FAQBlock({ faqs }) {
|
||||
return (
|
||||
<div className="p-4 space-y-4 rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<div className="p-4 space-y-4 rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lightest dark:bg-werefox-grey-dark">
|
||||
{Object.keys(faqs).map((faq) => (
|
||||
<FCard
|
||||
key={faq}
|
||||
|
@ -1,7 +1,7 @@
|
||||
import FButton from "./footer-button";
|
||||
export default function FooterCard() {
|
||||
return (
|
||||
<footer className="p-4 space-y-2 rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<footer className="p-4 space-y-2 rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lightest dark:bg-werefox-grey-dark">
|
||||
<div className="flex text-werefox-blue-darker dark:text-werefox-blue">
|
||||
<div className="flex-1"></div>
|
||||
<FButton url="/contacts" inner_text="Contact" />
|
||||
|
@ -4,7 +4,7 @@ import FCard from "../components/footer-card";
|
||||
|
||||
export default function HomePage({ page_title, card_title, children }) {
|
||||
return (
|
||||
<div className="min-h-screen bg-werefox-grey-lighter dark:bg-werefox-grey-dark font-nerd">
|
||||
<div className="min-h-screen bg-werefox-grey-light dark:bg-werefox-grey font-nerd">
|
||||
<Head>
|
||||
<title>{page_title}</title>
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
|
15
src/info/components/identity-card-button.js
Normal file
15
src/info/components/identity-card-button.js
Normal file
@ -0,0 +1,15 @@
|
||||
import Link from "next/link";
|
||||
|
||||
export default function IdentityCardButton({ url, button_text }) {
|
||||
return (
|
||||
<div>
|
||||
<Link href={url}>
|
||||
<a target="_blank">
|
||||
<div className="p-4 hover:text-werefox-pink-dark dark:hover:text-werefox-pink ring-2 ring-werefox-blue-dark dark:ring-werefox-blue hover:ring-werefox-pink-dark dark:hover:ring-werefox-pink hover:animate-yip transition">
|
||||
{button_text}
|
||||
</div>
|
||||
</a>
|
||||
</Link>
|
||||
</div>
|
||||
);
|
||||
}
|
18
src/info/components/identity-card-textbox.js
Normal file
18
src/info/components/identity-card-textbox.js
Normal file
@ -0,0 +1,18 @@
|
||||
export default function IdentityCardTextBox({ info }) {
|
||||
let infoarray = [];
|
||||
let infodict = {};
|
||||
if (info) {
|
||||
infoarray = info.split("\n");
|
||||
infoarray = infoarray.slice(0, infoarray.length - 1);
|
||||
infodict = Object.assign({}, infoarray);
|
||||
}
|
||||
return (
|
||||
<div className="p-4 text-center text-md sm:text-lg ring-2 ring-werefox-blue-dark dark:ring-werefox-blue">
|
||||
{Object.keys(infodict).map((i) => (
|
||||
<p className="overflow-auto" key={i}>
|
||||
{infodict[i] == "" ? <br /> : infodict[i]}
|
||||
</p>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
}
|
@ -1,143 +1,11 @@
|
||||
import Link from "next/link";
|
||||
import Image from "next/image";
|
||||
import WCard from "./werefox-card";
|
||||
|
||||
export default function IdentityCard({
|
||||
title,
|
||||
info,
|
||||
url,
|
||||
src,
|
||||
alt,
|
||||
src2,
|
||||
alt2,
|
||||
children,
|
||||
}) {
|
||||
let infoarray = [];
|
||||
let infodict = {};
|
||||
if (info) {
|
||||
infoarray = info.split("\n");
|
||||
infoarray = infoarray.slice(0, infoarray.length - 1);
|
||||
infodict = Object.assign({}, infoarray);
|
||||
}
|
||||
if (children) {
|
||||
export default function IdentityCard({ title, src, alt, children }) {
|
||||
return (
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<div className="p-2 space-y-3">
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<p className="p-4 text-center text-lg sm:text-2xl text-werefox-grey-dark dark:text-werefox-grey-lighter">
|
||||
<img
|
||||
className="object-contain relative inline-block w-8 h-8 align-middle mb-1"
|
||||
src={src}
|
||||
alt={alt}
|
||||
/>{" "}
|
||||
{title}
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-4 space-y-4 rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<WCard title={title} title_emoji={{ src: `${src}`, alt: `${alt}` }}>
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
</WCard>
|
||||
</div>
|
||||
);
|
||||
} else if (src2) {
|
||||
return (
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<div className="p-2 flow space-y-3">
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<p className="p-4 text-center text-lg sm:text-2xl text-werefox-grey-dark dark:text-werefox-grey-lighter">
|
||||
<img
|
||||
className="object-contain relative inline-block w-8 h-8 align-middle mb-1"
|
||||
src={src}
|
||||
alt={alt}
|
||||
/>{" "}
|
||||
{title}
|
||||
</p>
|
||||
</div>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<div className="p-4 space-y-4 text-center text-md sm:text-lg text-werefox-blue-dark dark:text-werefox-blue">
|
||||
{Object.keys(infodict).map((i) => (
|
||||
<p key={i}>{infodict[i] == "" ? <br /> : infodict[i]}</p>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<a href="https://twitter.com/ribbonfemale" target="_blank">
|
||||
<span className="relative inline-flex align-middle">
|
||||
<Image
|
||||
className="rounded-lg"
|
||||
src={src2}
|
||||
layout="intrinsic"
|
||||
width="2048"
|
||||
height="2048"
|
||||
alt={alt2}
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
} else if (url) {
|
||||
return (
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<div className="p-2 flow space-y-3" id={title}>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<p className="p-4 text-center text-lg sm:text-2xl text-werefox-grey-dark dark:text-werefox-grey-lighter">
|
||||
<img
|
||||
className="object-contain relative inline-block w-8 h-8 align-middle mb-1"
|
||||
src={src}
|
||||
alt={alt}
|
||||
/>{" "}
|
||||
{title}
|
||||
</p>
|
||||
</div>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<div className="p-4 space-y-4 text-center text-md sm:text-lg text-werefox-blue-dark dark:text-werefox-blue">
|
||||
{Object.keys(infodict).map((i) => (
|
||||
<p className="overflow-auto" key={i}>
|
||||
{infodict[i] == "" ? <br /> : infodict[i]}
|
||||
</p>
|
||||
))}
|
||||
</div>
|
||||
<div className="pb-4 text-center text-md sm:text-lg text-werefox-blue-dark dark:text-werefox-blue">
|
||||
<Link href={url}>
|
||||
<a
|
||||
target="_blank"
|
||||
className=" transition hover:text-werefox-pink-dark dark:hover:text-werefox-pink"
|
||||
>
|
||||
Learn More
|
||||
</a>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
return (
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<div className="p-2 flow space-y-3">
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<h4 className="p-4 text-center text-lg sm:text-2xl text-werefox-grey-dark dark:text-werefox-grey-lighter">
|
||||
<img
|
||||
className="relative inline-block w-8 h-8 align-middle mb-1"
|
||||
src={src}
|
||||
alt={alt}
|
||||
/>{" "}
|
||||
{title}
|
||||
</h4>
|
||||
</div>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<div className="p-4 space-y-4 text-center text-md sm:text-lg text-werefox-blue-dark dark:text-werefox-blue">
|
||||
{Object.keys(infodict).map((i) => (
|
||||
<p className="overflow-auto" key={i}>
|
||||
{" "}
|
||||
{infodict[i] == "" ? <br /> : infodict[i]}
|
||||
</p>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ import PButton from "./page-button";
|
||||
export default function ProjectBlock({ pages }) {
|
||||
return (
|
||||
<nav>
|
||||
<div className="flow space-y-2">
|
||||
<div className="flow space-y-4">
|
||||
{Object.keys(pages).map((page) => (
|
||||
<PButton
|
||||
key={page}
|
||||
|
@ -3,10 +3,10 @@ import Image from "next/image";
|
||||
|
||||
export default function PageButton({ title, images, url, extra_classes }) {
|
||||
return (
|
||||
<div className="p-1">
|
||||
<div>
|
||||
<Link href={url}>
|
||||
<a
|
||||
className={`${extra_classes} p-2 w-full inline-block text-lg text-center rounded-sm ring-2 ring-werefox-blue-dark dark:ring-werefox-blue hover:ring-werefox-pink-dark dark:hover:ring-werefox-pink text-werefox-blue-dark dark:text-werefox-blue hover:text-werefox-pink-dark dark:hover:text-werefox-pink focus:text-werefox-pink-dark dark:focus:text-werefox-pink hover:animate-yip transition`}
|
||||
className={`${extra_classes} p-2 w-full inline-block text-lg text-center rounded-sm ring-2 bg-werefox-grey-lightest dark:bg-werefox-grey-dark ring-werefox-blue-dark dark:ring-werefox-blue hover:ring-werefox-pink-dark dark:hover:ring-werefox-pink text-werefox-blue-dark dark:text-werefox-blue hover:text-werefox-pink-dark dark:hover:text-werefox-pink focus:text-werefox-pink-dark dark:focus:text-werefox-pink hover:animate-yip transition`}
|
||||
>
|
||||
{images.map((source) => (
|
||||
<span
|
||||
|
@ -19,7 +19,7 @@ export function renderPossibleURLField(field) {
|
||||
return (
|
||||
<Link href={field}>
|
||||
<a target="_blank">
|
||||
<div className="p-2 flex min-w-full min-h-full justify-center items-center align-middle ring-2 rounded-sm ring-werefox-blue-dark dark:ring-werefox-blue hover:ring-werefox-pink-dark dark:hover:ring-werefox-pink text-werefox-blue-dark dark:text-werefox-blue hover:text-werefox-pink-dark dark:hover:text-werefox-pink hover:animate-yip transition">
|
||||
<div className="p-2 flex min-w-full min-h-full justify-center items-center align-middle ring-2 rounded-sm ring-werefox-pink-dark dark:ring-werefox-pink hover:ring-werefox-blue-dark dark:hover:ring-werefox-blue text-werefox-pink-dark dark:text-werefox-pink hover:text-werefox-blue-dark dark:hover:text-werefox-blue hover:animate-yip transition">
|
||||
{field}
|
||||
</div>
|
||||
</a>
|
||||
@ -41,10 +41,10 @@ export default function PartnerCard({ src, alt, url, fields, bio, user }) {
|
||||
const biodict = Object.assign({}, bioarray);
|
||||
|
||||
return (
|
||||
<div className="p-4 flex-column space-y-4 break-all group rounded-sm ring-2 ring-werefox-pink-dark dark:ring-werefox-pink hover:ring-werefox-blue-dark dark:hover:ring-werefox-blue text-werefox-pink-dark dark:text-werefox-pink hover:text-werefox-blue-dark dark:hover:text-werefox-blue hover:animate-yip transition">
|
||||
<div className="p-4 flex-column space-y-4 break-all sm:text-sm text-xs text-center rounded-sm ring-2 ring-werefox-pink-dark dark:ring-werefox-pink">
|
||||
<Link href={url}>
|
||||
<a target="_blank">
|
||||
<div className="p-4 flex rounded-sm ring-2 ring-werefox-pink-dark dark:ring-werefox-pink group-hover:ring-werefox-blue-dark dark:group-hover:ring-werefox-blue">
|
||||
<div className="p-4 flex group rounded-sm ring-2 ring-werefox-pink-dark dark:ring-werefox-pink hover:ring-werefox-blue-dark dark:hover:ring-werefox-blue text-werefox-pink-dark dark:text-werefox-pink hover:text-werefox-blue-dark dark:hover:text-werefox-blue hover:animate-yip transition">
|
||||
<div className="order-1 flex-1 flex-shrink-0 relative items-center justify-center align-middle sm:w-32 w-16 min-h-full mr-4">
|
||||
<Image
|
||||
src={finalsrc}
|
||||
@ -53,7 +53,7 @@ export default function PartnerCard({ src, alt, url, fields, bio, user }) {
|
||||
alt={alt}
|
||||
/>
|
||||
</div>
|
||||
<div className="order-2 flex-5 sm:text-sm text-xs text-center space-y-4">
|
||||
<div className="order-2 flex-5 space-y-4">
|
||||
<div className="p-2 rounded-sm ring-2 ring-werefox-pink-dark dark:ring-werefox-pink group-hover:ring-werefox-blue-dark dark:group-hover:ring-werefox-blue">
|
||||
{Object.keys(biodict).map((bio) => (
|
||||
<div key={bio}>
|
||||
@ -66,7 +66,7 @@ export default function PartnerCard({ src, alt, url, fields, bio, user }) {
|
||||
</div>
|
||||
</a>
|
||||
</Link>
|
||||
<div className="flex-column space-y-4">
|
||||
<div className="flex-column space-y-4 text-werefox-pink-dark dark:text-werefox-pink">
|
||||
{Object.keys(fields).map((field) => (
|
||||
<div className="grid grid-cols-2 space-x-4" key={field}>
|
||||
<div className="order-1">{renderPossibleURLField(field)}</div>
|
||||
|
@ -1,14 +1,10 @@
|
||||
import PCard from "./project-card";
|
||||
import WCard from "./werefox-card";
|
||||
|
||||
export default function ProjectCardBlock({ title, cards }) {
|
||||
return (
|
||||
<div className="p-2 space-y-4">
|
||||
<div className="p-2 rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<p className="sm:text-xl text-lg text-center text-werefox-blue-dark dark:text-werefox-blue">
|
||||
{title}
|
||||
</p>
|
||||
</div>
|
||||
<ul className="p-4 space-y-4 rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<WCard title={title}>
|
||||
<ul className="space-y-4">
|
||||
{Object.keys(cards).map((card) => (
|
||||
<PCard
|
||||
key={card}
|
||||
@ -20,6 +16,6 @@ export default function ProjectCardBlock({ title, cards }) {
|
||||
/>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</WCard>
|
||||
);
|
||||
}
|
||||
|
@ -3,10 +3,11 @@ import Link from "next/link";
|
||||
|
||||
export default function ServerBlock({ servers }) {
|
||||
return (
|
||||
<div className="p-4 w-full inline-flow align-middle justify-center space-y-4">
|
||||
<p className="w-full text-lg text-center text-werefox-blue-dark dark:text-werefox-blue">
|
||||
All the stuff I run uses the following server machines with reverse SSH
|
||||
connections to a{" "}
|
||||
<div className="p-4 w-full inline-flow align-middle justify-center space-y-8">
|
||||
<div className="p-4 ring-2 ring-werefox-blue-dark dark:ring-werefox-blue">
|
||||
<p>
|
||||
All the stuff I run uses the following server machines with reverse
|
||||
SSH connections to a{" "}
|
||||
<Link href="https://www.linode.com/?r=61251dc51397edcfacadd7f3744b258b63ad4248">
|
||||
<a
|
||||
target="_blank"
|
||||
@ -17,6 +18,7 @@ export default function ServerBlock({ servers }) {
|
||||
</Link>
|
||||
{"."}
|
||||
</p>
|
||||
</div>
|
||||
{Object.keys(servers).map((server) => (
|
||||
<SCard
|
||||
server={server}
|
||||
|
@ -1,6 +1,6 @@
|
||||
export default function ServerCard({ server, model, cpu, gpu, ram, os }) {
|
||||
return (
|
||||
<div className="p-2 space-y-1 w-full inline-flow ring-4 ring-werefox-blue-darkest dark:ring-werefox-blue bg-werefox-grey-lightest dark:bg-werefox-grey-darker text-lg text-werefox-blue-darkest dark:text-werefox-blue-light">
|
||||
<div className="p-2 space-y-1 w-full inline-flow text-left ring-4 ring-werefox-blue-darkest dark:ring-werefox-blue bg-werefox-grey-lightest dark:bg-werefox-grey-darker text-lg text-werefox-cyan-dark dark:text-werefox-cyan-light">
|
||||
<p>
|
||||
<code>{`System: ${server}`}</code>
|
||||
</p>
|
||||
|
@ -5,7 +5,7 @@ import KWidget from "./kofi-donation-widget.js";
|
||||
export default function SupportBlock({ support }) {
|
||||
return (
|
||||
<WCard
|
||||
innerText="I would sincerely appreciate if you would throw some financial
|
||||
title="I would sincerely appreciate if you would throw some financial
|
||||
support my way!! 💙"
|
||||
>
|
||||
<div className="p-4 space-y-4">
|
||||
|
@ -3,7 +3,7 @@ import Image from "next/image";
|
||||
|
||||
export default function TitleCard({ card_title }) {
|
||||
return (
|
||||
<div className="p-4 w-full rounded-lg ring-4 ring-werefox-blue-dark dark:ring-werefox-blue bg-werefox-grey-light dark:bg-werefox-grey text-xl text-center text-werefox-blue-dark dark:text-werefox-blue">
|
||||
<div className="p-4 w-full rounded-sm ring-4 ring-werefox-blue-dark dark:ring-werefox-blue bg-werefox-grey-lightest dark:bg-werefox-grey-dark text-xl text-center text-werefox-blue-dark dark:text-werefox-blue">
|
||||
<span className="animate-bounce align-middle inline-block w-6 h-6">
|
||||
<Image
|
||||
src="/emoji/pixel_alexis.png"
|
||||
|
29
src/info/components/werefox-card-title.js
Normal file
29
src/info/components/werefox-card-title.js
Normal file
@ -0,0 +1,29 @@
|
||||
import Image from "next/image";
|
||||
|
||||
export default function WerefoxCardTitle({ title, title_emoji }) {
|
||||
if (Boolean(title_emoji)) {
|
||||
return (
|
||||
<div className="p-4 w-full items-center justify-center align-middle rounded-sm ring-2 ring-werefox-blue-dark dark:ring-werefox-blue ">
|
||||
<span className="object-contain relative inline-block w-8 h-8 mb-1 align-middle">
|
||||
<Image
|
||||
src={title_emoji["src"]}
|
||||
layout="fill"
|
||||
objectFit="contain"
|
||||
alt={title_emoji["alt"]}
|
||||
/>
|
||||
</span>
|
||||
<p className="inline text-md sm:text-lg text-werefox-blue-dark dark:text-werefox-blue">
|
||||
{` ${title}`}
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
return (
|
||||
<div className="rounded-sm ring-2 ring-werefox-blue-dark dark:ring-werefox-blue">
|
||||
<p className="p-4 text-center text-md sm:text-lg text-werefox-blue-dark dark:text-werefox-blue">
|
||||
{title}
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
@ -1,28 +1,23 @@
|
||||
export default function WerefoxCard({
|
||||
isTitle,
|
||||
innerText,
|
||||
children,
|
||||
}) {
|
||||
if (isTitle) {
|
||||
import WCT from "./werefox-card-title";
|
||||
|
||||
export default function WerefoxCard({ title_emoji, title, children }) {
|
||||
if (Boolean(title_emoji)) {
|
||||
return (
|
||||
<div className="rounded-lg ring-4 ring-werefox-blue bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<div className="p-4 space-y-4 text-center text-werefox-blue-dark dark:text-werefox-blue rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lightest dark:bg-werefox-grey-dark">
|
||||
<WCT title={title} title_emoji={title_emoji} />
|
||||
<div className="p-4 space-y-4 rounded-sm ring-2 ring-werefox-blue-dark dark:ring-werefox-blue">
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
return (
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<div className="p-2 space-y-2">
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<p className="p-2 text-center text-md sm:text-lg text-werefox-blue-dark dark:text-werefox-blue">
|
||||
{innerText}
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-2 space-y-2 rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
<div className="p-4 space-y-4 text-center text-werefox-blue-dark dark:text-werefox-blue rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lightest dark:bg-werefox-grey-dark">
|
||||
<WCT title={title} />
|
||||
<div className="p-4 space-y-4 rounded-sm ring-2 ring-werefox-blue-dark dark:ring-werefox-blue">
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,12 @@
|
||||
alt: "The Mastodon logo"
|
||||
url_text: "@shadow8t4@vulpine.club"
|
||||
|
||||
"Ada's Mastodon":
|
||||
url: "https://masto.werefox.dev/@ada"
|
||||
src: "/emoji/mastodon-logo.png"
|
||||
alt: "The Mastodon logo"
|
||||
url_text: "@ada@masto.werefox.dev"
|
||||
|
||||
"My Twitter":
|
||||
url: "https://twitter.com/alexis_werefox"
|
||||
src: "/emoji/twitter-logo.png"
|
||||
|
@ -30,15 +30,15 @@
|
||||
src: "/images/alexis_coffee.png"
|
||||
alt: "Alexis sipping on some coffee"
|
||||
|
||||
'What is "Werefox Isekai"?':
|
||||
answer: >
|
||||
"Werefox Isekai" is just a silly term I've been using to refer to a series of
|
||||
trips I've been planning in order to visit the folks I've met online over the
|
||||
past few months/years. I believe my original post on this was "A hot, cute
|
||||
girl from a foreign land falls from the sky and moves in with you temporarily,
|
||||
and there's potentially a ton of sexual tension the entire time."
|
||||
src: "/images/alexis_wink.png"
|
||||
alt: "Alexis winking and giving a peace sign"
|
||||
# 'What is "Werefox Isekai"?':
|
||||
# answer: >
|
||||
# "Werefox Isekai" is just a silly term I've been using to refer to a series of
|
||||
# trips I've been planning in order to visit the folks I've met online over the
|
||||
# past few months/years. I believe my original post on this was "A hot, cute
|
||||
# girl from a foreign land falls from the sky and moves in with you temporarily,
|
||||
# and there's potentially a ton of sexual tension the entire time."
|
||||
# src: "/images/alexis_wink.png"
|
||||
# alt: "Alexis winking and giving a peace sign"
|
||||
|
||||
"What do you do?":
|
||||
answer: >
|
||||
@ -50,13 +50,29 @@
|
||||
src: "/images/alexis_shrug.png"
|
||||
alt: "Alexis shrugging"
|
||||
|
||||
"Are you accepting more partners?":
|
||||
'What happened to "Werefox Isekai"?':
|
||||
answer: >
|
||||
Hhaaa,,, Uhh, not at the moment? Anything can happen, though! Just don't
|
||||
make it your main goal to try and date me, yeah? 💙
|
||||
"Yeah, so... That was kind of a whole lot, I've been traveling and having folks
|
||||
visit for a couple months. I very much need some time to relax and be to myself.
|
||||
There are still more folks I want to visit, and I am going to be making trips to
|
||||
see my partners again eventually as well, but for now I need a break."
|
||||
src: "/images/alexis_coffee.png"
|
||||
alt: "Alexis sipping on some coffee"
|
||||
|
||||
# "Are you accepting more partners?":
|
||||
# answer: >
|
||||
# Hhaaa,,, Uhh, not at the moment? Anything can happen, though! Just don't
|
||||
# make it your main goal to try and date me, yeah? 💙
|
||||
# src: "/images/alexis_coffee.png"
|
||||
# alt: "Alexis sipping on some coffee"
|
||||
|
||||
"Are you accepting more partners?":
|
||||
answer: >
|
||||
I wouldn't say I'm looking, but I'm certainly open to the idea right now!
|
||||
Just don't make it your main goal to try and date me, yeah? 💙
|
||||
src: "/images/alexis_wink.png"
|
||||
alt: "Alexis winking and giving a peace sign"
|
||||
|
||||
"... Wait, don't I know you?":
|
||||
answer: >
|
||||
Hey hey, if you're here from knowing me pre-transition, that's cool too.
|
||||
@ -64,5 +80,5 @@
|
||||
person than the one you knew before. Regardless, if you feel like
|
||||
reaching out, in most cases I'm willing to catch up. If that's the case,
|
||||
your best bets are Twitter DM, e-mail, or a text if you still have my number.
|
||||
src: "/images/alexis_wink.png"
|
||||
alt: "Alexis winking and giving a peace sign"
|
||||
src: "/images/alexis_shrug.png"
|
||||
alt: "Alexis shrugging"
|
||||
|
@ -66,11 +66,11 @@ avie:
|
||||
|
||||
being utter disasters and proud"
|
||||
|
||||
Elizafox:
|
||||
url: "https://vulpine.club/@Elizafox"
|
||||
json: "https://vulpine.club/@Elizafox.json"
|
||||
Dax:
|
||||
url: "https://masto.werefox.dev/@Dax"
|
||||
json: "https://masto.werefox.dev/@Dax.json"
|
||||
content: |
|
||||
"I'd just like to interject for a moment. What you're referring to as Alexis, is in fact, Werefox/Alexis, or as I've recently taken to calling her, Werefox plus Alexis. Alexis is not a system unto herself, but rather another free member of a fully functioning plural system made useful by the Ada, Alice, and other vital system members comprising a full plural system as defined by DSM-V."
|
||||
"im love alexis a lot 💚 🐀"
|
||||
|
||||
plausocks:
|
||||
url: "https://masto.werefox.dev/@plausocks"
|
||||
@ -78,11 +78,11 @@ plausocks:
|
||||
content: |
|
||||
"*headpats the entire werefox system*"
|
||||
|
||||
Dax:
|
||||
url: "https://masto.werefox.dev/@Dax"
|
||||
json: "https://masto.werefox.dev/@Dax.json"
|
||||
karma:
|
||||
url: "https://awoo.space/@karma"
|
||||
json: "https://awoo.space/@karma.json"
|
||||
content: |
|
||||
"im love alexis a lot 💚 🐀"
|
||||
"wtf it's not even 7:30 PM why are you at ihop"
|
||||
|
||||
lindsays:
|
||||
url: "https://hackers.town/@lindsays"
|
||||
|
@ -26,8 +26,9 @@ export default function Contacts({ CONTACTS }) {
|
||||
<BasicPage
|
||||
page_title="Where To Find Me"
|
||||
card_title={`"Do you have a [Social Media]?"`}
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
<WCard innerText="You can find me in quite a few places!">
|
||||
<WCard title="You can find me in quite a few places!">
|
||||
<CBlock contacts={CONTACTS} />
|
||||
</WCard>
|
||||
</BasicPage>
|
||||
|
@ -22,7 +22,11 @@ export async function getStaticProps() {
|
||||
|
||||
export default function FAQ({ FAQ }) {
|
||||
return (
|
||||
<BasicPage page_title="FAQ" card_title="Frequently Asked Questions!">
|
||||
<BasicPage
|
||||
page_title="FAQ"
|
||||
card_title="Frequently Asked Questions!"
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
<FBlock faqs={FAQ} />
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -44,8 +44,9 @@ export default function HRT({ startTimes }) {
|
||||
<BasicPage
|
||||
page_title="Alexis Werefox HRT Tracker"
|
||||
card_title="Track my HRT progress!"
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
<WCard innerText={`I'm so glad you're interested!!`}>
|
||||
<WCard title={`I'm so glad you're interested!!`}>
|
||||
<div className="p-2 sm:text-xl text-lg text-center text-werefox-blue-dark dark:text-werefox-blue grid grid-cols-1 grid-rows-4 gap-2">
|
||||
<p>I've been on HRT for:</p>
|
||||
{Object.keys(timesArray).map((t) => (
|
||||
|
@ -1,5 +1,8 @@
|
||||
import BasicPage from "../../../components/basic-page";
|
||||
import IDCard from "../../../components/identity-card";
|
||||
import IDCardText from "../../../components/identity-card-textbox";
|
||||
import Link from "next/link";
|
||||
import Image from "next/image";
|
||||
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
@ -21,17 +24,36 @@ export async function getStaticProps() {
|
||||
|
||||
export default function Fursona({ FURSONA }) {
|
||||
return (
|
||||
<BasicPage page_title={FURSONA["Fursona"].page_title} card_title={FURSONA["Fursona"].card_title}>
|
||||
<BasicPage
|
||||
page_title={FURSONA["Fursona"].page_title}
|
||||
card_title={FURSONA["Fursona"].card_title}
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
{Object.keys(FURSONA).map((fursona) => (
|
||||
<IDCard
|
||||
key={fursona}
|
||||
title={FURSONA[fursona].title}
|
||||
info={FURSONA[fursona].info}
|
||||
src={FURSONA[fursona].src}
|
||||
alt={FURSONA[fursona].alt}
|
||||
src2={FURSONA[fursona].src2}
|
||||
alt2={FURSONA[fursona].alt2}
|
||||
>
|
||||
<IDCardText info={FURSONA[fursona].info} />
|
||||
<div className="rounded-lg hover:animate-yip transition">
|
||||
<Link href="https://twitter.com/ribbonfemale">
|
||||
<a target="_blank">
|
||||
<span className="relative inline-flex align-middle">
|
||||
<Image
|
||||
className="rounded-lg"
|
||||
src={FURSONA[fursona].src2}
|
||||
layout="intrinsic"
|
||||
width="2048"
|
||||
height="2048"
|
||||
alt={FURSONA[fursona].alt2}
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
</Link>
|
||||
</div>
|
||||
</IDCard>
|
||||
))}
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -1,5 +1,7 @@
|
||||
import BasicPage from "../../../components/basic-page";
|
||||
import IDCard from "../../../components/identity-card";
|
||||
import IDCardText from "../../../components/identity-card-textbox";
|
||||
import IDCardButton from "../../../components/identity-card-button";
|
||||
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
@ -24,16 +26,18 @@ export default function Gender({ GENDER }) {
|
||||
<BasicPage
|
||||
page_title={GENDER["Gender"].page_title}
|
||||
card_title={GENDER["Gender"].card_title}
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
{Object.keys(GENDER).map((gender) => (
|
||||
<IDCard
|
||||
key={gender}
|
||||
title={GENDER[gender].title}
|
||||
info={GENDER[gender].info}
|
||||
url={GENDER[gender].url}
|
||||
src={GENDER[gender].src}
|
||||
alt={GENDER[gender].alt}
|
||||
/>
|
||||
>
|
||||
<IDCardText info={GENDER[gender].info} />
|
||||
<IDCardButton url={GENDER[gender].url} button_text="Learn More" />
|
||||
</IDCard>
|
||||
))}
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -1,5 +1,7 @@
|
||||
import BasicPage from "../../../components/basic-page";
|
||||
import IDCard from "../../../components/identity-card";
|
||||
import IDCardText from "../../../components/identity-card-textbox";
|
||||
import IDCardButton from "../../../components/identity-card-button";
|
||||
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
@ -24,16 +26,18 @@ export default function Neurodiversity({ NEURO }) {
|
||||
<BasicPage
|
||||
page_title={NEURO["Neuro"].page_title}
|
||||
card_title={NEURO["Neuro"].card_title}
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
{Object.keys(NEURO).map((neuro) => (
|
||||
<IDCard
|
||||
key={neuro}
|
||||
title={NEURO[neuro].title}
|
||||
info={NEURO[neuro].info}
|
||||
url={NEURO[neuro].url}
|
||||
src={NEURO[neuro].src}
|
||||
alt={NEURO[neuro].alt}
|
||||
/>
|
||||
>
|
||||
<IDCardText info={NEURO[neuro].info} />
|
||||
<IDCardButton url={NEURO[neuro].url} button_text="Learn More" />
|
||||
</IDCard>
|
||||
))}
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -1,6 +1,7 @@
|
||||
import BasicPage from "../../../components/basic-page";
|
||||
import IDCard from "../../../components/identity-card";
|
||||
import PCard from "../../../components/partner-card";
|
||||
import IDCardText from "../../../components/identity-card-textbox";
|
||||
|
||||
// An object listing pages folks can visit
|
||||
export async function getStaticProps() {
|
||||
@ -24,7 +25,11 @@ export async function getStaticProps() {
|
||||
export default function Partners({ PARTNERS }) {
|
||||
if (PARTNERS) {
|
||||
return (
|
||||
<BasicPage page_title="Partners" card_title="Partners!">
|
||||
<BasicPage
|
||||
page_title="Partners"
|
||||
card_title="Partners!"
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
<IDCard
|
||||
title="My loves!"
|
||||
src="/emoji/blue_heart.svg"
|
||||
@ -51,11 +56,14 @@ export default function Partners({ PARTNERS }) {
|
||||
title="My loves!"
|
||||
src="/emoji/blue_heart.svg"
|
||||
alt="Blue heart emoji"
|
||||
>
|
||||
<IDCardText
|
||||
info={`Oh! It looks like I don't have any partners at the moment.
|
||||
|
||||
Oh well!
|
||||
`}
|
||||
></IDCard>
|
||||
/>
|
||||
</IDCard>
|
||||
</BasicPage>
|
||||
);
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
import BasicPage from "../../../components/basic-page";
|
||||
import IDCard from "../../../components/identity-card";
|
||||
import IDCardText from "../../../components/identity-card-textbox";
|
||||
import IDCardButton from "../../../components/identity-card-button";
|
||||
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
@ -24,16 +26,18 @@ export default function Pronouns({ PRONOUNS }) {
|
||||
<BasicPage
|
||||
page_title={PRONOUNS["Pronouns"].page_title}
|
||||
card_title={PRONOUNS["Pronouns"].card_title}
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
{Object.keys(PRONOUNS).map((pronouns) => (
|
||||
<IDCard
|
||||
key={pronouns}
|
||||
title={PRONOUNS[pronouns].title}
|
||||
info={PRONOUNS[pronouns].info}
|
||||
url={PRONOUNS[pronouns].url}
|
||||
src={PRONOUNS[pronouns].src}
|
||||
alt={PRONOUNS[pronouns].alt}
|
||||
/>
|
||||
>
|
||||
<IDCardText info={PRONOUNS[pronouns].info} />
|
||||
<IDCardButton url={PRONOUNS[pronouns].url} button_text="Learn More" />
|
||||
</IDCard>
|
||||
))}
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -1,5 +1,7 @@
|
||||
import BasicPage from "../../../components/basic-page";
|
||||
import IDCard from "../../../components/identity-card";
|
||||
import IDCardText from "../../../components/identity-card-textbox";
|
||||
import IDCardButton from "../../../components/identity-card-button";
|
||||
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
@ -31,7 +33,11 @@ export async function getStaticProps() {
|
||||
|
||||
export default function Sexuality({ SEXUALITY, page_title, card_title }) {
|
||||
return (
|
||||
<BasicPage page_title={page_title} card_title={card_title}>
|
||||
<BasicPage
|
||||
page_title={page_title}
|
||||
card_title={card_title}
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
{Object.keys(SEXUALITY).map((sexuality) => (
|
||||
<IDCard
|
||||
key={sexuality}
|
||||
@ -40,7 +46,13 @@ export default function Sexuality({ SEXUALITY, page_title, card_title }) {
|
||||
url={SEXUALITY[sexuality].url}
|
||||
src={SEXUALITY[sexuality].src}
|
||||
alt={SEXUALITY[sexuality].alt}
|
||||
>
|
||||
<IDCardText info={SEXUALITY[sexuality].info} />
|
||||
<IDCardButton
|
||||
url={SEXUALITY[sexuality].url}
|
||||
button_text="Learn More"
|
||||
/>
|
||||
</IDCard>
|
||||
))}
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -43,13 +43,13 @@ export default function Home({ IDENTITIES, INTRODUCTION, PAGES, PARTNERS }) {
|
||||
|
||||
return (
|
||||
<HomePage page_title="About A Werefox" card_title="Hi! I'm Alexis Werefox!">
|
||||
<WCard innerText="Basic Info">
|
||||
<WCard title="Basic Info">
|
||||
<IDBlock identities={IDENTITIES} partners={partnerslen} />
|
||||
</WCard>
|
||||
<WCard innerText="Welcome to my little info site!">
|
||||
<WCard title="Welcome to my little info site!">
|
||||
<ICard introduction={introdict} />
|
||||
</WCard>
|
||||
<WCard innerText="Neat Pages!">
|
||||
<WCard title="Neat Pages!">
|
||||
<PBlock pages={PAGES} />
|
||||
</WCard>
|
||||
</HomePage>
|
||||
|
@ -22,7 +22,11 @@ export async function getStaticProps() {
|
||||
|
||||
export default function Services({ PROJECTS }) {
|
||||
return (
|
||||
<BasicPage page_title="Personal Projects" card_title="Some stuff I do!">
|
||||
<BasicPage
|
||||
page_title="Personal Projects"
|
||||
card_title="Some stuff I do!"
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<PBlock title="Personal Projects" cards={PROJECTS} />
|
||||
</div>
|
||||
|
@ -8,7 +8,10 @@ export async function getStaticProps() {
|
||||
let OTHER = {};
|
||||
|
||||
try {
|
||||
let fileContent = fs.readFileSync("./data/pages/projects/other.yml", "utf8");
|
||||
let fileContent = fs.readFileSync(
|
||||
"./data/pages/projects/other.yml",
|
||||
"utf8"
|
||||
);
|
||||
OTHER = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
@ -22,7 +25,12 @@ export async function getStaticProps() {
|
||||
|
||||
export default function Services({ OTHER }) {
|
||||
return (
|
||||
<BasicPage page_title="Misc Projects" card_title="Some other things I do!" back_url="/projects">
|
||||
<BasicPage
|
||||
page_title="Misc Projects"
|
||||
card_title="Some other things I do!"
|
||||
page_button_title="Take me back!"
|
||||
back_url="/projects"
|
||||
>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<PBlock title="Miscelaneous Projects" cards={OTHER} />
|
||||
</div>
|
||||
|
@ -8,7 +8,10 @@ export async function getStaticProps() {
|
||||
let PRIVATE = {};
|
||||
|
||||
try {
|
||||
let fileContent = fs.readFileSync("./data/pages/projects/private.yml", "utf8");
|
||||
let fileContent = fs.readFileSync(
|
||||
"./data/pages/projects/private.yml",
|
||||
"utf8"
|
||||
);
|
||||
PRIVATE = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
@ -22,7 +25,12 @@ export async function getStaticProps() {
|
||||
|
||||
export default function Services({ PRIVATE }) {
|
||||
return (
|
||||
<BasicPage page_title="Private Services" card_title="Some stuff I host for myself!" back_url="/projects">
|
||||
<BasicPage
|
||||
page_title="Private Services"
|
||||
card_title="Some stuff I host for myself!"
|
||||
page_button_title="Take me back!"
|
||||
back_url="/projects"
|
||||
>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<PBlock title="Private Services" cards={PRIVATE} />
|
||||
</div>
|
||||
|
@ -8,7 +8,10 @@ export async function getStaticProps() {
|
||||
let SERVICES = {};
|
||||
|
||||
try {
|
||||
let fileContent = fs.readFileSync("./data/pages/projects/services.yml", "utf8");
|
||||
let fileContent = fs.readFileSync(
|
||||
"./data/pages/projects/services.yml",
|
||||
"utf8"
|
||||
);
|
||||
SERVICES = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
@ -22,7 +25,12 @@ export async function getStaticProps() {
|
||||
|
||||
export default function Services({ SERVICES }) {
|
||||
return (
|
||||
<BasicPage page_title="Werefox Services" card_title="Services I Host!" back_url="/projects">
|
||||
<BasicPage
|
||||
page_title="Werefox Services"
|
||||
card_title="Services I Host!"
|
||||
page_button_title="Take me back!"
|
||||
back_url="/projects"
|
||||
>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<PBlock title="Services" cards={SERVICES} />
|
||||
</div>
|
||||
|
@ -8,7 +8,10 @@ export async function getStaticProps() {
|
||||
let STREAMING = {};
|
||||
|
||||
try {
|
||||
let fileContent = fs.readFileSync("./data/pages/projects/streaming.yml", "utf8");
|
||||
let fileContent = fs.readFileSync(
|
||||
"./data/pages/projects/streaming.yml",
|
||||
"utf8"
|
||||
);
|
||||
STREAMING = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
@ -22,7 +25,12 @@ export async function getStaticProps() {
|
||||
|
||||
export default function Services({ STREAMING }) {
|
||||
return (
|
||||
<BasicPage page_title="Streaming Links" card_title="Come watch my streams!" back_url="/projects">
|
||||
<BasicPage
|
||||
page_title="Streaming Links"
|
||||
card_title="Come watch my streams!"
|
||||
page_button_title="Take me back!"
|
||||
back_url="/projects"
|
||||
>
|
||||
<div className="rounded-lg ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<PBlock title="Streaming" cards={STREAMING} />
|
||||
</div>
|
||||
|
@ -22,8 +22,12 @@ export async function getStaticProps() {
|
||||
}
|
||||
export default function Servers({ SERVERS }) {
|
||||
return (
|
||||
<BasicPage page_title="Servers" card_title="Here are my server specs!">
|
||||
<WCard innerText="Servers">
|
||||
<BasicPage
|
||||
page_title="Servers"
|
||||
card_title="Here are my server specs!"
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
<WCard title="Servers">
|
||||
<SBlock servers={SERVERS} />
|
||||
</WCard>
|
||||
</BasicPage>
|
||||
|
@ -21,7 +21,11 @@ export async function getStaticProps() {
|
||||
|
||||
export default function Support({ SUPPORT }) {
|
||||
return (
|
||||
<BasicPage page_title="Support" card_title="Support Me!">
|
||||
<BasicPage
|
||||
page_title="Support"
|
||||
card_title="Support Me!"
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
<SBlock support={SUPPORT} />
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -42,9 +42,13 @@ export const getStaticProps = async () => {
|
||||
|
||||
export default function Testimonials({ iconUrls, TESTIMONIALS }) {
|
||||
return (
|
||||
<BasicPage page_title="Werefox Testimonials" card_title="Testimonials!">
|
||||
<BasicPage
|
||||
page_title="Werefox Testimonials"
|
||||
card_title="Testimonials!"
|
||||
page_button_title="Take me back home!"
|
||||
>
|
||||
<WCard
|
||||
innerText={`Sometimes, people say some nice things about me. Here are some
|
||||
title={`Sometimes, people say some nice things about me. Here are some
|
||||
examples!`}
|
||||
>
|
||||
<div className="p-2 space-y-4">
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 110 KiB |
@ -7,6 +7,11 @@ module.exports = {
|
||||
nerd: ["DejaVuSansMono"],
|
||||
},
|
||||
colors: {
|
||||
"werefox-cyan": {
|
||||
light: "#AAFFFF",
|
||||
DEFAULT: "#50FFFF",
|
||||
dark: "#008888",
|
||||
},
|
||||
"werefox-blue": {
|
||||
light: "#94C2FF",
|
||||
DEFAULT: "#75B1FF",
|
||||
|
Loading…
Reference in New Issue
Block a user