diff --git a/src/renderer/src/components/NewWorkspaceComposerCard.tsx b/src/renderer/src/components/NewWorkspaceComposerCard.tsx index 29183da58f0..d17bb8ba56d 100644 --- a/src/renderer/src/components/NewWorkspaceComposerCard.tsx +++ b/src/renderer/src/components/NewWorkspaceComposerCard.tsx @@ -100,10 +100,7 @@ export default function NewWorkspaceComposerCard( ) // Why sticky: the dialog animates itself closed off its own `option` prop, so unmounting it // when the option clears would cut that animation short. - const setLocationDialogRequested = React.useRef(false) - if (setLocationOption !== null) { - setLocationDialogRequested.current = true - } + const [setLocationDialogMounted, setSetLocationDialogMounted] = React.useState(false) const selectedRepo = eligibleRepos.find((candidate) => candidate.id === repoId) const selectedRepoName = selectedRepo?.displayName ?? selectedRepo?.path ?? 'This project' @@ -208,6 +205,7 @@ export default function NewWorkspaceComposerCard( }, [onAddProjectOverride, openModal]) const handleSetLocation = React.useCallback( (option: NeedsProjectHostOption): void => { + setSetLocationDialogMounted(true) setSetLocationOption(option) onNestedDialogOpenChange?.(true) }, @@ -350,7 +348,7 @@ export default function NewWorkspaceComposerCard( submitShortcutModifierLabel={getScreenSubmitModifierLabel()} /> - {setLocationDialogRequested.current ? ( + {setLocationDialogMounted ? ( { + setFeedbackDialogMounted(true) + setFeedbackOpen(true) + } + const handleShowOnboarding = (): void => { const now = Date.now() if (now - lastShowOnboardingAtRef.current < 500) { @@ -251,7 +253,7 @@ export function SidebarSettingsHelpMenu(): React.JSX.Element { )} - setFeedbackOpen(true)}> + {translate( 'auto.components.sidebar.SidebarSettingsHelpMenu.4cf5b868d7', @@ -352,7 +354,7 @@ export function SidebarSettingsHelpMenu(): React.JSX.Element { - {feedbackDialogRequested.current ? ( + {feedbackDialogMounted ? (