[Mobile] Ne pas afficher « Ouvrir dans l'application » dans l'app native #103
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Résumé
Dans l'app Android packagée, la landing page (
/, vue par un visiteur non connecté) affiche le bouton « Ouvrir dans l'application » — qui n'a aucun sens une fois qu'on est déjà dans l'application : le taper tente de relancer l'app via le schemebatchcooking://open, échoue, et retombe sur/telecharger.Contexte (trouvé en auditant le code, pas supposé)
apps/web/src/pages/landing/LandingPage.tsx: le bouton est rendu sous{isMobile && ( <button className="landing__cta landing__cta--primary" onClick={handleOpenApp}> … )}.const isMobile = isAndroidPhoneBrowser();—apps/web/src/lib/mobile-app-redirect.ts:return /Android/.test(navigator.userAgent) && /Mobile/.test(navigator.userAgent);.C'est une pure détection d'user-agent : la WebView Capacitor contient
AndroidetMobile, doncisAndroidPhoneBrowser()renvoietruedans l'app native et le bouton s'affiche. AucunCapacitor.isNativePlatform()dans ce fichier ni dansLandingPage.tsx.LandingPage(apps/web/src/features/auth/RequireAuth.tsxrend<LandingPage />à/).Contenu attendu
Le bouton « Ouvrir dans l'application » (et le lien
/telechargeren variante desktop) ne doivent pas être rendus quandCapacitor.isNativePlatform()est vrai. RéutiliserCapacitor.isNativePlatform()de@capacitor/core— motif déjà utilisé dansmain.tsx,pages/settings/AppSettingsPage.tsx,features/app-update/useAppUpdateCheck.ts. Vu que c'est le ~6ᵉ site d'appel, envisager un petit helperisNativeApp()/ hookuseIsNativedansapps/web/src/lib/.Couverture : ajouter au spec Cypress de la landing un cas avec
Capacitor.isNativePlatformstubbé àtrue(bouton absent).Dépendances
Aucune.