docs(mobile): link directly to Android install guide

This commit is contained in:
Jinwoo-H
2026-08-18 00:19:24 -04:00
parent 2e68156065
commit b6bdd72be3
3 changed files with 16 additions and 40 deletions
@@ -1,3 +1,5 @@
import { ExternalLink } from 'lucide-react'
import { Button } from '@/components/ui/button'
import { translate } from '@/i18n/i18n'
type MobileAndroidInstallHelpProps = {
@@ -8,36 +10,15 @@ export function MobileAndroidInstallHelp({
onOpenGuide
}: MobileAndroidInstallHelpProps): React.JSX.Element {
return (
<div className="mt-4 rounded-lg border border-border bg-muted/30 p-3">
<p className="text-xs font-medium text-foreground">
{translate('auto.components.mobile.MobileHero.androidHelp.title', 'APK trouble?')}
</p>
<ul className="mt-1.5 list-disc space-y-1 pl-4 text-xs leading-relaxed text-muted-foreground">
<li>
{translate(
'auto.components.mobile.MobileHero.androidHelp.fullBrowser',
'Open the link in a full browser, not an in-app browser.'
)}
</li>
<li>
{translate(
'auto.components.mobile.MobileHero.androidHelp.downloads',
'Open app-release.apk from Downloads and allow only the app opening it to install unknown apps.'
)}
</li>
<li>
{translate(
'auto.components.mobile.MobileHero.androidHelp.samsung',
'On Samsung, temporarily turn off Auto Blocker, then turn it back on after installing.'
)}
</li>
</ul>
<button type="button" className="mp-text-link mt-2" onClick={onOpenGuide}>
{translate(
'auto.components.mobile.MobileHero.androidHelp.guide',
'Full Android install guide'
)}
</button>
</div>
<Button
type="button"
variant="link"
size="xs"
className="mt-2 h-6 px-0 text-xs text-muted-foreground hover:text-foreground"
onClick={onOpenGuide}
>
{translate('auto.components.mobile.MobileHero.androidHelp.guide', 'Install guide')}
<ExternalLink className="size-3" />
</Button>
)
}
@@ -155,7 +155,7 @@ describe('HeroFlow height', () => {
expect(screen.getByText('Step 1 of 2').closest('.mp-flow-screen')).toHaveAttribute('inert')
})
it('shows focused APK help on Android and opens the full guide', async () => {
it('opens the APK install guide without duplicating its troubleshooting steps', async () => {
const user = userEvent.setup()
const onOpenAndroidInstallGuide = vi.fn()
renderFlow(0, {
@@ -164,9 +164,8 @@ describe('HeroFlow height', () => {
onOpenAndroidInstallGuide
})
expect(screen.getByText('APK trouble?')).toBeInTheDocument()
expect(screen.getByText(/full browser, not an in-app browser/)).toBeInTheDocument()
await user.click(screen.getByRole('button', { name: 'Full Android install guide' }))
expect(screen.queryByText(/full browser, not an in-app browser/)).not.toBeInTheDocument()
await user.click(screen.getByRole('button', { name: 'Install guide' }))
expect(onOpenAndroidInstallGuide).toHaveBeenCalledOnce()
})
+1 -5
View File
@@ -13087,11 +13087,7 @@
"directAddressDisclosure": "Also use a faster local path",
"directAddressHint": "Optional. Pick the Wi‑Fi or Tailscale address your phone should use when nearby — usually faster than Relay. Relay still works when you’re away.",
"androidHelp": {
"title": "APK trouble?",
"fullBrowser": "Open the link in a full browser, not an in-app browser.",
"downloads": "Open app-release.apk from Downloads and allow only the app opening it to install unknown apps.",
"samsung": "On Samsung, temporarily turn off Auto Blocker, then turn it back on after installing.",
"guide": "Full Android install guide"
"guide": "Install guide"
}
},
"MobilePage": {