Skip to content

feat(ui): animate New Project dialog sections and defer BranchPicker mount#422

Merged
matt2e merged 3 commits intomainfrom
animate-new-project-dialog
Mar 20, 2026
Merged

feat(ui): animate New Project dialog sections and defer BranchPicker mount#422
matt2e merged 3 commits intomainfrom
animate-new-project-dialog

Conversation

@matt2e
Copy link
Contributor

@matt2e matt2e commented Mar 20, 2026

Summary

  • Add slide transitions to New Project dialog sections (repo list, subpath, branch picker, error) for smoother show/hide behavior
  • Defer BranchPicker mount until after the slide animation completes to keep repo selection feeling responsive in WebKit
  • Show a lightweight placeholder input while BranchPicker is loading

Test plan

  • Open the New Project dialog and select a repo — verify sections slide in smoothly
  • Clear the repo selection — verify sections slide out
  • Confirm BranchPicker appears after a brief delay and is fully functional
  • Test in WebKit-based browsers (Safari) to verify improved responsiveness

🤖 Generated with Claude Code

matt2e and others added 2 commits March 20, 2026 10:45
Add slide transitions to form sections that conditionally appear:
- Subpath and Branch/PR fields slide in when a repo is selected
- Recent repos list slides out when a repo is selected
- Error message slides in smoothly instead of popping

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tion timing

Add console.info logs throughout the repo selection flow to diagnose
perceived delay after clicking a repo:
- RepoSearchInput: onMount fetch timing, handleSelect entry
- NewProjectForm: handleRepoSelected, $effect trigger, checkIfMonorepo start/done
- BranchPicker: fetchData start/done with PR and branch counts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@matt2e matt2e requested review from baxen and wesbillman as code owners March 20, 2026 01:59
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2b4e265eac

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +56 to +57
let showBranchPicker = $state(false);
let branchPickerTimer: ReturnType<typeof setTimeout> | null = null;

Choose a reason for hiding this comment

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

P1 Badge Render BranchPicker when reopening with a saved repo

Initializing showBranchPicker to false here means the real picker only appears after handleRepoSelected() runs, but NewProjectForm can also mount with an existing selectedRepo. In the current codebase, SplashScreen.svelte keeps formSelectedRepo in parent state when the form is closed and re-opened, so reopening after choosing a repo renders only the readonly placeholder and the user can no longer inspect or change the branch/PR for that repo. Before this change, BranchPicker rendered whenever selectedRepo was truthy, so that flow worked.

Useful? React with 👍 / 👎.

- Clear branchPickerTimer on component destroy to prevent dangling timeout
- Extract SLIDE_DURATION constant shared between animations and defer timeout
- Use out:slide on recent repos list (exit-only, no entrance animation)
- Add tabindex="-1" to placeholder input to prevent focus during defer window
- Remove leftover blank line in RepoSearchInput

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@matt2e matt2e merged commit ecde890 into main Mar 20, 2026
4 checks passed
@matt2e matt2e deleted the animate-new-project-dialog branch March 20, 2026 02:20
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