Skip to content

Conversation

@timmo001
Copy link
Member

@timmo001 timmo001 commented Oct 1, 2025

Breaking change

Proposed change

Sets up a new mixin to be used for view transitions between layouts, providing css defined fade in / crossfade view transitions. Also adds a fade out for the launch screen so the transition between loading and the panel should be less abrupt and hopefully reduce element "pop-in".

Applies view transitions to:

  • Loading -> Panel
  • Sublayouts

Some changes I've deferred for later PRs. These are listed in the related task: #27238 (feel free to contribute other ideas here)

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (thank you!)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Example configuration

Additional information

  • This PR fixes or closes issue:
  • This PR is related to issue or discussion: View transitions #27238
  • Link to documentation pull request:

Checklist

  • The code change is tested and works locally.
  • There is no commented out code in this PR.
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

@timmo001 timmo001 added the Needs UX Pull requests requiring a review from the Home Assistant design team label Oct 1, 2025
@timmo001 timmo001 changed the title Animate page loads Animate page/panel transitions Oct 1, 2025
@Misiu
Copy link
Contributor

Misiu commented Oct 1, 2025

On the Overview page, the scrollbar behaves weirdly. Starts from the 8th second on the recording. Not sure if this is related to the change.

@karwosts
Copy link
Member

karwosts commented Oct 1, 2025

Should we respect prefers-reduced-motion to disable?

@timmo001
Copy link
Member Author

timmo001 commented Oct 7, 2025

Discussed with design, we should also explore the view transitions api

@timmo001 timmo001 force-pushed the loading-animations branch from 717af6b to d4e1362 Compare October 7, 2025 15:22
@oerix
Copy link

oerix commented Oct 8, 2025

I know this is WIP, but I don't feel the correct transition is being used for the sidebar. As you can see in the video, there are weird glitches/lags on the UI elements, they should use some subtle animation (slide-in?) and render near instant. Just thought I chime in, in case this hasn't been changed or mentioned already.

@timmo001 timmo001 changed the title Animate page/panel transitions Add page/panel view transitions Oct 15, 2025
@timmo001 timmo001 mentioned this pull request Oct 15, 2025
5 tasks
@timmo001
Copy link
Member Author

I know this is WIP, but I don't feel the correct transition is being used for the sidebar. As you can see in the video, there are weird glitches/lags on the UI elements, they should use some subtle animation (slide-in?) and render near instant. Just thought I chime in, in case this hasn't been changed or mentioned already.

This is removed now (it was mostly a test). This PR is to focus solely on panel/page transitions, other view transitions can be investigated later

@timmo001
Copy link
Member Author

Should we respect prefers-reduced-motion to disable?

Discussed with design, general agreement that animations should be set to 0 when reduced motion is set. This is now the case

@timmo001 timmo001 added needs design preview PRs with this label will trigger a GitHub action to generate a gallery preview and removed needs design preview PRs with this label will trigger a GitHub action to generate a gallery preview labels Oct 23, 2025
@timmo001 timmo001 changed the title Add page/panel view transitions Implement loading / layout view transitions Oct 23, 2025
@timmo001 timmo001 marked this pull request as ready for review October 23, 2025 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed hacktoberfest Needs UX Pull requests requiring a review from the Home Assistant design team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants