Migrating data from JS to YAML.
This commit is contained in:
parent
0f55c85ac0
commit
042679198a
@ -1,17 +1,16 @@
|
||||
import CLink from "./contacts-link";
|
||||
import { CONTACTS } from "../js/variables";
|
||||
|
||||
export default function ContactsBlock({}) {
|
||||
export default function ContactsBlock({ contacts }) {
|
||||
return (
|
||||
<div className="p-4 space-y-4">
|
||||
{Object.keys(CONTACTS).map((contact) => (
|
||||
{Object.keys(contacts).map((contact) => (
|
||||
<CLink
|
||||
key={contact}
|
||||
src={CONTACTS[contact].src}
|
||||
alt={CONTACTS[contact].alt}
|
||||
url={CONTACTS[contact].url}
|
||||
src={contacts[contact].src}
|
||||
alt={contacts[contact].alt}
|
||||
url={contacts[contact].url}
|
||||
description={contact}
|
||||
url_text={CONTACTS[contact].url_text}
|
||||
url_text={contacts[contact].url_text}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
|
@ -1,18 +1,17 @@
|
||||
import IDButton from "./identity-button";
|
||||
import { IDENTITIES } from "../js/variables";
|
||||
|
||||
export default function IdentityBlock() {
|
||||
export default function IdentityBlock({ identities }) {
|
||||
return (
|
||||
<nav>
|
||||
<div className="grid xl:grid-rows-2 xl:grid-cols-5 sm:grid-rows-3 sm:grid-cols-3 grid-rows-9 grid-cols-1 sm:gap-2 gap-0">
|
||||
{Object.keys(IDENTITIES).map((ids) => (
|
||||
{Object.keys(identities).map((ids) => (
|
||||
<IDButton
|
||||
key={ids}
|
||||
innerText={ids}
|
||||
url={IDENTITIES[ids].url}
|
||||
locator={IDENTITIES[ids].locator}
|
||||
imageObj={IDENTITIES[ids].images}
|
||||
extraClasses={IDENTITIES[ids].extra_classes}
|
||||
url={identities[ids].url}
|
||||
locator={identities[ids].locator}
|
||||
imageObj={identities[ids].images}
|
||||
extraClasses={identities[ids].extra_classes}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
|
@ -17,7 +17,7 @@ export function renderPossibleURLField(field) {
|
||||
if (validURL(field)) {
|
||||
return (
|
||||
<Link href={field}>
|
||||
<a className="p-2 text-center overflow-clip overflow-auto ring-2 ring-werefox-grey dark:ring-werefox-grey-darker rounded-lg bg-werefox-grey-lighter dark:bg-werefox-grey-dark hover:text-werefox-blue-dark dark:hover:text-werefox-blue">
|
||||
<a className="p-2 overflow-clip overflow-auto text-center ring-2 ring-werefox-grey dark:ring-werefox-grey-darker rounded-lg bg-werefox-grey-lighter dark:bg-werefox-grey-dark hover:text-werefox-blue-dark dark:hover:text-werefox-blue">
|
||||
{field}
|
||||
</a>
|
||||
</Link>
|
||||
@ -37,6 +37,9 @@ export default function LoveCard({ src, alt, url, fields, bio, user }) {
|
||||
user == "Shadow8t4"
|
||||
? "text-werefox-blue-dark dark:text-werefox-blue"
|
||||
: "text-werefox-pink-dark dark:text-werefox-pink";
|
||||
let bioarray = bio.split("\n");
|
||||
bioarray = bioarray.slice(0, bioarray.length - 1);
|
||||
const biodict = Object.assign({}, bioarray);
|
||||
|
||||
return (
|
||||
<div className="rounded-lg min-w-full flex ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
@ -63,14 +66,22 @@ export default function LoveCard({ src, alt, url, fields, bio, user }) {
|
||||
))}
|
||||
</div>
|
||||
<div className="ring-2 ring-werefox-grey dark:ring-werefox-grey-darker rounded-lg p-2 bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
<p className="overflow-auto">
|
||||
{bio}
|
||||
<br />
|
||||
{"- "}
|
||||
<Link href={url}>
|
||||
<a className="hover:text-werefox-blue-dark dark:hover:text-werefox-blue" target="_blank">{`@${user}`}</a>
|
||||
</Link>
|
||||
</p>
|
||||
<div className="p-2 ring-2 ring-werefox-grey dark:ring-werefox-grey-darker rounded-lg bg-werefox-grey-lighter dark:bg-werefox-grey-dark">
|
||||
{Object.keys(biodict).map((bio) => (
|
||||
<p className="overflow-auto" key={bio}>
|
||||
{biodict[bio] == "" ? <br /> : biodict[bio]}
|
||||
</p>
|
||||
))}
|
||||
<p className="overflow-auto">
|
||||
{"- "}
|
||||
<Link href={url}>
|
||||
<a
|
||||
className="hover:text-werefox-blue-dark dark:hover:text-werefox-blue"
|
||||
target="_blank"
|
||||
>{`@${user}`}</a>
|
||||
</Link>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,16 +1,15 @@
|
||||
import PButton from "./page-button";
|
||||
import { PAGES } from "../js/variables";
|
||||
|
||||
export default function ProjectBlock() {
|
||||
export default function ProjectBlock({ pages }) {
|
||||
return (
|
||||
<nav>
|
||||
<div className="flow space-y-2">
|
||||
{Object.keys(PAGES).map((page) => (
|
||||
{Object.keys(pages).map((page) => (
|
||||
<PButton
|
||||
key={page}
|
||||
title={page}
|
||||
images={PAGES[page].images}
|
||||
url={PAGES[page].url}
|
||||
images={pages[page].images}
|
||||
url={pages[page].url}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
|
@ -10,6 +10,9 @@ export default function TestimonialCard({ src, alt, url, innerText, user }) {
|
||||
user == "Shadow8t4"
|
||||
? "hover:text-werefox-pink-dark dark:hover:text-werefox-pink"
|
||||
: "hover:text-werefox-blue-dark dark:hover:text-werefox-blue";
|
||||
let testimonialarray = innerText.split("\n");
|
||||
testimonialarray = testimonialarray.slice(0, testimonialarray.length - 1);
|
||||
const testimonialdict = Object.assign({}, testimonialarray);
|
||||
|
||||
return (
|
||||
<div className="rounded-lg min-w-full flex overflow-hidden ring-2 ring-werefox-grey dark:ring-werefox-grey-darker bg-werefox-grey-light dark:bg-werefox-grey">
|
||||
@ -25,20 +28,25 @@ export default function TestimonialCard({ src, alt, url, innerText, user }) {
|
||||
</div>
|
||||
</a>
|
||||
</Link>{" "}
|
||||
<div
|
||||
className={`flex items-center justify-center animate-wiggle flex-5 p-4 sm:text-lg text-xs text-center min-h-full ${isMe}`}
|
||||
>
|
||||
<p>
|
||||
{innerText}
|
||||
<br />
|
||||
{"- "}
|
||||
<Link href={url}>
|
||||
<a
|
||||
target="_blank"
|
||||
className={`transition ${isMeLink}`}
|
||||
>{`@${user}`}</a>
|
||||
</Link>
|
||||
</p>
|
||||
<div className="flex flex-5 p-4 items-center justify-center min-h-full">
|
||||
<div
|
||||
className={`animate-wiggle sm:text-lg text-xs text-center ${isMe}`}
|
||||
>
|
||||
{Object.keys(testimonialdict).map((t) => (
|
||||
<p className="overflow-auto" key={t}>
|
||||
{testimonialdict[t] == "" ? <br /> : testimonialdict[t]}
|
||||
</p>
|
||||
))}
|
||||
<p>
|
||||
{"- "}
|
||||
<Link href={url}>
|
||||
<a
|
||||
target="_blank"
|
||||
className={`transition ${isMeLink}`}
|
||||
>{`@${user}`}</a>
|
||||
</Link>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
25
src/info/data/contacts.yml
Normal file
25
src/info/data/contacts.yml
Normal file
@ -0,0 +1,25 @@
|
||||
--- # Contacts YAML
|
||||
|
||||
"My public Mastodon":
|
||||
url: "https://vulpine.club/@shadow8t4"
|
||||
src: "/emoji/mastodon-logo.png"
|
||||
alt: "The Mastodon logo"
|
||||
url_text: "@shadow8t4@vulpine.club"
|
||||
|
||||
"My Twitter":
|
||||
url: "https://twitter.com/alexis_werefox"
|
||||
src: "/emoji/twitter-logo.png"
|
||||
alt: "The Twitter logo"
|
||||
url_text: "@alexis_werefox"
|
||||
|
||||
"My Twitch":
|
||||
url: "https://twitch.tv/alexis_werefox"
|
||||
src: "/emoji/twitch-logo.png"
|
||||
alt: "The Twitch logo"
|
||||
url_text: "@Alexis_Werefox"
|
||||
|
||||
"My e-mail":
|
||||
url: "mailto:adh9694@gmail.com"
|
||||
src: "/emoji/inbox.svg"
|
||||
alt: "An inbox emoji"
|
||||
url_text: "adh9694@gmail.com"
|
37
src/info/data/faq.yml
Normal file
37
src/info/data/faq.yml
Normal file
@ -0,0 +1,37 @@
|
||||
--- # FAQ YAML
|
||||
|
||||
q1:
|
||||
question: "So is Werefox like a species or...?"
|
||||
answer: >
|
||||
That's a good question! No, my fursona's full name is Alexis Werefox,
|
||||
so Werefox is just a last name. I am just a fox!
|
||||
src: "/images/alexis_heart.png"
|
||||
alt: "Alexis giving a heart emoji"
|
||||
|
||||
q2:
|
||||
question: "How can you be Pansexual and a Lesbian?"
|
||||
answer: >
|
||||
I believe I've been told the proper term is "sapphic",
|
||||
it just means I *am* Pansexual, but I prefer those who identify more femme."
|
||||
src: "/images/alexis_wink.png"
|
||||
alt: "Alexis winking and giving a peace sign"
|
||||
|
||||
q3:
|
||||
question: "How do I get those Xenia stickers?"
|
||||
answer: >
|
||||
Yeah, about that. So, I've made a few posts about this, but when
|
||||
I first started giving those out, I was in a good financial position, among
|
||||
other things. Now I'm not! I will get to it when I do.
|
||||
src: "/images/alexis_annoyed.png"
|
||||
alt: "Alexis looking annoyed and crossing her arms"
|
||||
|
||||
q4:
|
||||
question: "What do you do?"
|
||||
answer: >
|
||||
Lots of things! Lately, though, I've been focusing on myself and my
|
||||
transition. I could use some financial support (since I'm currently
|
||||
unemployed) if you're feeling up to it and can afford it! If you want to
|
||||
know more about what I do, you can check out "Stuff I do!" from the main
|
||||
page, and "Support Me?" if you wanna toss me some funds!
|
||||
src: "/images/alexis_shrug.png"
|
||||
alt: "Alexis shrugging"
|
59
src/info/data/identities.yml
Normal file
59
src/info/data/identities.yml
Normal file
@ -0,0 +1,59 @@
|
||||
--- # Identity YAML
|
||||
|
||||
"26":
|
||||
url: ""
|
||||
images:
|
||||
- { src: "/emoji/18_plus.svg", alt: "Over 18 emoji" }
|
||||
extra_classes: "pointer-events-none"
|
||||
|
||||
"Trans-femme":
|
||||
url: "/identities/gender"
|
||||
images:
|
||||
- { src: "/emoji/transgender_flag.svg", alt: "Transgender flag emoji" }
|
||||
- { src: "/emoji/female_symbol.svg", alt: "Female symbol emoji" }
|
||||
extra_classes: "xl:pt-1 xl:align-text-bottom xl:text-sm xl:min-h-full"
|
||||
|
||||
"She/Her":
|
||||
url: "/identities/pronouns"
|
||||
images:
|
||||
- { src: "/emoji/speech_bubble_left.svg", alt: "A speech bubble emoji" }
|
||||
extra_classes: ""
|
||||
|
||||
Polyam:
|
||||
url: "/identities/sexuality"
|
||||
locator: "Polyam"
|
||||
images:
|
||||
- { src: "/emoji/polyamory_flag.svg", alt: "Polyamory flag emoji" }
|
||||
extra_classes: ""
|
||||
|
||||
Pansexual:
|
||||
url: "/identities/sexuality"
|
||||
locator: "Pansexual"
|
||||
images:
|
||||
- { src: "/emoji/pansexual_flag.svg", alt: "Pansexual flag emoji" }
|
||||
extra_classes: ""
|
||||
|
||||
Lesbian:
|
||||
url: "/identities/sexuality"
|
||||
locator: "Lesbian"
|
||||
images:
|
||||
- { src: "/emoji/lesbian_flag.svg", alt: "Lesbian flag emoji" }
|
||||
extra_classes: ""
|
||||
|
||||
"Taken(1)":
|
||||
url: "/identities/partners"
|
||||
images: [{ src: "/emoji/blue_heart.svg", alt: "Blue heart emoji" }]
|
||||
extra_classes: ""
|
||||
|
||||
ADHD:
|
||||
url: "/identities/neuro"
|
||||
images:
|
||||
- { src: "/emoji/neurodiversity.svg", alt: "Neurodiversity symbol emoji" }
|
||||
extra_classes: ""
|
||||
|
||||
"Fox witch":
|
||||
url: "/identities/fursona"
|
||||
images:
|
||||
- { src: "/emoji/fox.svg", alt: "Fox emoji" }
|
||||
- { src: "/emoji/magic_wand.svg", alt: "Magic wand emoji" }
|
||||
extra_classes: "xl:pt-1 xl:align-text-bottom xl:text-sm xl:min-h-full"
|
31
src/info/data/pages.yml
Normal file
31
src/info/data/pages.yml
Normal file
@ -0,0 +1,31 @@
|
||||
--- # Pages YAML
|
||||
|
||||
"Stuff I do!":
|
||||
url: "/projects"
|
||||
images:
|
||||
- { src: "/emoji/crt_prompt.svg", alt: "CRT prompt emoji" }
|
||||
|
||||
"See Testimonials!":
|
||||
url: "/testimonials"
|
||||
images:
|
||||
- { src: "/emoji/awoo.svg", alt: "Awoo emoji" }
|
||||
|
||||
"HRT Tracker!":
|
||||
url: "/hrt"
|
||||
images:
|
||||
- { src: "/emoji/trans_heart.png", alt: "Transgender heart emoji" }
|
||||
|
||||
FAQ:
|
||||
url: "/faq"
|
||||
images:
|
||||
- { src: "/emoji/red_question_mark.svg", alt: "Red question mark emoji" }
|
||||
|
||||
Servers:
|
||||
url: "/servers"
|
||||
images:
|
||||
- { src: "/emoji/computer.svg", alt: "Computer emoji" }
|
||||
|
||||
"Support Me?":
|
||||
url: "/support"
|
||||
images:
|
||||
- { src: "/emoji/green_money.svg", alt: "Green money emoji" }
|
27
src/info/data/partners.yml
Normal file
27
src/info/data/partners.yml
Normal file
@ -0,0 +1,27 @@
|
||||
--- # Partners YAML
|
||||
|
||||
Gumby:
|
||||
url: "https://puppy.cafe/@Gumby"
|
||||
avi: "/images/gumby.jpeg"
|
||||
fields:
|
||||
Pronouns: "She/They/It"
|
||||
Gallery: "vsco.co/the-goon"
|
||||
"Ko-fi": "ko-fi.com/gumbyrat"
|
||||
Music: "https://soundcloud.com/oorrggaanniissmm"
|
||||
bio: |
|
||||
tiny trans rat
|
||||
21
|
||||
Demigirl
|
||||
ND
|
||||
Hapa/white
|
||||
I’ve got a bad brain :(
|
||||
ADHD
|
||||
Makes Vaporwave, Noise, and plays synths
|
||||
Photographer
|
||||
|
||||
💙Alexis @alexis
|
||||
“gumby good”
|
||||
|
||||
ko-fi.com/gumbyrat
|
||||
CashApp: $GumbyRat
|
||||
🔞
|
84
src/info/data/testimonials.yml
Normal file
84
src/info/data/testimonials.yml
Normal file
@ -0,0 +1,84 @@
|
||||
--- # Testimonial YAML
|
||||
|
||||
colabunny:
|
||||
json: "https://yiff.life/@colabunny.json"
|
||||
url: "https://yiff.life/@colabunny"
|
||||
content: |
|
||||
"please stay your jokes are funny and smart"
|
||||
|
||||
ElfLord:
|
||||
url: "https://freedom.horse/@ElfLord"
|
||||
json: "https://freedom.horse/@ElfLord.json"
|
||||
content: |
|
||||
"Someday I'm gonna visit you in Texas, and when I get there, I'm going to realize you don't live in Texas at all, and I'm in the wrong state"
|
||||
|
||||
Decimal:
|
||||
url: "https://plush.city/@Decimal"
|
||||
json: "https://plush.city/@Decimal.json"
|
||||
content: |
|
||||
"I will appreciate the heck out of you any day"
|
||||
|
||||
Drako_Fenris:
|
||||
url: "https://yiff.life/@Drako_Fenris"
|
||||
json: "https://yiff.life/@Drako_Fenris.json"
|
||||
content: |
|
||||
"[Alexis' future wife] lives in the ether yet to be revealed. she awaits the day her big tiddie goth gf rides in on her unicorn and rescues her."
|
||||
|
||||
"00dani":
|
||||
url: "https://vulpine.club/@00dani"
|
||||
json: "https://vulpine.club/@00dani.json"
|
||||
content: |
|
||||
"*falls in love with you* haha whoopsies 😳"
|
||||
|
||||
Gumby:
|
||||
url: "https://puppy.cafe/@Gumby"
|
||||
json: "https://puppy.cafe/@Gumby.json"
|
||||
content: |
|
||||
"im love alexis a lot 💚 🐀"
|
||||
|
||||
AshBunny:
|
||||
url: "https://vulpine.club/@AshBunny"
|
||||
json: "https://vulpine.club/@AshBunny.json"
|
||||
content: |
|
||||
"heck. I don't think I can take all of this support."
|
||||
|
||||
heatherhorns:
|
||||
url: "https://plush.city/@heatherhorns"
|
||||
json: "https://plush.city/@heatherhorns.json"
|
||||
content: |
|
||||
";~;
|
||||
|
||||
gpsd gosh"
|
||||
|
||||
MutoShack:
|
||||
url: "https://functional.cafe/@MutoShack"
|
||||
json: "https://functional.cafe/@MutoShack.json"
|
||||
content: |
|
||||
"yess w'all say nice things! usually "alexis is the good" and "alexis is the gay"
|
||||
|
||||
because it is the truth"
|
||||
|
||||
immychan:
|
||||
url: "https://antabaka.me/@immychan"
|
||||
json: "https://antabaka.me/@immychan.json"
|
||||
content: |
|
||||
"Oh damn you're cute 😳"
|
||||
|
||||
nautilee:
|
||||
url: "https://dragon.style/@nautilee"
|
||||
json: "https://dragon.style/@nautilee.json"
|
||||
content: |
|
||||
"...how are you so goshdarn cute"
|
||||
|
||||
holly:
|
||||
url: "https://lotor.tech/users/holly"
|
||||
json: "https://lotor.tech/users/holly.json"
|
||||
content: |
|
||||
"wait there's still an opportunity to be in [the Testimonials page]?"
|
||||
|
||||
lindsays:
|
||||
url: "https://hackers.town/@lindsays"
|
||||
json: "https://hackers.town/@lindsays.json"
|
||||
content: |
|
||||
"@alexis :
|
||||
Absolutely just as much of a walking, talking shitpost as she is online. Also incredibly gay incredibly girl."
|
@ -1,222 +1,3 @@
|
||||
// An object listing my different identity aspects
|
||||
|
||||
export const IDENTITIES = {
|
||||
26: {
|
||||
url: "",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/18_plus.svg",
|
||||
alt: "Over 18 emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "pointer-events-none",
|
||||
},
|
||||
"Trans-femme": {
|
||||
url: "/identities/gender",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/transgender_flag.svg",
|
||||
alt: "Transgender flag emoji",
|
||||
},
|
||||
{
|
||||
src: "/emoji/female_symbol.svg",
|
||||
alt: "Female symbol emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "xl:pt-1 xl:align-text-bottom xl:text-sm xl:min-h-full",
|
||||
},
|
||||
"She/Her": {
|
||||
url: "/identities/pronouns",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/speech_bubble_left.svg",
|
||||
alt: "A speech bubble emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "",
|
||||
},
|
||||
Polyam: {
|
||||
url: "/identities/sexuality",
|
||||
locator: "Polyam",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/polyamory_flag.svg",
|
||||
alt: "Polyamory flag emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "",
|
||||
},
|
||||
Pansexual: {
|
||||
url: "/identities/sexuality",
|
||||
locator: "Pansexual",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/pansexual_flag.svg",
|
||||
alt: "Pansexual flag emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "",
|
||||
},
|
||||
Lesbian: {
|
||||
url: "/identities/sexuality",
|
||||
locator: "Lesbian",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/lesbian_flag.svg",
|
||||
alt: "Lesbian flag emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "",
|
||||
},
|
||||
"Taken(1)": {
|
||||
url: "/identities/partners",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/blue_heart.svg",
|
||||
alt: "Blue heart emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "",
|
||||
},
|
||||
ADHD: {
|
||||
url: "/identities/neuro",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/neurodiversity.svg",
|
||||
alt: "Neurodiversity symbol emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "",
|
||||
},
|
||||
"Fox witch": {
|
||||
url: "/identities/fursona",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/fox.svg",
|
||||
alt: "Fox emoji",
|
||||
},
|
||||
{
|
||||
src: "/emoji/magic_wand.svg",
|
||||
alt: "Magic wand emoji",
|
||||
},
|
||||
],
|
||||
extra_classes: "xl:pt-1 xl:align-text-bottom xl:text-sm xl:min-h-full",
|
||||
},
|
||||
};
|
||||
|
||||
// An object listing pages folks can visit
|
||||
|
||||
export const PAGES = {
|
||||
"Stuff I do!": {
|
||||
url: "/projects",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/crt_prompt.svg",
|
||||
alt: "CRT prompt emoji",
|
||||
},
|
||||
],
|
||||
},
|
||||
"See Testimonials!": {
|
||||
url: "/testimonials",
|
||||
images: [{ src: "/emoji/awoo.svg", alt: "Awoo emoji" }],
|
||||
},
|
||||
"HRT Tracker!": {
|
||||
url: "/hrt",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/trans_heart.png",
|
||||
alt: "Transgender heart emoji",
|
||||
},
|
||||
],
|
||||
},
|
||||
FAQ: {
|
||||
url: "/faq",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/red_question_mark.svg",
|
||||
alt: "Red question mark emoji",
|
||||
},
|
||||
],
|
||||
},
|
||||
Servers: {
|
||||
url: "/servers",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/computer.svg",
|
||||
alt: "Computer emoji",
|
||||
},
|
||||
],
|
||||
},
|
||||
"Support Me?": {
|
||||
url: "/support",
|
||||
images: [
|
||||
{
|
||||
src: "/emoji/green_money.svg",
|
||||
alt: "Green money emoji",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
// An object listing pages folks can visit
|
||||
|
||||
export const CONTACTS = {
|
||||
"My public Mastodon": {
|
||||
url: "https://vulpine.club/@shadow8t4",
|
||||
src: "/emoji/mastodon-logo.png",
|
||||
alt: "The Mastodon logo",
|
||||
url_text: "@shadow8t4@vulpine.club",
|
||||
},
|
||||
"My Twitter": {
|
||||
url: "https://twitter.com/alexis_werefox",
|
||||
src: "/emoji/twitter-logo.png",
|
||||
alt: "The Twitter logo",
|
||||
url_text: "@alexis_werefox",
|
||||
},
|
||||
"My Twitch": {
|
||||
url: "https://twitch.tv/alexis_werefox",
|
||||
src: "/emoji/twitch-logo.png",
|
||||
alt: "The Twitch logo",
|
||||
url_text: "@Alexis_Werefox",
|
||||
},
|
||||
"My e-mail": {
|
||||
url: "mailto:adh9694@gmail.com",
|
||||
src: "/emoji/inbox.svg",
|
||||
alt: "An inbox emoji",
|
||||
url_text: "adh9694@gmail.com",
|
||||
},
|
||||
};
|
||||
|
||||
// Use this to list out partners on the partners page. >w>
|
||||
|
||||
export const PARTNERS = {
|
||||
Gumby: {
|
||||
url: "https://puppy.cafe/@Gumby",
|
||||
avi: "/images/gumby.jpeg",
|
||||
fields: {
|
||||
Pronouns: "She/They/It",
|
||||
Gallery: "vsco.co/the-goon",
|
||||
"Ko-fi": "ko-fi.com/gumbyrat",
|
||||
Music: "https://soundcloud.com/oorrggaanniissmm",
|
||||
},
|
||||
bio: `tiny trans rat
|
||||
21
|
||||
Demigirl
|
||||
ND
|
||||
Hapa/white
|
||||
I’ve got a bad brain :(
|
||||
Makes Vaporwave, Noise, and plays synths
|
||||
Photographer
|
||||
|
||||
💙Alexis @shadow8t4
|
||||
“gumby good”
|
||||
|
||||
ko-fi.com/gumbyrat
|
||||
CashApp: $GumbyRat
|
||||
🔞`,
|
||||
},
|
||||
};
|
||||
|
||||
// This is where you put the testimonial users' info
|
||||
|
||||
export const TESTIMONIALS = {
|
||||
|
11730
src/info/package-lock.json
generated
11730
src/info/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -10,12 +10,14 @@
|
||||
"dependencies": {
|
||||
"autoprefixer": "^10.2.5",
|
||||
"axios": "^0.21.1",
|
||||
"foo": "^0.0.7",
|
||||
"next": "10.1.3",
|
||||
"foo": "^1.0.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"next": "^10.2.3",
|
||||
"npm": "^7.17.0",
|
||||
"postcss": "^8.2.13",
|
||||
"react": "17.0.2",
|
||||
"react-dom": "17.0.2",
|
||||
"react-iframe": "^1.8.0",
|
||||
"tailwindcss": "^2.1.2"
|
||||
"tailwindcss": "^2.0.4"
|
||||
}
|
||||
}
|
||||
|
@ -2,14 +2,33 @@ import BasicPage from "../../components/basic-page";
|
||||
import WCard from "../../components/werefox-card";
|
||||
import CBlock from "../../components/contacts-block";
|
||||
|
||||
export default function Contacts() {
|
||||
// An object listing pages folks can visit
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
const yaml = require("js-yaml");
|
||||
let CONTACTS = {};
|
||||
|
||||
try {
|
||||
const fileContent = fs.readFileSync("./data/contacts.yml", "utf8");
|
||||
CONTACTS = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
return {
|
||||
props: {
|
||||
CONTACTS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export default function Contacts({ CONTACTS }) {
|
||||
return (
|
||||
<BasicPage
|
||||
page_title="Where To Find Me"
|
||||
card_title={`"Do you have a [Social Media]?"`}
|
||||
>
|
||||
<WCard innerText="You can find me in quite a few places!">
|
||||
<CBlock />
|
||||
<CBlock contacts={CONTACTS} />
|
||||
</WCard>
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -1,10 +1,29 @@
|
||||
import BasicPage from "../../components/basic-page";
|
||||
import FBlock from "../../components/faq-block";
|
||||
|
||||
export default function FAQ() {
|
||||
// An object listing pages folks can visit
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
const yaml = require("js-yaml");
|
||||
let FAQ = {};
|
||||
|
||||
try {
|
||||
let fileContent = fs.readFileSync("./data/faq.yml", "utf8");
|
||||
FAQ = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
return {
|
||||
props: {
|
||||
FAQ,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export default function FAQ({ FAQ }) {
|
||||
return (
|
||||
<BasicPage page_title="FAQ" card_title="Frequently Asked Questions!">
|
||||
<FBlock />
|
||||
<FBlock faq={FAQ} />
|
||||
</BasicPage>
|
||||
);
|
||||
}
|
||||
|
@ -1,9 +1,27 @@
|
||||
import BasicPage from "../../../components/basic-page";
|
||||
import IDCard from "../../../components/identity-card";
|
||||
import LCard from "../../../components/love-card";
|
||||
import { PARTNERS } from "../../../js/variables";
|
||||
|
||||
export default function Partners() {
|
||||
// An object listing pages folks can visit
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
const yaml = require("js-yaml");
|
||||
let PARTNERS = {};
|
||||
|
||||
try {
|
||||
let fileContent = fs.readFileSync("./data/partners.yml", "utf8");
|
||||
PARTNERS = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
return {
|
||||
props: {
|
||||
PARTNERS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export default function Partners({ PARTNERS }) {
|
||||
if (Object.keys(PARTNERS).length) {
|
||||
return (
|
||||
<BasicPage page_title="Partners" card_title="Partners!">
|
||||
|
@ -3,7 +3,30 @@ import IDBlock from "../components/identity-block";
|
||||
import WCard from "../components/werefox-card";
|
||||
import PBlock from "../components/page-block";
|
||||
|
||||
export default function Home() {
|
||||
// An object listing pages folks can visit
|
||||
export async function getStaticProps() {
|
||||
const fs = require("fs");
|
||||
const yaml = require("js-yaml");
|
||||
let IDENTITIES = {};
|
||||
let PAGES = {};
|
||||
|
||||
try {
|
||||
let fileContent = fs.readFileSync("./data/identities.yml", "utf8");
|
||||
IDENTITIES = yaml.load(fileContent);
|
||||
fileContent = fs.readFileSync("./data/pages.yml", "utf8");
|
||||
PAGES = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
return {
|
||||
props: {
|
||||
IDENTITIES,
|
||||
PAGES,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export default function Home({ IDENTITIES, PAGES }) {
|
||||
return (
|
||||
<BasicPage
|
||||
is_home="true"
|
||||
@ -11,7 +34,7 @@ export default function Home() {
|
||||
card_title="Hi! I'm Alexis Werefox!"
|
||||
>
|
||||
<WCard innerText="Basic Info">
|
||||
<IDBlock />
|
||||
<IDBlock identities={IDENTITIES} />
|
||||
</WCard>
|
||||
<WCard innerText="Welcome to my little info site!">
|
||||
<p className="p-4 text-lg text-center text-werefox-blue-dark dark:text-werefox-blue">
|
||||
@ -31,7 +54,7 @@ export default function Home() {
|
||||
</p>
|
||||
</WCard>
|
||||
<WCard innerText="Neat Pages!">
|
||||
<PBlock />
|
||||
<PBlock pages={PAGES} />
|
||||
</WCard>
|
||||
</BasicPage>
|
||||
);
|
||||
|
@ -1,7 +1,6 @@
|
||||
import BasicPage from "../../components/basic-page";
|
||||
import WCard from "../../components/werefox-card";
|
||||
import TCard from "../../components/testimonial-card";
|
||||
import { TESTIMONIALS } from "../../js/variables";
|
||||
import axios from "axios";
|
||||
|
||||
// Async functions to grab user avatars server-side
|
||||
@ -16,6 +15,16 @@ export const getIcon = async ({ json, name }) =>
|
||||
);
|
||||
|
||||
export const getStaticProps = async () => {
|
||||
const fs = require("fs");
|
||||
const yaml = require("js-yaml");
|
||||
let TESTIMONIALS = {};
|
||||
|
||||
try {
|
||||
let fileContent = fs.readFileSync("./data/testimonials.yml", "utf8");
|
||||
TESTIMONIALS = yaml.load(fileContent);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
const promises = Object.entries(TESTIMONIALS).map(([name, { json }]) =>
|
||||
getIcon({ name, json })
|
||||
);
|
||||
@ -26,11 +35,12 @@ export const getStaticProps = async () => {
|
||||
(acc, [name, url]) => ({ ...acc, [name]: url }),
|
||||
{}
|
||||
),
|
||||
TESTIMONIALS,
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
export default function Testimonials({ iconUrls }) {
|
||||
export default function Testimonials({ iconUrls, TESTIMONIALS }) {
|
||||
return (
|
||||
<BasicPage page_title="Werefox Testimonials" card_title="Testimonials!">
|
||||
<WCard
|
||||
|
3808
src/info/yarn.lock
3808
src/info/yarn.lock
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user