generated from nhcarrigan/template
feat: move to next.js (!14)
Reviewed-on: https://codeberg.org/nhcarrigan/portfolio/pulls/14 Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com> Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import { Certification } from "@/components/cert";
|
||||
import { Review } from "@/components/review";
|
||||
import { Rule } from "@/components/rule";
|
||||
import { Certifications } from "@/config/Certifications";
|
||||
import { Testimonials } from "@/config/Testimonials";
|
||||
import { Charm } from "next/font/google";
|
||||
|
||||
const Reviews = (): JSX.Element => {
|
||||
return (
|
||||
<>
|
||||
<main className="w-[95%] text-center max-w-4xl m-auto mt-16 mb-16 rounded-lg">
|
||||
<h1 className="text-5xl">Client Reviews</h1>
|
||||
<section>
|
||||
<p className="mb-2">
|
||||
We think we're pretty great to work with, but don't take
|
||||
our word for it. Here's what our clients have to say.
|
||||
</p>
|
||||
<Rule />
|
||||
<ol className="relative border-s border-[--primary] w-4/5 m-auto">
|
||||
{Testimonials.sort(
|
||||
(a, b) => b.date.getTime() - a.date.getTime(),
|
||||
).map((review) => (
|
||||
<Review
|
||||
key={review.date.toISOString()}
|
||||
name={review.name}
|
||||
date={review.date}
|
||||
content={review.content}
|
||||
sourceIcon={review.sourceIcon}
|
||||
sourceUrl={review.sourceUrl}
|
||||
sourceName={review.sourceName}
|
||||
/>
|
||||
))}
|
||||
</ol>
|
||||
</section>
|
||||
</main>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default Reviews;
|
||||
Reference in New Issue
Block a user