fix(ui): always show Onboarding and Restart Orca in Help (#12379)
* fix(ui): always show Onboarding in the Help menu Users could not find "Show onboarding again" because it required holding Alt. Surface it on the default Help menu so replay is discoverable without reinstalling. * fix(ui): always show Restart Orca in the Help menu Surface Restart next to Check for Updates by default and drop the Alt-only admin gate, which no longer hid anything else.
This commit is contained in:
parent
64b81cde50
commit
a69ca6d5b7
|
|
@ -42,8 +42,8 @@ export function GeneralUpdateSettingsSection(): React.JSX.Element {
|
|||
const [appVersion, setAppVersion] = useState<string | null>(null)
|
||||
const updateCheckHint = getUpdateCheckHint()
|
||||
// Why: channel switching is a power-user escape hatch that can downgrade the app
|
||||
// onto an unvetted build. Option/Alt-clicking the header reveals it, matching the
|
||||
// Help menu's hidden admin options rather than shipping it on the default surface.
|
||||
// onto an unvetted build. Option/Alt-clicking the header reveals it rather than
|
||||
// shipping it on the default surface.
|
||||
const [channelSwitcherRevealed, setChannelSwitcherRevealed] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -222,9 +222,14 @@ describe('SidebarSettingsHelpMenu', () => {
|
|||
expect(html).not.toContain('Milestones')
|
||||
})
|
||||
|
||||
it('hides the Onboarding admin entry by default', () => {
|
||||
it('renders the Onboarding menu item by default', () => {
|
||||
const html = renderToStaticMarkup(<SidebarSettingsHelpMenu />)
|
||||
expect(html).not.toContain('Onboarding')
|
||||
expect(html).toContain('Onboarding')
|
||||
})
|
||||
|
||||
it('renders Restart Orca by default', () => {
|
||||
const html = renderToStaticMarkup(<SidebarSettingsHelpMenu />)
|
||||
expect(html).toContain('Restart Orca')
|
||||
})
|
||||
|
||||
it('renders Docs link', () => {
|
||||
|
|
|
|||
|
|
@ -95,7 +95,6 @@ export function SidebarSettingsHelpMenu(): React.JSX.Element {
|
|||
const settingsShortcut = useShortcutKeyDetails('app.settings')
|
||||
const [menuOpen, setMenuOpen] = useState(false)
|
||||
const [feedbackOpen, setFeedbackOpen] = useState(false)
|
||||
const [showAdminOptions, setShowAdminOptions] = useState(false)
|
||||
const [isRestartingOrca, setIsRestartingOrca] = useState(false)
|
||||
const lastShowOnboardingAtRef = React.useRef(0)
|
||||
const updateCheckModifiersRef = React.useRef(NO_UPDATE_CHECK_MODIFIERS)
|
||||
|
|
@ -108,15 +107,6 @@ export function SidebarSettingsHelpMenu(): React.JSX.Element {
|
|||
const handleMenuOpenChange = (open: boolean): void => {
|
||||
setMenuOpen(open)
|
||||
updateCheckModifiersRef.current = NO_UPDATE_CHECK_MODIFIERS
|
||||
if (!open) {
|
||||
setShowAdminOptions(false)
|
||||
}
|
||||
}
|
||||
|
||||
const revealAdminOptions = (altKey: boolean): void => {
|
||||
// Why: onboarding replay and restart stay off the default Help menu; holding
|
||||
// Option/Alt before opening is an intentional power-user affordance.
|
||||
setShowAdminOptions(altKey)
|
||||
}
|
||||
|
||||
const handleShowOnboarding = (): void => {
|
||||
|
|
@ -221,8 +211,6 @@ export function SidebarSettingsHelpMenu(): React.JSX.Element {
|
|||
'Help'
|
||||
)}
|
||||
className="text-muted-foreground"
|
||||
onPointerDown={(event) => revealAdminOptions(event.altKey)}
|
||||
onClick={(event) => revealAdminOptions(event.altKey)}
|
||||
>
|
||||
<CircleHelp className="size-3.5" />
|
||||
</Button>
|
||||
|
|
@ -268,19 +256,17 @@ export function SidebarSettingsHelpMenu(): React.JSX.Element {
|
|||
/>
|
||||
</DropdownMenuItem>
|
||||
) : null}
|
||||
{showAdminOptions ? (
|
||||
<DropdownMenuItem
|
||||
className="whitespace-nowrap"
|
||||
onClick={handleShowOnboarding}
|
||||
onSelect={handleShowOnboarding}
|
||||
>
|
||||
<School className="size-3.5" />
|
||||
{translate(
|
||||
'auto.components.sidebar.SidebarSettingsHelpMenu.b7e4d2a19c',
|
||||
'Onboarding'
|
||||
)}
|
||||
</DropdownMenuItem>
|
||||
) : null}
|
||||
<DropdownMenuItem
|
||||
className="whitespace-nowrap"
|
||||
onClick={handleShowOnboarding}
|
||||
onSelect={handleShowOnboarding}
|
||||
>
|
||||
<School className="size-3.5" />
|
||||
{translate(
|
||||
'auto.components.sidebar.SidebarSettingsHelpMenu.b7e4d2a19c',
|
||||
'Onboarding'
|
||||
)}
|
||||
</DropdownMenuItem>
|
||||
<ExternalMenuItem
|
||||
label={translate(
|
||||
'auto.components.sidebar.SidebarSettingsHelpMenu.cdc87f897e',
|
||||
|
|
@ -333,18 +319,14 @@ export function SidebarSettingsHelpMenu(): React.JSX.Element {
|
|||
'Check for Updates'
|
||||
)}
|
||||
</DropdownMenuItem>
|
||||
{showAdminOptions ? (
|
||||
<>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem onSelect={handleRestartOrca} disabled={isRestartingOrca}>
|
||||
<RotateCw className="size-3.5" />
|
||||
{translate(
|
||||
'auto.components.sidebar.SidebarSettingsHelpMenu.ad3d3ed7f1',
|
||||
'Restart Orca'
|
||||
)}
|
||||
</DropdownMenuItem>
|
||||
</>
|
||||
) : null}
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem onSelect={handleRestartOrca} disabled={isRestartingOrca}>
|
||||
<RotateCw className="size-3.5" />
|
||||
{translate(
|
||||
'auto.components.sidebar.SidebarSettingsHelpMenu.ad3d3ed7f1',
|
||||
'Restart Orca'
|
||||
)}
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue