/richard-catty

richardcatty.com - Nextjs / Apollo Client / Sanity CMS

Primary LanguageTypeScript

Richard Catty - Eco-conscious Writer

This is the website for writer Richard Catty.

Client side the application has been built with Nextjs and TypeScript. When the user first lands on the home page they are welcomed with a paragraph being typed out using React Typist.

Home Page Typing Text

The hamburger menu opens the side navigation, which appears from the right. The side nav and the hamburger menu are both animated with simple CSS transitions.

Side Nav

The social media icons on the home page take the user to their respective profiles, though the email icon opens a modal containing the contact email address. This is inserted into the DOM outwith the React application using a portal.

Modal Email

Each of the pages have their JSON content generated at build time using getStaticProps as the content changes infrequently. A web hook is being used to trigger a rebuild whenever changes are made in the CMS.

The CMS has been built with Sanity.io and has a GraphQL API. Client side data fetching is being done with Apollo Client.

On each page the user can hover over items.

Testimonials Page

When they hover, a card appears giving the user a preview. Clicking on Read More takes the user to the link.

Testimonials Page Hover

Most of the links are web links navigating the user to a particular organisation or online article, though occasionally they are PDF articles which will load in the browser.

Portfolio Page Hover

The majority of the styling has been done using Styled Components, though the hovering card which appears on each page and the home page icons are using Grommet UI.

Project Page Hover