Skip to content

[WIP] Dynamic island - #2239

Closed
frozenprocess wants to merge 2 commits into
tigera:mainfrom
frozenprocess:ProductAdvocate
Closed

frozenprocess wants to merge 2 commits into
tigera:mainfrom
frozenprocess:ProductAdvocate

Conversation

@frozenprocess

Copy link
Copy Markdown
Contributor

This adds a small Dynamic Island component to the site.

Product Version(s):

Issue:

Link to docs preview:

SME review:

  • An SME has approved this change.

DOCS review:

  • A member of the docs team has approved this change.

Additional information:

Merge checklist:

  • Deploy preview inspected wherever changes were made
  • Build completed successfully
  • Test have passed

@frozenprocess
frozenprocess requested a review from a team as a code owner August 21, 2025 21:58
@netlify

netlify Bot commented Aug 21, 2025 •

Copy link
Copy Markdown

✅ Deploy Preview for calico-docs-preview-next ready!

Name Link
🔨 Latest commit 502ceba
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/68a7987d3b827a0008063d2a
😎 Deploy Preview https://deploy-preview-2239--calico-docs-preview-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Aug 21, 2025 •

Copy link
Copy Markdown

✅ Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit 502ceba
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/68a7987d334bf200085973d1
😎 Deploy Preview https://deploy-preview-2239--tigera.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 22 (🔴 down 5 from production)
Accessibility: 90 (no change from production)
Best Practices: 92 (no change from production)
SEO: 92 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@ctauchen

Copy link
Copy Markdown
Collaborator

Certainly looks cool, but I'm not sure it fits with our documentation pages. Would be happy to hear more about what you're plans are with this.

@frozenprocess

Copy link
Copy Markdown
Contributor Author

I’ve prepared a template to ensure that stakeholders who requested this can see their vision brought to life before we proceed with meetings and approvals.

@frozenprocess frozenprocess changed the title Dynamic island [WIP] Dynamic island Aug 22, 2025
<CardBody flex="1" p={{ base: 4, md: 6 }} h="100%" display="flex" flexDirection="column" justifyContent="center">
<Flex direction="column" h="100%" justify="space-between">
<Box>
<Heading _firstLetter={{ textTransform: "uppercase" }}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Because you're using a heading, this is showing in the TOC. Not sure if you meant that? @ctauchen

<CardBody flex="1" p={{ base: 4, md: 6 }} h="100%" display="flex" flexDirection="column" justifyContent="center">
<Flex direction="column" h="100%" justify="space-between">
<Box>
<Heading _firstLetter={{ textTransform: "uppercase" }}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Do you really need to use textTransform: "uppercase". Your content is static and can be controlled from the data.

messageId?: string;
}


Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

make sure you format this file

const ProductAdvocate: React.FC<ProductAdvocateProps> = ({ messageId, ...rest }) => {

// Select message based on messageId or randomly if not provided
const [selectedMessage] = React.useState(() => {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You don't need to use state here. Just assign it to a variable

const selectedMessage = advocacyMessages.find(msg => msg.id === messageId ?? fallbackId);

Or better yet, use an object instead of an array

const selectedMessage = advocacyMessages[messageId ?? fallbackId];

You could create a type from your message ids and use that in your props for better typing

@ctauchen

Copy link
Copy Markdown
Collaborator

Closing this following discussion and agreement on another path.

@ctauchen ctauchen closed this Aug 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants