Skip to content

Commit

Permalink
Merge branch 'main' into 2340-logo-download-behaviour
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewwaltosssw committed Mar 26, 2024
2 parents ac174dc + 62dea74 commit 0f476b3
Show file tree
Hide file tree
Showing 25 changed files with 12,812 additions and 6,804 deletions.
15 changes: 15 additions & 0 deletions .github/workflows/pr-close-delete-env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,21 @@ jobs:
Write-Host '❌ Key Vault not found'
}
- name: Delete all untagged images
run: |
az acr manifest list-metadata `
-r ${{ env.ACR_NAME }} `
-n ${{ env.IMAGE_NAME }} `
--query "[?tags==null].digest" `
-o tsv | `
%{ `
az acr repository delete `
-n ${{ env.ACR_NAME }} `
-t ${{ env.IMAGE_NAME }}@$_ `
--yes `
}
Write-Host "✅ All untagged images have been deleted"
- name: ACR - Delete image
run: |
$imageTagWithPrefix = '${{ env.SLOT_PREFIX }}${{ matrix.SLOT_NAME}}'
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__/_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.

25 changes: 25 additions & 0 deletions .tina/collections/company.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ import {
fixedColumnsSchema,
testimonialsListSchema,
verticalImageLayoutBlockSchema,
sectionHeaderSchema,
tableBlockSchema,
customDownloadButtonSchema,
colorBlockSchema,
carouselBlockSchema,
} from "../../components/blocks";
import { videoEmbedBlockSchema } from "../../components/blocks/videoEmbed";
import { microsoftPanelSchema } from "../../components/offices/microsoftPanel";
Expand Down Expand Up @@ -32,6 +37,16 @@ export const companySchema: Collection = {
tipField,
// @ts-ignore
seoSchema,
{
type: "object",
list: true,
name: "beforeBody",
label: "Before body",
ui: {
visualSelector: true,
},
templates: [carouselBlockSchema],
},
{
type: "string",
name: "title",
Expand All @@ -47,6 +62,11 @@ export const companySchema: Collection = {
verticalImageLayoutBlockSchema,
tripleColumnImageBlockSchema,
fixedColumnsSchema,
sectionHeaderSchema,
tableBlockSchema,
customDownloadButtonSchema,
colorBlockSchema,
carouselBlockSchema,
Schemas.utilityButtonSchema,
],
},
Expand All @@ -57,6 +77,11 @@ export const companySchema: Collection = {
required: false,
templates: [microsoftPanelSchema],
},
{
type: "boolean",
name: "fixedWidthSidebar",
label: "Fixed width sidebar"
},
{
type: "string",
name: "sidebarTestimonial",
Expand Down
11 changes: 6 additions & 5 deletions components/blocks/colorBlock.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import React from "react";
import classNames from "classnames";
import type { Template } from "tinacms";
import { tinaField } from "tinacms/dist/react";
Expand Down Expand Up @@ -31,12 +32,12 @@ export const ColorBlock = (data: ColorBlockProps) => {
</p>
<div className="block grid-cols-1 md:grid md:grid-cols-2">
{colorRow?.map((row, index) => (
<>
<ColorRow key={index} {...row} />
<React.Fragment key={index}>
<ColorRow {...row} />
<div className="col-span-2">
<TinaMarkdown content={row.caption} />
</div>
</>
</React.Fragment>
))}
</div>
</div>
Expand All @@ -51,7 +52,7 @@ const ColorRow = (props: ColorRow) => {
<>
<div
className={classNames(
"col-span-1 my-0 flex flex-col items-center justify-center px-4 md:h-10",
"col-span-1 my-0 flex flex-col items-center justify-center px-4",
sswColors[`${firstColor}`]
)}
>
Expand All @@ -61,7 +62,7 @@ const ColorRow = (props: ColorRow) => {
</div>
<div
className={classNames(
"col-span-1 my-0 flex flex-col items-center justify-center px-4 md:h-10",
"col-span-1 my-0 flex flex-col items-center justify-center px-4 ",
sswColors[`${secondColor}`]
)}
>
Expand Down
6 changes: 4 additions & 2 deletions components/blocks/downloadBlock.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ const Download = (data: Downloads) => {
secondLink,
secondLinkText,
} = data;

const srcImage = img && !isImgBroken ? img : "/images/broken-image.jpg";
return (
<div className="col-span-1">
<div className={classNames("py-3 text-black md:px-6")}>
Expand All @@ -70,10 +72,10 @@ const Download = (data: Downloads) => {
)}
data-tina-field={tinaField(data, "img")}
>
{img && !isImgBroken && (
{img && (
<Image
onError={() => setIsImgBroken(true)}
src={img}
src={srcImage}
alt={header}
height={400}
width={210}
Expand Down
5 changes: 5 additions & 0 deletions components/blocks/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ import { upcomingEventsBlockSchema } from "./upcomingEvents";
import { verticalImageLayoutBlockSchema } from "./verticalImageLayout";
import { verticalListItemSchema } from "./verticalListItem";
import { videoEmbedBlockSchema } from "./videoEmbed";
import { sectionHeaderSchema } from "./sectionHeader";

export const pageBlocks: Template[] = [
aboutUsBlockSchema,
Expand Down Expand Up @@ -96,6 +97,7 @@ export const pageBlocks: Template[] = [
colorBlockSchema,
downloadBlockSchema,
gridLayoutSchema,
sectionHeaderSchema,
];

export * from "../bookingButton/bookingButton";
Expand All @@ -116,9 +118,11 @@ export * from "./builtOnAzure";
export * from "./carousel";
export * from "./citation";
export * from "./clientLogos";
export * from "./colorBlock";
export * from "./content";
export * from "./contentCard";
export * from "./customImage";
export * from "./CustomDownloadButton";
export * from "./dynamicColumns";
export * from "./eventLink";
export * from "./fixedColumns";
Expand All @@ -128,6 +132,7 @@ export * from "./hero";
export * from "./jotFormEmbed";
export * from "./newslettersTable";
export * from "./recurringEvent";
export * from "./sectionHeader";
export * from "./serviceCards";
export * from "./tableLayout";
export * from "./testimonialsList";
Expand Down
6 changes: 6 additions & 0 deletions components/blocks/mdxComponentRenderer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import type { TripleColumnImageBlockProps } from "./tripleColumnImageBlock";
import type { YoutubePlaylistProps } from "./youtubePlaylist";

import { BookingButton } from "../bookingButton/bookingButton";
import { SectionHeaderProps } from "./sectionHeader";

const UtilityButton = dynamic(() =>
import("../button/utilityButton").then((mod) => mod.UtilityButton)
Expand Down Expand Up @@ -117,6 +118,9 @@ const VideoEmbed = dynamic(() =>
const YoutubePlaylistBlock = dynamic<YoutubePlaylistProps>(() =>
import("./youtubePlaylist").then((mod) => mod.YoutubePlaylistBlock)
);
const SectionHeader = dynamic(() =>
import("./sectionHeader").then((mod) => mod.SectionHeader)
);

export const componentRenderer: Components<{
ClientLogos: Record<string, never>;
Expand Down Expand Up @@ -243,6 +247,7 @@ export const componentRenderer: Components<{
};
JotFormEmbed: JotFormEmbedProps;
ColorBlock: ColorBlockProps;
SectionHeader: SectionHeaderProps;
}> = {
AgreementForm: (props) => <AgreementForm data={props} />,
ClientLogos: () => <ClientLogos />,
Expand Down Expand Up @@ -280,4 +285,5 @@ export const componentRenderer: Components<{
),
JotFormEmbed: (props) => <JotFormEmbed {...props} />,
ColorBlock: (props) => <ColorBlock {...props} />,
SectionHeader: (props) => <SectionHeader {...props} />,
};
33 changes: 33 additions & 0 deletions components/blocks/sectionHeader.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { Template } from "tinacms";

export type SectionHeaderProps = {
headerText: string;
};

export const SectionHeader = (props: SectionHeaderProps) => {
const { headerText } = props;

return (
<h3
id={headerText.toLowerCase().replaceAll(" ", "-")}
className="bg-gray-600 p-2 text-base text-white"
>
{headerText}
</h3>
);
};

export const sectionHeaderSchema: Template = {
name: "SectionHeader",
label: "Section Header",
ui: {
itemProps: (item) => ({ label: item?.headerText }),
},
fields: [
{
type: "string",
label: "Header Text",
name: "headerText",
},
],
};
3 changes: 2 additions & 1 deletion components/filter/events.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -319,10 +319,11 @@ const LoadMore = ({ load, isLoading }: LoadMoreProps) => {
<UtilityButton
onClick={() => !isLoading && load()}
buttonText="Load More"
size="small"
className="!mt-0"
/>
{isLoading && (
<p className="flex flex-row pt-6 text-xl">
<p className="flex flex-row items-center pt-3 text-base">
<FaSpinner className="m-icon animate-spin" /> Loading more...
</p>
)}
Expand Down
2 changes: 1 addition & 1 deletion components/layout/footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const CopyrightInfo = () => {
<div>
&copy; 1990-{new Date().getFullYear()} SSW. All rights reserved.
</div>
<div>
<div className="text-center">
<CustomLink href={chooseIssueURL}>FEEDBACK TO SSW</CustomLink>
<Divider />
<CustomLink href="/terms-and-conditions">
Expand Down
20 changes: 20 additions & 0 deletions components/layout/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ import { useLiveStreamProps } from "../../hooks/useLiveStreamProps";
import { Footer, PreFooter } from "./footer";
import { Theme } from "./theme";

import { useAppInsightsContext } from "@microsoft/applicationinsights-react-js";
import dayjs from "dayjs";
import dynamic from "next/dynamic";
import { Open_Sans } from "next/font/google";
import { useReportWebVitals } from "next/web-vitals";
import { WebSite, WithContext } from "schema-dts";
import { MegaMenuLayout, NavMenuGroup } from "ssw.megamenu";
import layoutData from "../../content/global/index.json";
Expand Down Expand Up @@ -86,6 +88,24 @@ export const Layout = ({
"[)"
);

const appInsights = useAppInsightsContext();

useReportWebVitals((metric) => {
switch (metric.name) {
case "TTFB":
case "FCP":
case "LCP":
case "FID":
case "CLS":
case "INP":
appInsights.trackMetric(
{ name: metric.name, average: metric.value },
{ page: router.asPath }
);
break;
}
});

return (
<>
<Head>
Expand Down
2 changes: 1 addition & 1 deletion content/company/case-study/shepherd-centre.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ seo:
showBreadcrumb: true
heading: Shepherd Centre
subHeading: Assisting children who have hearing loss
content: "<VideoEmbed url=\"https://youtu.be/g4_MnAZJpxg\" videoWidth=\"w-1/2\" removeMargin={true} uncentre={true} overflow={true} caption=\"Microsoft Dynamics & Power Platform in action - Helping Deaf Children reach their full potential\" duration=\"11 mins\" />\n\n## The Challenge\n\nMore than 90% of children globally and 50% in Australia miss out on specialist support for disabling levels of hearing loss. For more than half a century, The Shepherd Centre’s mission has been to make sure that these kids develop the best-spoken language and social skills literacy.\n\nThe Shepherd Centre team needed to modernize two assessment tools and two educational courses they had created for clinicians and parents.\n\nThese tools previously worked as a desktop native application. They already had a small database, and the desktop apps saved information into an existing local database. However, it was slow, located on-premises, and not on the cloud, so it was not distributable across other centrers in Australia. At that stage, the concept was excellent, but it was impossible to make this solution scalable and available worldwide.\n\n## We make complicated things simple\n\nOur UX team designed the UI to be more user-friendly, and they worked together with the development team to make this solution scalable.\n\nFrom many paper notes and records, a tiny database, and a concept in a few clinicians’ minds, SSW Solution Architects\_[Calum Simpson](https://www.ssw.com.au/people/calum-simpson)\_and\_[Mehmet Ozdemir](https://www.ssw.com.au/people/mehmet)\_worked continuously on developing this application for 9 months until an MVP was successfully delivered.\n\nThey used Microsoft Dynamics, Power Platform, Sitefinity, Azure, and .NET across the various parts of the system, integrating them all together to give life to HearHub.\n\nHearHub is an integrated online platform that connects two tools created by The Shepherd Centre: Reddi and FLI-P.\n\n[REDDI](https://hearhub.org/home/features/tools/reddi/)\_focuses on children's ability to hear their access to sound, so it was designed to track a child's functional access to the critical sounds used in speech, both through detection and imitation.\n\n[FLI-P](https://hearhub.org/home/features/tools/fli-p/)\_is a series of questions and tasks that track the listening development journey of a child from just a few months of age all the way through to six. This tool enables these children to get the listening skill development they need to get the subsequent language development.\n\nWith these tools, the clinicians can now visualize the data in Power BI and find out where the children are in their journey. That way, they can accurately plan the next steps for that child’s development to develop the child's skills and track the requirements for additional emphasis or cues in their treatment.\n\n## Results\n\nOver the past 3 years, The Shepherd Centre has successfully aided over 1.4 thousand children in Australia. Through optimized assessment, therapy, and the use of hearing devices, over 40% of children who initially had listening skills below their age-appropriate levels were able to reach those levels. This is a remarkable achievement that significantly improves their prospects of acquiring language, literacy, and social skills on par with their hearing peers. Now, 75-80% of all graduates achieve language scores equivalent to their peers – an impressive figure. These results are possible because of the real-time data they now have access to.\n\nThe forecast for HearHub's impact is astounding. Over 190 thousand children are expected to benefit between 2023 and 2026 in a network of more than 9.5 thousand hearing health professionals across the USA, Canada, Mexico, Japan, UK, Ireland, Australia, New Zealand, South Africa, and Indonesia.\n\nAccording to Aleisha Davis, CEO of The Shepherd Centre, HearHub has the potential to be transformative on a global scale. Helping children with hearing loss receive the support they deserve, unlocking their full potential for a brighter future.\n\n## Microsoft Partner of the Year Finalist\n\nThis SSW project has been recognized as a Microsoft Partner of the Year Finalist for 2023!\n\n<CustomImage src=\"/images/company/poty-finalist-inclusion-logo.png\" altText=\"Microsoft Partner of the Year Finalist\" height={259} width={400} alignment=\"items-start\" />\n\n## Related links\n\n* [Non-Profit Software Solutions](https://www.ssw.com.au/industry/non-profit)\n* [The Shepherd Centre website](https://shepherdcentre.org.au/)\n* [Hearhub website](https://hearhub.org/)\n"
content: "<VideoEmbed url=\"https://youtu.be/g4_MnAZJpxg\" videoWidth=\"w-1/2\" removeMargin={true} uncentre={true} overflow={true} caption=\"Microsoft Dynamics & Power Platform in action - Helping Deaf Children reach their full potential\" duration=\"11 mins\" />\n\n## The Challenge\n\nMore than 90% of children globally and 50% in Australia miss out on specialist support for disabling levels of hearing loss. For more than half a century, The Shepherd Centre’s mission has been to make sure that these kids develop the best-spoken language and social skills literacy.\n\nThe Shepherd Centre team needed to modernize two assessment tools and two educational courses they had created for clinicians and parents.\n\nThese tools previously worked as a desktop native application. They already had a small database, and the desktop apps saved information into an existing local database. However, it was slow, located on-premises, and not on the cloud, so it was not distributable across other centrers in Australia. At that stage, the concept was excellent, but it was impossible to make this solution scalable and available worldwide.\n\n## We make complicated things simple\n\nOur UX team designed the UI to be more user-friendly, and they worked together with the development team to make this solution scalable.\n\nFrom many paper notes and records, a tiny database, and a concept in a few clinicians’ minds, SSW Solution Architects\_[Calum Simpson](https://www.ssw.com.au/people/calum-simpson)\_and\_[Mehmet Ozdemir](https://www.ssw.com.au/people/mehmet)\_worked continuously on developing this application for 9 months until an MVP was successfully delivered.\n\nThey used Microsoft Dynamics, Power Platform, Sitefinity, Azure, and .NET across the various parts of the system, integrating them all together to give life to HearHub.\n\nHearHub is an integrated online platform that connects two tools created by The Shepherd Centre: Reddi and FLI-P.\n\n[REDDI](https://hearhub.org/home/features/tools/reddi/)\_focuses on children's ability to hear their access to sound, so it was designed to track a child's functional access to the critical sounds used in speech, both through detection and imitation.\n\n[FLI-P](https://hearhub.org/home/features/tools/fli-p/)\_is a series of questions and tasks that track the listening development journey of a child from just a few months of age all the way through to six. This tool enables these children to get the listening skill development they need to get the subsequent language development.\n\nWith these tools, the clinicians can now visualize the data in Power BI and find out where the children are in their journey. That way, they can accurately plan the next steps for that child’s development to develop the child's skills and track the requirements for additional emphasis or cues in their treatment.\n\n## Results\n\nOver the past 3 years, The Shepherd Centre has successfully aided over 1.4 thousand children in Australia. Through optimized assessment, therapy, and the use of hearing devices, over 40% of children who initially had listening skills below their age-appropriate levels were able to reach those levels. This is a remarkable achievement that significantly improves their prospects of acquiring language, literacy, and social skills on par with their hearing peers. Now, 75-80% of all graduates achieve language scores equivalent to their peers – an impressive figure. These results are possible because of the real-time data they now have access to.\n\nThe forecast for HearHub's impact is astounding. Over 190 thousand children are expected to benefit between 2023 and 2026 in a network of more than 9.5 thousand hearing health professionals across the USA, Canada, Mexico, Japan, UK, Ireland, Australia, New Zealand, South Africa, and Indonesia.\n\nAccording to Aleisha Davis, CEO of The Shepherd Centre, HearHub has the potential to be transformative on a global scale. Helping children with hearing loss receive the support they deserve, unlocking their full potential for a brighter future.\n\n## Microsoft Partner of the Year Finalist\n\nThis SSW project has been recognized as a Microsoft Partner of the Year Finalist for 2023!\n\n> Custom application development consultancy SSW has seen its Power Platform projects grow to account for 30% of the firm's workload, accelerating delivery of solutions like The Shepherd Centre's HearHub. HearHub revolutionizes care for childhood hearing loss and has helped The Shepherd Centre increase the number of Australian children it can serve by a factor of four.\\\n> \\\n> \\- [Microsoft Power Platform Partner on LinkedIn](https://www.linkedin.com/posts/microsoft-power-platform-partner_powerplatform-mspartner-casestudy-activity-7155599825814568961-mRu5)\n\n<CustomImage src=\"/images/company/poty-finalist-inclusion-logo.png\" altText=\"Microsoft Partner of the Year Finalist\" height={259} width={400} alignment=\"items-start\" />\n\n## Related links\n\n* [Non-Profit Software Solutions](https://www.ssw.com.au/industry/non-profit)\n* [The Shepherd Centre website](https://shepherdcentre.org.au/)\n* [Hearhub website](https://hearhub.org/)\n* [Case Study by Microsoft](https://pbapstorageprod.blob.core.windows.net/assets/Case%20Study_SSW_ShepherdCentre_12052023.pdf?sv=2019-07-07\\&sr=b\\&sig=ldMDJVJL%2BzGPivXRoj3RYUPNoPcVWcNfv6U16SeyteM%3D\\&se=2024-03-22T17%3A56%3A28Z\\&sp=r)\n"
---

Loading

0 comments on commit 0f476b3

Please sign in to comment.