2021-05-01 01:15:09 -05:00
|
|
|
import BasicPage from "../../components/basic-page";
|
2021-04-18 23:14:21 -05:00
|
|
|
import WCard from "../../components/werefox-card";
|
|
|
|
import TCard from "../../components/testimonial-card";
|
|
|
|
import axios from "axios";
|
|
|
|
|
|
|
|
// Async functions to grab user avatars server-side
|
|
|
|
|
|
|
|
export const getIcon = async ({ json, name }) =>
|
|
|
|
await axios.get(json).then(
|
|
|
|
({ data }) => [name, data["icon"]["url"]],
|
|
|
|
(error) => {
|
2021-04-25 01:57:01 -05:00
|
|
|
console.log(error);
|
2022-01-19 21:56:01 -06:00
|
|
|
if (name == "Dax") {
|
|
|
|
return [name, `/images/Dax.gif`];
|
|
|
|
}
|
2021-04-18 23:14:21 -05:00
|
|
|
return [name, null];
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
export const getStaticProps = async () => {
|
2021-06-11 03:10:41 -05:00
|
|
|
const fs = require("fs");
|
|
|
|
const yaml = require("js-yaml");
|
|
|
|
let TESTIMONIALS = {};
|
|
|
|
|
|
|
|
try {
|
2021-07-11 01:12:40 -05:00
|
|
|
let fileContent = fs.readFileSync("./data/pages/testimonials.yml", "utf8");
|
2021-06-11 03:10:41 -05:00
|
|
|
TESTIMONIALS = yaml.load(fileContent);
|
|
|
|
} catch (e) {
|
|
|
|
console.log(e);
|
|
|
|
}
|
2021-05-01 01:15:09 -05:00
|
|
|
const promises = Object.entries(TESTIMONIALS).map(([name, { json }]) =>
|
2021-04-18 23:14:21 -05:00
|
|
|
getIcon({ name, json })
|
|
|
|
);
|
|
|
|
const iconUrls = await Promise.all(promises);
|
|
|
|
return {
|
|
|
|
props: {
|
|
|
|
iconUrls: iconUrls.reduce(
|
|
|
|
(acc, [name, url]) => ({ ...acc, [name]: url }),
|
|
|
|
{}
|
|
|
|
),
|
2021-06-11 03:10:41 -05:00
|
|
|
TESTIMONIALS,
|
2021-04-18 23:14:21 -05:00
|
|
|
},
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2021-06-11 03:10:41 -05:00
|
|
|
export default function Testimonials({ iconUrls, TESTIMONIALS }) {
|
2022-01-19 21:56:01 -06:00
|
|
|
console.log(iconUrls)
|
2021-04-18 23:14:21 -05:00
|
|
|
return (
|
2021-10-14 16:22:07 -05:00
|
|
|
<BasicPage
|
|
|
|
page_title="Werefox Testimonials"
|
|
|
|
card_title="Testimonials!"
|
|
|
|
page_button_title="Take me back home!"
|
|
|
|
>
|
2021-05-01 01:15:09 -05:00
|
|
|
<WCard
|
2021-10-14 16:22:07 -05:00
|
|
|
title={`Sometimes, people say some nice things about me. Here are some
|
2021-05-01 01:15:09 -05:00
|
|
|
examples!`}
|
|
|
|
>
|
2021-10-11 22:43:39 -05:00
|
|
|
<div className="p-2 space-y-4">
|
2021-10-06 23:04:38 -05:00
|
|
|
{Object.keys(TESTIMONIALS).map((user) => (
|
|
|
|
<TCard
|
|
|
|
key={TESTIMONIALS[user].url}
|
|
|
|
src={
|
|
|
|
Boolean(iconUrls[user]) ? iconUrls[user] : `/images/${user}.png`
|
|
|
|
}
|
|
|
|
alt={`${user}'s Avatar`}
|
|
|
|
url={TESTIMONIALS[user].url}
|
|
|
|
user={user}
|
|
|
|
innerText={TESTIMONIALS[user].content}
|
|
|
|
/>
|
|
|
|
))}
|
|
|
|
</div>
|
2021-04-25 01:57:01 -05:00
|
|
|
</WCard>
|
|
|
|
</BasicPage>
|
2021-04-18 23:14:21 -05:00
|
|
|
);
|
|
|
|
}
|