Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨Migrate the testimonials page #1401

Merged
merged 27 commits into from
Oct 19, 2023
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
9b377c5
✨Migrate the testimonials page
Sep 15, 2023
7752f5e
Merge branch 'main' into testimonialsPage
Sep 15, 2023
7e124a8
✨Add breadcrumb and SEO description
Sep 15, 2023
aa56397
✨Add testimonials component
Sep 19, 2023
30e13a8
Merge branch 'main' into testimonialsPage
Sep 19, 2023
67f97c1
✨Add button to hide internship testimonials from all
Sep 22, 2023
b17f7b1
Merge from main
Sep 25, 2023
a441c27
Merge branch 'main' into testimonialsPage
Sep 25, 2023
c1b5441
🐛Fix the eslint warning
Sep 25, 2023
6675984
✨Migrate part of the testimonial cards from old page
Sep 28, 2023
47ebc04
Merge branch 'main' into testimonialsPage
Oct 7, 2023
816d8b8
📃Migrate testimonial cards
Oct 8, 2023
62f6145
Merge branch 'main' into testimonialsPage
Oct 9, 2023
c1f0d2c
🐛center the loading animation
Oct 9, 2023
f6ec8d2
Merge branch 'main' into testimonialsPage
Oct 9, 2023
b971d3a
Merge branch 'main' into testimonialsPage
Oct 12, 2023
bd259d2
🐛Fix the display issue of testimonial cards
Oct 12, 2023
9aea503
✨Extract testimonialCards as a public component
Oct 17, 2023
9197538
Merge branch 'main' into testimonialsPage
Oct 18, 2023
2720fe2
Merge from `main` branch
Oct 18, 2023
789a6b4
🐛Fix the bug to show testimonials cards correctly
Oct 18, 2023
6dba68e
⚡Remove useless code from company.tsx
KristenHu Oct 19, 2023
7254bad
⚡Remove useless code from company.tsx
KristenHu Oct 19, 2023
d5c9ebd
⚡Remove useless props form testimonials.mdx
Oct 19, 2023
7a188fe
Merge branch 'main' into testimonialsPage
Oct 19, 2023
9897694
🐛Reverse the file
Oct 19, 2023
6f2e28b
⚡Remove the wrong description in testimonialsList
KristenHu Oct 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .tina/__generated__/_graphql.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .tina/__generated__/_lookup.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .tina/__generated__/_schema.json

Large diffs are not rendered by default.

40 changes: 40 additions & 0 deletions .tina/collections/company.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import * as Schemas from "../../components/blocks";
import { videoEmbedBlockSchema } from "../../components/blocks/videoEmbed";
import { microsoftPanelSchema } from "../../components/offices/microsoftPanel";
import { testimonialRowSchema } from "../../components/testimonials/TestimonialRow";
import { seoSchema } from "../../components/util/seo";

import type { Collection } from "tinacms";
Expand All @@ -21,6 +22,8 @@ export const companySchema: Collection = {
fields: [
// @ts-ignore
seoSchema,
// @ts-ignore
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
testimonialRowSchema,
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
{
type: "string",
name: "title",
Expand Down Expand Up @@ -51,6 +54,43 @@ export const companySchema: Collection = {
label: "Show Regional Director Panel",
required: false,
},
{
type: "boolean",
name: "showTestimonials",
label: "Show Testimonials",
},
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
{
type: "boolean",
name: "showAllTestimonials",
label: "Show All Testimonials",
},
{
type: "boolean",
name: "HideInternshipTestimonials",
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
label: "Hide Internship Testimonials from All",
},
{
type: "object",
label: "Testimonial Categories",
name: "testimonialCategories",
ui: {
itemProps(item) {
return {
label:
item.testimonialCategory ?? "Select your testimonial category",
};
},
},
list: true,
fields: [
{
type: "reference",
label: "Testimonial Category",
name: "testimonialCategory",
collections: ["testimonialCategories"],
},
],
},
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
{
type: "object",
list: true,
Expand Down
3 changes: 3 additions & 0 deletions components/blocks/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import { paymentBlockSchema } from "./payment-block";
import { recurringEventSchema } from "./recurringEvent";
import { serviceCardsBlockSchema } from "./serviceCards";
import { tableBlockSchema } from "./tableLayout";
import { testimonialsListSchema } from "./testimonialsList";
import { upcomingEventsBlockSchema } from "./upcomingEvents";
import { verticalImageLayoutBlockSchema } from "./verticalImageLayout";
import { verticalListItemSchema } from "./verticalListItem";
Expand Down Expand Up @@ -82,6 +83,7 @@ export const pageBlocks: Template[] = [
joinAsPresenterSchema,
paymentBlockSchema,
latestTechSchema,
testimonialsListSchema,
];

export * from "../bookingButton/bookingButton";
Expand Down Expand Up @@ -114,6 +116,7 @@ export * from "./newslettersTable";
export * from "./recurringEvent";
export * from "./serviceCards";
export * from "./tableLayout";
export * from "./testimonialsList";
export * from "./upcomingEvents";
export * from "./verticalImageLayout";
export * from "./verticalListItem";
Expand Down
111 changes: 111 additions & 0 deletions components/blocks/testimonialsList.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
import Image from "next/image";
import { useEffect, useState } from "react";
import { FaSpinner } from "react-icons/fa";
import type { Template } from "tinacms";
import { TinaMarkdown } from "tinacms/dist/rich-text";
import client from "../../.tina/__generated__/client";
import { Rating } from "../util/consulting/rating";

const defaultAvatar = "/images/thumbs/avatar-thumbnail.png";

/**
* Render a table of newsletters.
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
* @param data The data for the table.
* @returns The table component.
*/
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
export const TestimonialsList = ({ data: { hideInternshipTestimonials } }) => {
const [testimonials, setTestimonials] = useState([]);
const [hasLoaded, setHasLoaded] = useState(false);

useEffect(() => {
if (!hasLoaded) {
loadTestimonials();
}
}, [hasLoaded]);

const loadTestimonials = () => {
client.queries.testimonialsConnection().then((data) => {
const testimonials = data.data?.testimonialsConnection?.edges?.map(
(edge) => edge?.node
);

const sortedTestimonials = testimonials
?.filter(
(testimonial) =>
testimonial?.categories !== null &&
testimonial?.categories[0]?.category.name !== "Internship"
)
?.map((testimonial) => testimonial);

if (hideInternshipTestimonials) {
setTestimonials(sortedTestimonials);
} else {
setTestimonials(testimonials);
}
setHasLoaded(true);
});
};
KristenHu marked this conversation as resolved.
Show resolved Hide resolved

const TestimonialCard = (testimonial) => {
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
return (
<div
className="flex w-full grow flex-col rounded-md border-b-4 border-b-sswRed bg-gray-100 p-8 text-center text-xl drop-shadow md:min-h-96 md:max-w-sm md:grow-0 md:p-10 md:basis_gap-96-6"
data-aos="flip-right"
key={testimonial?.name}
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
>
<div className="flex flex-col items-center">
<Image
alt={`Picture of ${testimonial?.name} as an avatar`}
src={testimonial?.avatar ?? defaultAvatar}
height={120}
width={120}
quality={90}
className="rounded-full"
/>
</div>
<Rating className="mx-auto mt-8" rating={testimonial?.rating} />
<p className="mt-4 min-h-24">
{testimonial?.name}
{testimonial?.company && (
<>
{", "}
<span className="font-semibold">{testimonial?.company}</span>
</>
)}
</p>
<div className="mt-2 text-sm text-gray-900">
<TinaMarkdown content={testimonial?.body} />
</div>
</div>
);
};

return (
<>
{hasLoaded ? (
<div className="mx-auto my-6 flex w-3/4 flex-row flex-wrap items-stretch justify-center gap-6">
{testimonials.map(TestimonialCard)}
</div>
) : (
<>
<p className="flex items-center justify-center text-xl">
<FaSpinner className="m-icon animate-spin" />
Loading Testimonials...
</p>
</>
)}
</>
);
};

export const testimonialsListSchema: Template = {
name: "testimonialsList",
label: "Testimonials List",
fields: [
{
type: "string",
label: "Header text",
name: "headerText",
},
],
};
19 changes: 19 additions & 0 deletions content/company/testimonials.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
seo:
title: Testimonials
description: >-
Delighting clients worldwide with top-tier Microsoft solutions.
Testimonials, scalable services, 30+ years of expertise.
showBreadcrumb: true
subTitle: "#### We go the extra mile to turn our clients into fans\n\nHere's a list of some of\_[our clients](https://www.ssw.com.au/SSW/Company/Clients/)' testimonials. From small business solutions to large multinational companies, SSW has made happy clients all over the world and we are proud to share some of our experiences with you.\n\n## About US\n\nSSW's Consulting Services have delivered best of breed Microsoft solutions for more than 1,000 clients in 15 countries. With 40 consultants in 5 countries, SSW's developers are some of the best in the business. We have many Microsoft Certifications, 5 MVPs, and a Microsoft Regional Director.\n\nWe deliver scalable and extensible custom solutions with the future in mind. Our solutions improve businesses' bottom lines, with real time savings and long term value. We will provide you with the competitive advantage you need.\n\nSSW Consulting has over 30 years of experience developing awesome Microsoft solutions that today build on top of Angular, React, Azure, TFS, SharePoint, Office 365, .NET, WebAPI, Dynamics 365 and SQL Server.\n\n[KNOW MORE](https://www.ssw.com.au/ssw/Company/AboutUs.aspx)\n"
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
sidebar: ''
sidebarTestimonial: ''
showRdPanel: false
title: Testimonials
showTestimonials: false
testimonialCategories:
- testimonialCategory: content/testimonialCategories/General.mdx
showAllTestimonials: true
HideInternshipTestimonials: true
KristenHu marked this conversation as resolved.
Show resolved Hide resolved
---

9 changes: 9 additions & 0 deletions content/testimonials/AndrewJClark.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Andrew J Clark
company: The Logistics Linchpin
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

I wanted to let you know how great it has been working with Kiki over the last two days. Kiki's work has been outstanding and he helped me through a couple of difficult conversations with the client that could have jeopardised the whole progress of not only the implementation of Zendesk but my whole project. Everything is now on track for success thanks to Kiki's work and more particularly his ability to handle an unexpected and tense situation with calm authority.
9 changes: 9 additions & 0 deletions content/testimonials/BillJohnson.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Bill Johnson
company: InfoMet Pty Ltd
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

SSW Exchange Reporter is an essential tool for anyone trying to monitor their organizations email. We use SSW Exchange Reporter because it generates professional user friendly reports.
9 changes: 9 additions & 0 deletions content/testimonials/BillRussell.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Bill Russell
company: Pioneer Solutions Group
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

Thanks. The new download [of SSW Access Reporter] is exactly what I needed. Awesome Product!
9 changes: 9 additions & 0 deletions content/testimonials/BoSearle.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Bo Searle
company: Vault - Secure Sovereign Community Cloud
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

Just wanted to quickly to let you know that David has done a expeciational job for this project. given the challenging landscape of Vault's backend, he is always happy to hear the problems we have and trying his best to work around and find a solution for us. Nothing is ever too much for him so far! I really appreciate his ability to work with a non technical person (myself) to ensure we create a desirable outcome for this project.
9 changes: 9 additions & 0 deletions content/testimonials/ChristineChang.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Christine Chang
company: Tapp Group Limited
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

Michael and Tiago were invaluable in aiding us to refresh and update our website. Tiago has been very patient and helpful throughout the entire process, guiding me as we worked through what was needed, being accommodating based on my limited knowledge of websites and amending as we continuously reassessed what we needed from SSW. Thank you both for the hard work and patience.
10 changes: 10 additions & 0 deletions content/testimonials/DanielMurtagh.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Daniel Murtagh
company: Bell Shakespeare
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

I just wanted to drop you a quick line to pass on my sincere thanks and appreciation for Jean's work.
He has been an absolute pleasure to work on our SharePoint development. He is polite, friendly, solutions focussed, open and honest. I have particularly appreciated his ability to take the time to understand our business needs and to implement solutions that are tailored and customised to suit our needs.
13 changes: 13 additions & 0 deletions content/testimonials/DavidBlacketer.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
name: David Blacketer
company: Berkley IT in Asia Pacific
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

As we are now 20 plus weeks into our projects with yourselves I wanted to express that I am very happy with the team's productivity and everyone's participation but especially impressed with Jean, Kosta and Matt Wicks.
Jean's management is very much on point, prompt, detailed, decisive change management, and outcome focused which is a lot of comfort to me as my time investment capability is minimal but appropriate for the project successful delivery.
The interaction and engagement across our organisations is also working well, efficient, collaborative and all things good that I want in a well-run and successful development project.
Complements aside, as I have discussed with Jean, I am looking forward to continuing our engagement with this team on 3 follow-on projects already approved and a fourth likely to be aproved before Jan 2021, thanks!

9 changes: 9 additions & 0 deletions content/testimonials/EugeniuJalba.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Eugeniu Jalba
company: SSW Event Attendee
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

Peter, Your great teaching skills, the very interactive session by showing the "correct" way of doing things (including the various alternative methods) made this class outstanding.
9 changes: 9 additions & 0 deletions content/testimonials/FrancineBinns.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Francine Binns
company: IPWEA NSW & ACT
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

It was a pleasure working with Jayden. He was professional, accommodating, listened and advised when necessary. I've also had positive feedback from IPWEA Australasia.
10 changes: 10 additions & 0 deletions content/testimonials/FrancisKirby.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Francis Kirby
company: BioCurate
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

I think what the team has done has been great. They've been very responsive and receptive to feedback. The platform they've generated exceeds what I'd first envisioned (i.e., is much higher quality), and of course the fact that we're well below the original cost estimate is also awesome.
In summary, I think Chris, Alex, Joseph, and yourself have done an amazing job, and I'm looking forward to the internal testing and getting the wider teams feedback.
9 changes: 9 additions & 0 deletions content/testimonials/Glenn.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Glenn
company: Australian Government Organization
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

I must say that I found Dan and Daragh a pleasure to work with. Easily the best two consultants I have worked with in IT in the last 10 years. Please pass on my positive feedback to anyone relevant at SSW.
10 changes: 10 additions & 0 deletions content/testimonials/GrantBloxham.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Grant Bloxham
company: Bstar
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

Rebecca has been a pleasure to work with and her insights are highly valued by the Bstar team.
We started with an idea that will reshape our business and Rebecca has been able to create a user experience we believe will strongly engage our network of accountants and their SME clients.
9 changes: 9 additions & 0 deletions content/testimonials/KathrynElegino.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Kathryn Elegino
company: Smart Group
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

I'm writing to you to pass on my thanks to your team for the stellar job done. It has been a pleasure working with Jean as he is an upstanding person who genuinely cares about the work he does, and is a true master of his craft.
13 changes: 13 additions & 0 deletions content/testimonials/KenSalan.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
name: Ken Salan
company: AuctionsPlus
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

We've commenced the production release of the new Auction Platform which each of you have played a role in developing.
While it's still in the early stages of release, so far it has been a great success. Our plan is to continue to monitor, enhance and increase its use over the coming 'busy' months, as we eventually look to phase out the existing system.
It has been a massive year of development and learning for all involved, and by all accounts, this is an application that will help set AuctionsPlus up for continued success, growth and service for years to come.
On behalf of @Angus and myself, we'd like to say congratulations and thanks for your efforts.

10 changes: 10 additions & 0 deletions content/testimonials/LouiseRidlen.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Louise Ridlen
company: Gem Training Solutions
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

GEM Training Solutions specialises in computer training in database management, template development in Microsoft PowerPoint, Word and Excel, and other training related services. We have employed SSW this year for the provision of training services, particularly in database management. The software tools used for the projects have been Microsoft Access 2000 on a Windows 2000 platform.
Tailored developer training services are provided professionally, competently and satisfactorily by SSW and consequently we have returned to them for further software related services.
9 changes: 9 additions & 0 deletions content/testimonials/MarkPigram.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Mark Pigram
company: Contracts Online
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

It was a pleasure to have you in the office again. I continue to be impressed by the quality of work and advice you provide.
9 changes: 9 additions & 0 deletions content/testimonials/PeterDimaridis.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Peter Dimaridis
company: AuctionsPlus
rating: -1
categories:
- category: content/testimonialCategories/General.mdx
---

We have dealt with several people at SSW from a network tech helping us with a domain issue, to a couple of graphic designers and several programmers and they have ALL been first rate.
Loading
Loading