Skip to content

Commit

Permalink
Merge branch 'main' into usergroup-march-updating-image
Browse files Browse the repository at this point in the history
  • Loading branch information
Geordie88 authored Mar 20, 2024
2 parents 32be021 + 6d171f7 commit 9e39033
Show file tree
Hide file tree
Showing 79 changed files with 2,558 additions and 1,050 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/template-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
run: |
# AppInsight - Connection String
az config set extension.use_dynamic_install=yes_without_prompt
$AppInsightName = if ("${{ inputs.tag }}" -ieq "production") { "${{ env.APP_INSIGHT_PROD }}" } else { "${{ env.APP_INSIGHT_DEV }}" }
$AppInsightName = if ("${{ inputs.tag }}" -clike "pr-*") { "${{ env.APP_INSIGHT_DEV }}" } else { "${{ env.APP_INSIGHT_PROD }}" }
$AppInsightConnectionString = (az monitor app-insights component show --resource-group ${{ env.AZURE_RESOURCE_GROUP }} --app $AppInsightName --query connectionString -o tsv)
echo "AppInsightConnectionString=$AppInsightConnectionString" >> $env:GITHUB_OUTPUT
Expand Down
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__/_schema.json

Large diffs are not rendered by default.

45 changes: 0 additions & 45 deletions .tina/__generated__/formGroup.module-5FN2Y3T3.css

This file was deleted.

44 changes: 0 additions & 44 deletions .tina/__generated__/popup.module-4FC6UIJG.css

This file was deleted.

39 changes: 0 additions & 39 deletions .tina/__generated__/popup.module-6BC6KIGZ.css

This file was deleted.

7 changes: 0 additions & 7 deletions .tina/__generated__/training.module-NPVIDT3N.css

This file was deleted.

71 changes: 50 additions & 21 deletions components/blocks-renderer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,68 @@ import dynamic from "next/dynamic";
import { AboutUs } from "./blocks/aboutUs";
import { Agenda } from "./blocks/agenda";
import { BuiltOnAzure } from "./blocks/builtOnAzure";
import { Carousel } from "./blocks/carousel";
import { ClientLogos } from "./blocks/clientLogos";
import { ColorBlock } from "./blocks/colorBlock";
import { Content } from "./blocks/content";
import { ContentCard } from "./blocks/contentCard";
import { CustomImage } from "./blocks/customImage";
import { DownloadBlock } from "./blocks/downloadBlock";
import { GridLayout } from "./blocks/gridLayout";
import { FixedColumns } from "./blocks/fixedColumns";
import { JotFormEmbed } from "./blocks/jotFormEmbed";
import { PaymentBlock } from "./blocks/payment-block";
import { ServiceCards } from "./blocks/serviceCards";
import { TableLayout } from "./blocks/tableLayout";
import { UpcomingEvents } from "./blocks/upcomingEvents";
import { VerticalImageLayout } from "./blocks/verticalImageLayout";
import { VerticalListItem } from "./blocks/verticalListItem";
import { VideoEmbed } from "./blocks/videoEmbed";
import { ClientList } from "./company/clientList";
import { EventBooking } from "./training/eventBooking";
import { LocationBlock } from "./training/locationBlock";
import { PresenterBlock } from "./training/presenterBlock";
import { TrainingInformation } from "./training/trainingInformation";
import { TrainingLearningOutcome } from "./training/trainingLearningOutcome";
import { LatestTech } from "./usergroup/latestTech";

const Carousel = dynamic(
() => import("./blocks/carousel").then((mod) => mod.Carousel),
{
ssr: false,
}

const BookingButton = dynamic(() =>
import("./bookingButton/bookingButton").then((mod) => mod.BookingButton)
);

const ClientList = dynamic(() =>
import("./company/clientList").then((mod) => mod.ClientList)
);

const ColorBlock = dynamic(() =>
import("./blocks/colorBlock").then((mod) => mod.ColorBlock)
);

const DownloadBlock = dynamic(() =>
import("./blocks/downloadBlock").then((mod) => mod.DownloadBlock)
);

const GridLayout = dynamic(() =>
import("./blocks/gridLayout").then((mod) => mod.GridLayout)
);

const BookingButton = dynamic(
() =>
import("./bookingButton/bookingButton").then((mod) => mod.BookingButton),
{ ssr: false }
const LatestTech = dynamic(() =>
import("./usergroup/latestTech").then((mod) => mod.LatestTech)
);

const PaymentBlock = dynamic(() =>
import("./blocks/payment-block").then((mod) => mod.PaymentBlock)
);

const EventBooking = dynamic(() =>
import("./training/eventBooking").then((mod) => mod.EventBooking)
);

const LocationBlock = dynamic(() =>
import("./training/locationBlock").then((mod) => mod.LocationBlock)
);

const PresenterBlock = dynamic(() =>
import("./training/presenterBlock").then((mod) => mod.PresenterBlock)
);
const TrainingInformation = dynamic(() =>
import("./training/trainingInformation").then(
(mod) => mod.TrainingInformation
)
);
const TrainingLearningOutcome = dynamic(() =>
import("./training/trainingLearningOutcome").then(
(mod) => mod.TrainingLearningOutcome
)
);

const componentMap = {
Expand Down Expand Up @@ -67,6 +95,7 @@ const componentMap = {
ColorBlock,
DownloadBlock,
GridLayout,
FixedColumns,
};

export const Blocks = ({ prefix, blocks }) => {
Expand Down
6 changes: 3 additions & 3 deletions components/blocks/aboutUs.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import classNames from "classnames";
import dayjs from "dayjs";
import { useState } from "react";
import { memo, useState } from "react";
import type { Template } from "tinacms";

import { BiChevronRightCircle } from "react-icons/bi";
Expand Down Expand Up @@ -141,14 +141,14 @@ export const AboutUs = ({ data }) => {
);
};

const TV = ({ className }) => {
const TV = memo(function TV({ className }: { className?: string }) {
return (
<div className={className}>
<h2 className="mt-0">tv.ssw.com</h2>
<VideoModal url={layoutData.aboutUs.video.url} />
</div>
);
};
});

const ContactUs = ({
className,
Expand Down
39 changes: 29 additions & 10 deletions components/blocks/carousel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,16 @@ import { tinaField } from "tinacms/dist/react";

import type { Template } from "tinacms";

import { Carousel as CarouselImplementation } from "react-responsive-carousel";

import dynamic from "next/dynamic";
import { Container } from "../util/container";
import { Section } from "../util/section";

import "react-responsive-carousel/lib/styles/carousel.min.css";

const CarouselImplementation = dynamic(() =>
import("react-responsive-carousel").then((module) => module.Carousel)
);

export const Carousel = ({ data }) => {
const router = useRouter();

Expand All @@ -36,9 +41,10 @@ export const Carousel = ({ data }) => {
>
<Container
size="custom"
className="w-full"
className={/* eslint-disable-line */ "aspect-carousel w-full"}
data-tina-field={tinaField(data, carouselBlock.delay)}
>
{/* @ts-expect-error next/dynamic */}
<CarouselImplementation
autoPlay={true}
infiniteLoop={true}
Expand All @@ -55,20 +61,33 @@ export const Carousel = ({ data }) => {
renderIndicator={createCarouselIndicator}
>
{data.items &&
data.items.map((props, index: React.Key) =>
createCarouselItemImage(props, index, data)
)}
data.items.map((item, index) => (
<CarouselItemImage
key={index + item.label}
imgSrc={item.imgSrc}
label={item.label}
index={index}
carouselSchema={item.carouselSchema}
/>
))}
</CarouselImplementation>
</Container>
</Section>
);
};

const createCarouselItemImage = (props, index: React.Key, carouselSchema) => {
const { imgSrc, label } = props;
type CarouselItemImageProps = {
imgSrc: string;
label: string;
index: number;
carouselSchema: Record<string, unknown>;
};

const CarouselItemImage = (props: CarouselItemImageProps) => {
const { imgSrc, label, index, carouselSchema } = props;

return (
<div
key={index}
data-tina-field={tinaField(
carouselSchema,
carouselBlock.items.value + `[${index}]`
Expand All @@ -79,7 +98,7 @@ const createCarouselItemImage = (props, index: React.Key, carouselSchema) => {
alt={label}
height={388}
width={1080}
sizes="100vw"
priority={index === 0}
/>
{/* `legend` required so that the carousel works properly */}
<p className="legend sr-only">{label}</p>
Expand Down
3 changes: 2 additions & 1 deletion components/blocks/clientLogos.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ export const ClientLogos = () => {
key={client.clientName}
src={client.imageUrl}
alt={client.clientName + " logo"}
height={50}
height={113}
width={200}
sizes="20vw"
className="my-4 max-w-full rounded-lg"
/>
))}
Expand Down
Loading

0 comments on commit 9e39033

Please sign in to comment.