Migrating data from JS to YAML.
This commit is contained in:
		
							parent
							
								
									0f55c85ac0
								
							
						
					
					
						commit
						042679198a
					
				
					 20 changed files with 9058 additions and 7181 deletions
				
			
		|  | @ -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 a new issue
	
	 Alexis Werefox
						Alexis Werefox