Skip to content

Initial Draft for the Vertex, Beacon and AirQo AI platform visibility design#3629

Merged
Baalmart merged 15 commits into
stagingfrom
website-hcapture
Jun 17, 2026
Merged

Initial Draft for the Vertex, Beacon and AirQo AI platform visibility design#3629
Baalmart merged 15 commits into
stagingfrom
website-hcapture

Conversation

@OchiengPaul442

@OchiengPaul442 OchiengPaul442 commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Status of maturity (all need to be checked before merging):

  • I've tested this locally
  • I consider this code done

Screenshots (optional)

image

Summary by CodeRabbit

  • New Features
    • Added new product marketing pages: Vertex, Beacon, and AI Platform, each with themed hero, capabilities, audiences, and calls-to-action.
    • Introduced a shared product marketing layout template to keep the pages consistent.
  • UI Updates
    • Updated site navigation and footer product links to include Vertex, Beacon, and AI Platform.
  • SEO & Discoverability
    • Added SEO metadata for the new product pages.
    • Updated the sitemap to include the new product routes (/products/vertex, /products/beacon, /products/ai-platform).

…con, and Vertex

- Updated navigation items to include links for AI Platform, Beacon, and Vertex.
- Created new pages for AI Platform, Beacon, and Vertex with detailed marketing content.
- Added images for AI Platform, Beacon, and Vertex to enhance visual representation.
- Implemented a reusable ProductMarketingPage component for consistent layout across product pages.
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@OchiengPaul442, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 43 minutes and 17 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e2412c03-23c9-4686-a059-a38c183c3f79

📥 Commits

Reviewing files that changed from the base of the PR and between 59770ad and 78d0df2.

📒 Files selected for processing (1)
  • src/website/src/views/products/BeaconPage.tsx
📝 Walkthrough

Walkthrough

Three new product marketing pages—Vertex, Beacon, and AI Platform—are added to the website using a shared ProductMarketingPage component. Each page supplies theme styling and static content (hero, sections, capabilities, audiences, CTAs). Infrastructure updates include Next.js routes, SEO metadata, navigation menu entries, footer links, and sitemap configuration.

Changes

Product Marketing Pages

Layer / File(s) Summary
ProductMarketingPage reusable component
src/website/src/views/products/ProductMarketingPage.tsx
A client component provides reusable marketing page layout with Framer Motion animations, TypeScript types for hero/spotlight/capabilities/audiences/CTA sections, openExternalLink utility, ProductActionButton component, and ProductSpotlight sub-component for two-column animated sections. The main component composes hero, intro, primary/secondary spotlights, capability/use-case grids, audience list, and CTA with quick-links.
Product pages: Vertex, Beacon, AI Platform
src/website/src/views/products/VertexPage.tsx, src/website/src/views/products/BeaconPage.tsx, src/website/src/views/products/AIPlatformPage.tsx
Three product pages each define a theme object with Tailwind classes and render ProductMarketingPage with static marketing content: breadcrumb/hero text and image, intro description, primary and secondary sections with CTAs, capabilities and use-cases with react-icons icons, audience segments, and CTA actions with external URLs and quick-links.
Page routes, metadata, and navigation
src/website/src/app/(main)/products/ai-platform/page.tsx, src/website/src/app/(main)/products/beacon/page.tsx, src/website/src/app/(main)/products/vertex/page.tsx, src/website/src/lib/metadata.ts, src/website/src/lib/navItems.ts, src/website/src/app/sitemap.ts, src/website/src/components/layouts/Footer.tsx
Next.js page routes export metadata and viewport for three products. Metadata config adds SEO title/description/keywords/image for each. Navigation items insert Vertex, Beacon, and AI Platform into the Products menu. Sitemap includes three new product routes with monthly change frequency and 0.9 priority. Footer product links are updated.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • Baalmart
  • Codebmk

Poem

Three products rise in vibrant hue—Vertex, Beacon, AI's new view. ✨🎯

Shared foundations, branded themes,

Marketing dreams made real with Framer teams. 🚀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main objective: adding visibility design for three AirQo products (Vertex, Beacon, and AI Platform) to the website.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch website-hcapture

Warning

Review ran into problems

🔥 Problems

Errors were encountered while retrieving linked issues.

Errors (1)
  • JIRA integration encountered authorization issues. Please disconnect and reconnect the integration in the CodeRabbit UI.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

New azure website changes available for preview here

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (7)
src/website/src/app/(main)/products/ai-platform/page.tsx (1)

11-17: 💤 Low value

Consider removing the unnecessary wrapper div.

The wrapper <div> serves no functional purpose here. You can simplify by directly returning the component:

 const page = () => {
-  return (
-    <div>
-      <AIPlatformPage />
-    </div>
-  );
+  return <AIPlatformPage />;
 };

This pattern applies to all three new product pages (AI Platform, Beacon, Vertex).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/website/src/app/`(main)/products/ai-platform/page.tsx around lines 11 -
17, The page component currently returns a redundant wrapper div around
AIPlatformPage; update the page function (page) to return the AIPlatformPage
component directly (i.e., replace the surrounding <div> with a direct JSX return
of <AIPlatformPage />) and apply the same change to the other new product page
components (Beacon and Vertex) to remove unnecessary wrapper divs and simplify
the render.
src/website/src/views/products/ProductMarketingPage.tsx (5)

317-333: 💤 Low value

Use a more stable key for capabilities items.

Using key={title} assumes all capability titles are unique. While they likely are in practice, using a compound key or accepting that these are static content would be more robust.

🔑 Proposed fix if uniqueness is uncertain
-          {capabilities.items.map(({ title, description, Icon }) => (
+          {capabilities.items.map(({ title, description, Icon }, index) => (
             <motion.div
-              key={title}
+              key={`capability-${index}`}
               className="rounded-xl border border-slate-200 bg-white p-6 shadow-sm"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/website/src/views/products/ProductMarketingPage.tsx` around lines 317 -
333, The mapped capability cards use key={title} which may collide if titles are
not strictly unique; update the mapping in the capabilities.items.map callback
to use a stable unique key such as an explicit id field on each capability
(e.g., capability.id) or a compound key combining title with another stable
property (e.g., `${title}-${description}`), and ensure the map callback
references that unique identifier instead of title (look for the
capabilities.items.map and the motion.div key prop).

130-149: 💤 Low value

ProductActionButton always opens external links in new tabs.

The openExternalLink utility and ProductActionButton component assume all actions are external URLs that should open in a new browser tab. If internal navigation is needed in the future (e.g., linking to other product pages within the site), this component won't support it without modification.

Consider whether:

  1. All product CTAs will always point to external services (Vertex, Beacon, AI Platform URLs)
  2. Or if you might need internal routing later (e.g., to /contact or other site pages)

If internal routes are anticipated, the ProductAction type could include an external?: boolean flag to distinguish behavior.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/website/src/views/products/ProductMarketingPage.tsx` around lines 130 -
149, ProductActionButton currently always calls openExternalLink(action.href)
which forces a new-tab external navigation; update the ProductAction type (add
optional external?: boolean) and change ProductActionButton to branch: if
action.external is true (or href looks like an absolute URL) call
openExternalLink(action.href), otherwise perform internal navigation via the app
router (e.g., useNavigate/useHistory or render a Link) so internal routes like
"/contact" use client-side routing; keep openExternalLink and CustomButton usage
but replace the onClick to choose the correct handler based on
action.external/action.href.

359-377: 💤 Low value

Use index for key in use cases mapping.

Similar to the capabilities, using key={item.title} assumes uniqueness. Since you're already using index for the numbering display, it would be consistent to use it for the key as well.

🔑 Proposed fix
           {useCases.items.map((item, index) => (
             <motion.div
-              key={item.title}
+              key={index}
               className="rounded-xl border border-slate-200 bg-white p-6 shadow-sm"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/website/src/views/products/ProductMarketingPage.tsx` around lines 359 -
377, The map over useCases.items uses key={item.title} which may not be unique;
update the key on the <motion.div> rendered inside useCases.items.map (the
mapping function using index) to use the index (or a combined stable identifier)
instead of item.title — e.g., replace the current key reference in the
motion.div produced by useCases.items.map with key={index} or
key={`${index}-${item.title}`} so keys align with the displayed numbering and
avoid duplicate-key issues.

455-474: 💤 Low value

Use index for key in quick links mapping.

Using key={link.title} assumes unique titles. Using index would be more defensive.

🔑 Proposed fix
-            {ctaSection.quickLinks.map((link) => (
+            {ctaSection.quickLinks.map((link, index) => (
               <button
-                key={link.title}
+                key={index}
                 type="button"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/website/src/views/products/ProductMarketingPage.tsx` around lines 455 -
474, The mapping over ctaSection.quickLinks currently uses key={link.title}
which assumes titles are unique; change the map callback to accept the index
(e.g., .map((link, idx) => ...)) and set the button key to the index (key={idx})
so each rendered button has a stable unique key; update the map signature where
ctaSection.quickLinks is iterated and replace key usage on the button element
accordingly.

406-414: 💤 Low value

Use index for key in audiences mapping.

Using key={item} (the audience string itself) as a key has the same concerns as other mappings in this component.

🔑 Proposed fix
-            {audiences.items.map((item) => (
+            {audiences.items.map((item, index) => (
               <motion.div
-                key={item}
+                key={index}
                 className="rounded-xl border border-white/70 bg-white/80 px-4 py-4 text-sm font-medium text-gray-800 shadow-sm"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/website/src/views/products/ProductMarketingPage.tsx` around lines 406 -
414, In ProductMarketingPage, the audiences mapping currently uses the audience
string as the React key (key={item}); change the map to include the index
(audiences.items.map((item, idx) => ...)) and use the index as the key
(key={idx}) in the motion.div to avoid problems with non-unique or mutable
string keys; update any references inside the map accordingly.
src/website/src/views/products/BeaconPage.tsx (1)

28-70: Verify Beacon image asset existence
Both referenced files exist in the repo:

  • src/website/public/assets/images/products/beacon/beacon-device-render.webp
  • src/website/public/assets/images/products/beacon/beacon-dashboard-showcase.png

If you want consistency/compression, consider standardizing on .webp for the second image (unless there’s a reason to keep it as PNG).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/website/src/views/products/BeaconPage.tsx` around lines 28 - 70, The
primarySection image is using a PNG while the hero image uses WEBP—update the
src for primarySection.image (the object under primarySection in BeaconPage
component) from '/assets/images/products/beacon/beacon-dashboard-showcase.png'
to '/assets/images/products/beacon/beacon-dashboard-showcase.webp' to
standardize formats (ensure the .webp file exists and update any tooling/static
config if needed); locate the hero.image.src and primarySection.image.src
objects in BeaconPage.tsx to make the consistent change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/website/src/lib/metadata.ts`:
- Around line 516-563: The metadata entries beacon, vertex, and aiPlatform in
src/website/src/lib/metadata.ts reference non-existent social preview images;
fix by either adding the missing image files at
/public/assets/images/products/beacon/beacon-dashboard-showcase.png,
/public/assets/images/products/vertex/vertex-dashboard-showcase.png, and
/public/assets/images/products/ai-platform/ai-platform-dashboard-showcase.png,
or update the image.url fields in the beacon, vertex, and aiPlatform objects to
point to the correct existing asset paths (ensure image.alt, width, height, and
type remain accurate).

In `@src/website/src/views/products/ProductMarketingPage.tsx`:
- Around line 202-204: The map over section.description uses the paragraph text
as a React key, which can cause duplicate-key warnings and unnecessary remounts;
change the callback in the section.description.map inside ProductMarketingPage
to accept the index (e.g., (paragraph, idx)) and use that index as the key
(key={idx}) instead of key={paragraph} so keys remain stable even if paragraph
content duplicates or changes.

---

Nitpick comments:
In `@src/website/src/app/`(main)/products/ai-platform/page.tsx:
- Around line 11-17: The page component currently returns a redundant wrapper
div around AIPlatformPage; update the page function (page) to return the
AIPlatformPage component directly (i.e., replace the surrounding <div> with a
direct JSX return of <AIPlatformPage />) and apply the same change to the other
new product page components (Beacon and Vertex) to remove unnecessary wrapper
divs and simplify the render.

In `@src/website/src/views/products/BeaconPage.tsx`:
- Around line 28-70: The primarySection image is using a PNG while the hero
image uses WEBP—update the src for primarySection.image (the object under
primarySection in BeaconPage component) from
'/assets/images/products/beacon/beacon-dashboard-showcase.png' to
'/assets/images/products/beacon/beacon-dashboard-showcase.webp' to standardize
formats (ensure the .webp file exists and update any tooling/static config if
needed); locate the hero.image.src and primarySection.image.src objects in
BeaconPage.tsx to make the consistent change.

In `@src/website/src/views/products/ProductMarketingPage.tsx`:
- Around line 317-333: The mapped capability cards use key={title} which may
collide if titles are not strictly unique; update the mapping in the
capabilities.items.map callback to use a stable unique key such as an explicit
id field on each capability (e.g., capability.id) or a compound key combining
title with another stable property (e.g., `${title}-${description}`), and ensure
the map callback references that unique identifier instead of title (look for
the capabilities.items.map and the motion.div key prop).
- Around line 130-149: ProductActionButton currently always calls
openExternalLink(action.href) which forces a new-tab external navigation; update
the ProductAction type (add optional external?: boolean) and change
ProductActionButton to branch: if action.external is true (or href looks like an
absolute URL) call openExternalLink(action.href), otherwise perform internal
navigation via the app router (e.g., useNavigate/useHistory or render a Link) so
internal routes like "/contact" use client-side routing; keep openExternalLink
and CustomButton usage but replace the onClick to choose the correct handler
based on action.external/action.href.
- Around line 359-377: The map over useCases.items uses key={item.title} which
may not be unique; update the key on the <motion.div> rendered inside
useCases.items.map (the mapping function using index) to use the index (or a
combined stable identifier) instead of item.title — e.g., replace the current
key reference in the motion.div produced by useCases.items.map with key={index}
or key={`${index}-${item.title}`} so keys align with the displayed numbering and
avoid duplicate-key issues.
- Around line 455-474: The mapping over ctaSection.quickLinks currently uses
key={link.title} which assumes titles are unique; change the map callback to
accept the index (e.g., .map((link, idx) => ...)) and set the button key to the
index (key={idx}) so each rendered button has a stable unique key; update the
map signature where ctaSection.quickLinks is iterated and replace key usage on
the button element accordingly.
- Around line 406-414: In ProductMarketingPage, the audiences mapping currently
uses the audience string as the React key (key={item}); change the map to
include the index (audiences.items.map((item, idx) => ...)) and use the index as
the key (key={idx}) in the motion.div to avoid problems with non-unique or
mutable string keys; update any references inside the map accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a16d9fe8-84cf-452f-9c35-a0bae126f549

📥 Commits

Reviewing files that changed from the base of the PR and between ff1bc1e and 6412059.

⛔ Files ignored due to path filters (1)
  • src/website/public/assets/images/products/beacon/beacon-dashboard-showcase.png is excluded by !**/*.png
📒 Files selected for processing (18)
  • src/website/public/assets/images/products/ai-platform/ai-platform-forecast-showcase.webp
  • src/website/public/assets/images/products/ai-platform/ai-platform-locate-showcase.webp
  • src/website/public/assets/images/products/ai-platform/hero.webp
  • src/website/public/assets/images/products/beacon/beacon-device-render.webp
  • src/website/public/assets/images/products/beacon/person-call.webp
  • src/website/public/assets/images/products/vertex/application-1.webp
  • src/website/public/assets/images/products/vertex/bring-device.webp
  • src/website/public/assets/images/products/vertex/vertex-dashboard-showcase.webp
  • src/website/src/app/(main)/products/ai-platform/page.tsx
  • src/website/src/app/(main)/products/beacon/page.tsx
  • src/website/src/app/(main)/products/vertex/page.tsx
  • src/website/src/app/sitemap.ts
  • src/website/src/lib/metadata.ts
  • src/website/src/lib/navItems.ts
  • src/website/src/views/products/AIPlatformPage.tsx
  • src/website/src/views/products/BeaconPage.tsx
  • src/website/src/views/products/ProductMarketingPage.tsx
  • src/website/src/views/products/VertexPage.tsx

Comment thread src/website/src/lib/metadata.ts
Comment thread src/website/src/views/products/ProductMarketingPage.tsx Outdated
@github-actions

Copy link
Copy Markdown
Contributor

New azure website changes available for preview here

@OchiengPaul442 OchiengPaul442 changed the title Initial Draft for the Vertex, Beacon and AirQo AI platform visibility designes Initial Draft for the Vertex, Beacon and AirQo AI platform visibility designs Jun 11, 2026
@OchiengPaul442 OchiengPaul442 changed the title Initial Draft for the Vertex, Beacon and AirQo AI platform visibility designs Initial Draft for the Vertex, Beacon and AirQo AI platform visibility design Jun 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

New azure website changes available for preview here

@github-actions

Copy link
Copy Markdown
Contributor

New azure website changes available for preview here

@Codebmk Codebmk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @OchiengPaul442. On the vertex page, the some sections content feels too verbose eg: "Where Vertex creates value"(these are already mentioned in other sections), similarly "what makes vertex useful" section. I love the text combined with image approach(Can we adopt Binos monitor page style).

Can we create room for a call to action button linking to the download page for the vertex desktop app: https://vertex.airqo.net/download

Image Image

@github-actions

Copy link
Copy Markdown
Contributor

New azure website changes available for preview here

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds initial marketing/visibility pages for three AirQo products (Vertex, Beacon, and AirQo AI Platform) to the website, along with navigation, SEO metadata, and sitemap entries so the new routes are discoverable.

Changes:

  • Introduced a shared ProductMarketingPage template and three new product pages (Vertex, Beacon, AirQo AI Platform).
  • Added new product routes under /products/* with page-level metadata and viewport exports.
  • Updated nav items, footer links, sitemap, and centralized metadata configs for SEO/discoverability.

Reviewed changes

Copilot reviewed 11 out of 20 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/website/src/views/products/ProductMarketingPage.tsx New shared marketing-page template used by the new product pages.
src/website/src/views/products/VertexPage.tsx New Vertex product marketing page content wired to the shared template.
src/website/src/views/products/BeaconPage.tsx New Beacon product marketing page content wired to the shared template.
src/website/src/views/products/AIPlatformPage.tsx New AirQo AI Platform marketing page content wired to the shared template.
src/website/src/app/(main)/products/vertex/page.tsx Adds the /products/vertex route and SEO metadata hookup.
src/website/src/app/(main)/products/beacon/page.tsx Adds the /products/beacon route and SEO metadata hookup.
src/website/src/app/(main)/products/ai-platform/page.tsx Adds the /products/ai-platform route and SEO metadata hookup.
src/website/src/lib/navItems.ts Adds the three new products to the primary navigation menu.
src/website/src/lib/metadata.ts Adds metadata configurations for the new product routes.
src/website/src/components/layouts/Footer.tsx Adds footer links to the new product pages.
src/website/src/app/sitemap.ts Adds the new product routes to the sitemap.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +148 to +154
<CustomButton
onClick={() => openExternalLink(action.href)}
className={`flex items-center justify-center ${className}`}
>
{action.label}
<BiLinkExternal className="ml-2 text-lg" />
</CustomButton>
Comment on lines +331 to +333
<div className="inline-flex rounded-full bg-slate-50 p-3 text-blue-700 shadow-sm">
<Icon className="h-6 w-6" />
</div>
Comment on lines +506 to +523
<button
key={link.title}
type="button"
onClick={() => openExternalLink(link.href)}
className="w-full rounded-xl border border-slate-200 bg-white px-4 py-4 text-left transition-colors hover:border-blue-200 hover:bg-blue-50"
>
<div className="flex items-start justify-between gap-4">
<div>
<p className="font-semibold text-gray-900">
{link.title}
</p>
<p className="mt-1 text-sm leading-6 text-gray-700">
{link.description}
</p>
</div>
<BiLinkExternal className="mt-1 h-5 w-5 flex-shrink-0 text-slate-500" />
</div>
</button>
Comment thread src/website/src/components/layouts/Footer.tsx
@OchiengPaul442
OchiengPaul442 requested a review from Codebmk June 15, 2026 20:07
@github-actions

Copy link
Copy Markdown
Contributor

New azure website changes available for preview here

@github-actions

Copy link
Copy Markdown
Contributor

New azure website changes available for preview here

@github-actions

Copy link
Copy Markdown
Contributor

New azure website changes available for preview here

@Baalmart
Baalmart merged commit fa905d7 into staging Jun 17, 2026
27 checks passed
@Baalmart
Baalmart deleted the website-hcapture branch June 17, 2026 19:26
@Baalmart Baalmart mentioned this pull request Jun 17, 2026
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants