move TinaCMS/Azure attribution to footer#4603
Conversation
- Remove BuiltOnAzure/PreFooter from all page templates - Add TechnologyLinks component to site-wide footer - Add bottom padding to footer
Coverage report
Test suite run success13 tests passing in 1 suite. Report generated by 🧪jest coverage report action from b8ec08a |
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4603.azurewebsites.net |
There was a problem hiding this comment.
Pull request overview
Moves the TinaCMS / Microsoft Azure attribution out of individual page templates and into the site-wide footer, reducing prominence and centralizing maintenance.
Changes:
- Added a new
TechnologyLinksfooter component and inserted it into the global footer layout. - Added bottom padding and a divider in the footer to visually separate the attribution area.
- Removed
BuiltOnAzure/PreFooterusage from multiple page templates so attribution is no longer repeated per-route.
Reviewed changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| components/layout/footer/technology-links.tsx | New footer attribution links (TinaCMS + Azure) rendered site-wide. |
| components/layout/footer/footer.tsx | Adds TechnologyLinks, an extra divider, and bottom padding to the global footer. |
| app/employment/index.tsx | Removes per-page BuiltOnAzure section. |
| app/consulting/video-production/[filename]/video-production.tsx | Removes per-page BuiltOnAzure section. |
| app/consulting/index.tsx | Removes per-page BuiltOnAzure section. |
| app/consulting/[filename]/consulting2.tsx | Removes per-page PreFooter section. |
| app/consulting/[filename]/consulting.tsx | Removes per-page BuiltOnAzure section. |
| app/articles/index.tsx | Removes per-page PreFooter section. |
| app/articles/[filename]/index.tsx | Removes per-page PreFooter section. |
| app/(home)/page-content.tsx | Removes per-page BuiltOnAzure section from homepage content. |
| app/(events)/training/[filename]/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(events)/netug/[[...filename]]/index.tsx | Removes per-page BuiltOnAzure section(s). |
| app/(events)/live/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(events)/events/[filename]/eventsv2.tsx | Removes per-page PreFooter section. |
| app/(events)/events/[filename]/events.tsx | Removes per-page BuiltOnAzure section. |
| app/(base-pages)/[filename]/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/products/products-index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/products/[filename]/products-content.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/offices/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/offices/[filename]/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/logo/[[...filename]]/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/industry/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/industry/[filename]/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/company/partners/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/company/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/company/clients/[filename]/index.tsx | Removes per-page BuiltOnAzure section. |
| app/(about)/company/[filename]/index.tsx | Removes per-page BuiltOnAzure section. |
Comments suppressed due to low confidence (1)
components/layout/footer/technology-links.tsx:33
TechnologyLinksis duplicating the same attribution links/logos already implemented incomponents/blocks/builtOnAzure.tsx(TinaCMS + Azure). This creates a maintenance hotspot if URLs/assets/text need to change. Consider extracting the shared link data (href/text/logo src) into a single module used by both, or reusing the existingBuiltOnAzurelogic with footer-specific styling.
<CustomLink
href="https://tina.io"
className="unstyled flex min-h-6 items-center gap-1 p-1 text-gray-300 underline-offset-2 hover:text-[#FF8A65] hover:underline"
>
<Image
src="/images/logos/tina-llama-orange.png"
alt=""
height={16}
width={16}
/>
<span className="uppercase tracking-wider">Powered by TinaCMS</span>
</CustomLink>
<CustomLink
href="/consulting/azure"
className="unstyled flex min-h-6 items-center gap-1 p-1 text-gray-300 underline-offset-2 hover:text-[#66b3ff] hover:underline"
>
<Image src="/images/logos/azure.png" alt="" height={16} width={16} />
<span className="uppercase tracking-wider">
Built on Microsoft Azure
</span>
</CustomLink>
</div>
);
};
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4603.azurewebsites.net |
🚀 Lighthouse score comparison for PR slot and production
|
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4603.azurewebsites.net |
🚀 Lighthouse score comparison for PR slot and production
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <CustomLink | ||
| href="https://tina.io" | ||
| className="unstyled flex min-h-6 items-center gap-1 p-1 text-gray-300 underline-offset-2 hover:text-orange-300 hover:underline" | ||
| > | ||
| <Image | ||
| src="/images/logos/tina-llama-orange.png" | ||
| alt="" | ||
| height={16} | ||
| width={16} | ||
| /> | ||
| <span className="uppercase tracking-wider">Powered by TinaCMS</span> | ||
| </CustomLink> |
There was a problem hiding this comment.
The external Tina link is rendered via CustomLink, which will open in a new tab by default but (because tina.io is treated as an "SSW branded" site) currently sets rel="". This removes noopener/noreferrer protections and allows reverse-tabnabbing. Consider updating CustomLink to always include rel="noopener noreferrer" when target="_blank" (even for branded domains), or avoid CustomLink here and render a plain <a> with a safe rel.
| @@ -23,6 +24,8 @@ export const Footer = () => { | |||
| <DeploymentInfo /> | |||
| <SiteInfo /> | |||
| </div> | |||
| <hr className="my-2 border-gray-800" /> | |||
| <TechnologyLinks /> | |||
| </Container> | |||
There was a problem hiding this comment.
The attribution links are rendered inside the <footer> element. Issue #4604 acceptance criteria calls for the TinaCMS/Azure attribution section to be moved below the footer; if this PR is intended to close that issue, consider rendering TechnologyLinks outside the footer (e.g., as a sibling element after <Footer /> in the page layout) or update the PR/issue expectations accordingly.
| const { blocks } = tinaProps.data.eventsv2; | ||
| return ( | ||
| <div className="dark flex h-full flex-col"> |
There was a problem hiding this comment.
azureBanner is no longer read from Tina data here, which means the shared azureBanner schema fields (e.g., showAzureFooter / azureFooterColor) are now unused for EventsV2 pages. Consider removing/migrating the azureBanner schema from Tina page collections (or wiring a global setting into the footer) so editors don’t see controls that no longer affect rendering.
| const { blocks } = tinaProps.data.eventsv2; | |
| return ( | |
| <div className="dark flex h-full flex-col"> | |
| const { blocks, azureBanner } = tinaProps.data.eventsv2; | |
| const showAzureFooter = azureBanner?.showAzureFooter; | |
| const azureFooterColor = azureBanner?.azureFooterColor; | |
| return ( | |
| <div | |
| className={`dark flex h-full flex-col ${ | |
| showAzureFooter ? "show-azure-footer" : "" | |
| }`} | |
| data-azure-footer-color={azureFooterColor || undefined} | |
| > |
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4603.azurewebsites.net |
🚀 Lighthouse score comparison for PR slot and production
|
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4603.azurewebsites.net |
🚀 Lighthouse score comparison for PR slot and production
|
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4603.azurewebsites.net |
🚀 Lighthouse score comparison for PR slot and production
|
tiagov8
left a comment
There was a problem hiding this comment.
Hi @griffenedge
Approved. I like this change. Assume it was approved by the PO
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4603.azurewebsites.net |
🚀 Lighthouse score comparison for PR slot and production
|
Now that TinaCMS/Azure attribution lives in the global footer, the per-page BuiltOnAzure component, its Tina schema, and all content references are no longer needed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4603.azurewebsites.net |
🚀 Lighthouse score comparison for PR slot and production
|
isaaclombardssw
left a comment
There was a problem hiding this comment.
I've fixed this code for release.
Moved the "Powered by TinaCMS" and "Built on Microsoft Azure" banner from above the footer to the bottom of the footer and styled it to be more consistent with the other footer sections.
🤖 Coded with assistance from GitHub Copilot
Affected routes: All pages (footer is site-wide). Previously affected routes that lost the inline
BuiltOnAzure/PreFootersection:/,/company,/company/*,/company/clients/*,/company/partners,/industry,/industry/*,/logo/*,/offices,/offices/*,/products,/products/*,/[slug],/events/*,/live,/netug/*,/training/*,/articles,/articles/*,/consulting,/consulting/*,/consulting/video-production/*,/employmentFixed ✨ TinaCMS/Azure attribution section - Reduce prominence and reposition #4604
If adding a new page, I have followed the 📃 New Webpage issue template
If updating the livestream banner, I have tested and followed the steps in Wiki - Testing the live banner
Include Done Video or screenshots
Figure - Before - Section above footer
Figure - After - Section at bottom of footer