Added onboarding + a lightweight install banner to both the mobile login screen and the settings screen, with Android/Chromium

install prompt support and iOS “Share → Add to Home Screen” guidance. Also added a small helper + tests to decide
  when/which banner variant should show, and shared copy in common.json.
This commit is contained in:
Codex Agent
2025-12-28 18:26:17 +01:00
parent b780d82d62
commit d5f038d098
17 changed files with 831 additions and 8 deletions

View File

@@ -0,0 +1,28 @@
export type InstallBannerVariant = 'prompt' | 'ios';
export type InstallBannerState = {
variant: InstallBannerVariant;
};
export type InstallBannerInput = {
isInstalled: boolean;
isStandalone: boolean;
canInstall: boolean;
isIos: boolean;
};
export function resolveInstallBannerState(input: InstallBannerInput): InstallBannerState | null {
if (input.isInstalled || input.isStandalone) {
return null;
}
if (input.canInstall) {
return { variant: 'prompt' };
}
if (input.isIos) {
return { variant: 'ios' };
}
return null;
}