Skip to content

Conversation

@guoda-puidokaite
Copy link
Contributor

@guoda-puidokaite guoda-puidokaite commented Nov 17, 2025

Summary

Enhance the PageFooter component to accommodate a wider range of content and facilitate flexible theming. This update improves both accessibility and design consistency across different usage scenarios within our design system.

Changes Made

  • Removed Hardcoded Elements: Eliminated the static cloud illustration to allow for customizable branding via CSS.
  • Dynamic Copyright Rendering: Introduced a copyright prop that conditionally renders a copyright notice on the right side of the footer.
  • Responsive Content Handling: Updated children rendering to support both single and multiple items, distributing content in a grid layout with specified spacing.
  • Semantic Enhancements: Applied ARIA roles (role="group") and attributes (aria-labelledby) to improve accessibility and semantic clarity in sectioning.
  • Design Tokens Implementation: Added and refined design tokens to support consistent theming including text and background colors specific to light and dark modes.

Testing Instructions

Compare to design and ACs in Storybook.

Checklist

  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have made corresponding changes to the documentation (if applicable).
  • My changes generate no new warnings or errors.
  • I have created a changeset for my changes.

PR Manifesto

Review the PR Manifesto for best practises.

@guoda-puidokaite guoda-puidokaite self-assigned this Nov 17, 2025
@guoda-puidokaite guoda-puidokaite added package All tasks related to package under packages/ ui-components All tasks related to juno-ui-components library labels Nov 17, 2025
@changeset-bot
Copy link

changeset-bot bot commented Nov 17, 2025

🦋 Changeset detected

Latest commit: fa6ed19

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 9 packages
Name Type
@cloudoperators/juno-ui-components Major
@cloudoperators/juno-app-carbon Patch
@cloudoperators/juno-app-doop Patch
@cloudoperators/juno-app-example Patch
@cloudoperators/juno-app-greenhouse Patch
@cloudoperators/juno-app-heureka Patch
@cloudoperators/juno-app-supernova Patch
@cloudoperators/juno-app-template Patch
@cloudoperators/juno-messages-provider Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@guoda-puidokaite guoda-puidokaite linked an issue Nov 17, 2025 that may be closed by this pull request
3 tasks
@guoda-puidokaite guoda-puidokaite changed the title footer feat(ui): footer styling improvements Nov 17, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Nov 17, 2025

PR Preview Action v1.6.2

🚀 View preview at
https://cloudoperators.github.io/juno/pr-preview/pr-1328/

Built to branch gh-pages at 2025-11-17 08:27 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@guoda-puidokaite guoda-puidokaite marked this pull request as ready for review November 17, 2025 06:58
@guoda-puidokaite guoda-puidokaite requested review from a team and franzheidl as code owners November 17, 2025 06:58
@guoda-puidokaite guoda-puidokaite changed the title feat(ui): footer styling improvements feat(ui): Footer styling improvements Nov 17, 2025
@guoda-puidokaite guoda-puidokaite changed the title feat(ui): Footer styling improvements feat(ui): improve Footer styling Nov 17, 2025
/* LT Box Shadow */
--box-shadow-default: 0 1px 2px 0 rgba(34, 54, 73, 0.3);
--box-shadow-hover: 0 0 0 1px var(--color-color-shadow, rgba(79, 79, 79, 0.3)), 0 2px 8px 0 rgba(0, 0, 0, 0.3);
/* LT PageFooter */
Copy link
Contributor

Choose a reason for hiding this comment

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

Very nice for light theme indeed. Normally light attracts bugs - this time its in the dark theme.... still enlighted! Screenshot from dark themed example app:

Image

Copy link
Contributor Author

@guoda-puidokaite guoda-puidokaite Nov 18, 2025

Choose a reason for hiding this comment

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

The same issue doesn't appear in Storybook, right? It doesn't seem to be an issue with the component? This is Example App's custom styling, I'll work on it. Good reminder to update Example App.

Copy link
Contributor

@TilmanHaupt TilmanHaupt Nov 18, 2025

Choose a reason for hiding this comment

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

Yes, actually i did not thought much further, as its default then most likly to light theme also in other places and apps - what is maybe not wanted, or at least kinda breaking. But as I said, i did not think much further about it.

@ArtieReus
Copy link
Collaborator

Shouldn't we display here a better example of PageFooter:

Screenshot 2025-11-18 at 09 03 03

@franzheidl
Copy link
Contributor

Shouldn't we display here a better example of PageFooter:

Screenshot 2025-11-18 at 09 03 03

Kind of… For many components, we use a Default story to show how a component renders without any additional props/customisations.

However, for the PageFooter this doesn't make a lot of sense as the screenshot suggests, we can get rid of the default/ "Simple" story in this case IMO.

"@cloudoperators/juno-ui-components": minor
---

Feat: Add DescriptionList, DescriptionTerm, and DescriptionDefinition components
Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like this is the changeset for #1329

const Template = (args: PageFooterProps) => <PageFooter {...args}></PageFooter>

export const Simple = {
render: Template,
Copy link
Contributor

Choose a reason for hiding this comment

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

When looking at the storybook documentation I at first thought the footer is broken, because the only thing you see for the simple footer is the border. My suggestion: use the WithThreeColums story as the default story to prevent this perceived problem.

@@ -0,0 +1,68 @@
.juno-pagefooter {
font-size: 0.875rem;
padding: 1rem 2rem 0 2rem;
Copy link
Contributor

Choose a reason for hiding this comment

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

There is a small problem here. It's a bit hard to see in the Figma but the way it is meant to be is the following:

  • Pagefooter has 2rem spacing left and right
  • The border also has the same 2rem spacing
  • The pagefooter content aligns directly with the border (no further left/right spacing)

You should be able to solve this by moving the 1rem top padding and the top border to the juno-pagefooter-children instead.

.juno-pagefooter {
font-size: 0.875rem;
padding: 1rem 2rem 0 2rem;
border-color: var(--color-pagefooter-border);
Copy link
Contributor

Choose a reason for hiding this comment

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

If you look at the storybook you can see that the border color isn't applied. The browser thinks the color isn't defined.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package All tasks related to package under packages/ ui-components All tasks related to juno-ui-components library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task](ui): update PageFooter

6 participants