Skip to content

tweak(ui): rework the page and pane animations - #5407

Open
ux-git wants to merge 2 commits into
sws2apps:mainfrom
ux-git:tweak/page-transitions
Open

tweak(ui): rework the page and pane animations#5407
ux-git wants to merge 2 commits into
sws2apps:mainfrom
ux-git:tweak/page-transitions

Conversation

@ux-git

@ux-git ux-git commented Sep 4, 2026

Copy link
Copy Markdown
Member

On mobile the persons page put both panes in position: absolute, so the wrapper measured 0px tall and the sliding cards were cut 16px inside each screen edge. Opening a person had no animation at all, while going back replayed that same cropped slide.

Two reusable pieces replace it:

  • PaneSwitcher — slides between panes that share a spot on a page. The panes stay in the layout flow, so the container keeps a real height, and they slide out to the edge of the screen instead of the page padding. Used by the persons list and filters.
  • PageTransition — fades a page in on route change, so opening a person and going back look the same on every page.

Both use shared motion tokens and stop animating under reduced motion. The page padding became a variable so the container and the animations cannot drift apart.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Devin Review

Add a pane switcher that slides between panes that share a spot on a
page. The panes stay in the layout flow, so the page keeps its height,
and they slide out to the edge of the screen instead of being cut at the
page padding. The persons page uses it for the list and the filters.

Add a page transition that fades a page in when the route changes, so
opening a person and going back look the same.

Both use shared motion tokens and stay still when the visitor asks for
reduced motion. The page padding is now a variable, so the container and
the animations cannot drift apart.
@vercel

vercel Bot commented Sep 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
staging-organized-app Ready Ready Preview Sep 4, 2026 9:49pm UTC
test-organized-app Ready Ready Preview Sep 4, 2026 9:49pm UTC

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Important

Approval pending

CodeRabbit has no unresolved comments, but it has not reviewed the latest commit.

Use the checkbox below to review the latest commit. CodeRabbit will approve the changes if it finds no blocking issues.

  • 🔍 Trigger review

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.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 3 potential issues.

Devin Review

Comment thread src/components/pane_switcher/index.tsx
Comment on lines +1 to +3
import { useEffect, useLayoutEffect, useRef, useState } from 'react';
import { Box } from '@mui/material';
import { PaneSwitcherProps } from './index.types';

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 New components bypass UI conventions

PaneSwitcher uses a relative type import, and both components use raw MUI Box. Repository rules require aliases and existing custom wrappers.

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread src/components/pane_switcher/index.tsx Outdated
Nothing slides on the first render, so reserving the tallest pane only made a shorter active pane collapse once the reservation ended. The switch duration now mirrors the motion-base token.
@sonarqubecloud

sonarqubecloud Bot commented Sep 4, 2026

Copy link
Copy Markdown

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.

1 participant