feat(ui): animate New Project dialog sections and defer BranchPicker mount#422
feat(ui): animate New Project dialog sections and defer BranchPicker mount#422
Conversation
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>
There was a problem hiding this comment.
💡 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".
| let showBranchPicker = $state(false); | ||
| let branchPickerTimer: ReturnType<typeof setTimeout> | null = null; |
There was a problem hiding this comment.
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>
Summary
Test plan
🤖 Generated with Claude Code