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

@@ -550,9 +550,18 @@ export default function MobileNotificationsPage() {
) : statusFiltered.length === 0 ? (
<MobileCard alignItems="center" justifyContent="center" space="$2">
<Bell size={24} color={String(theme.gray9?.val ?? '#9ca3af')} />
<Text fontSize="$sm" color={muted}>
{t('mobileNotifications.empty', 'Keine Benachrichtigungen vorhanden.')}
<Text fontSize="$sm" fontWeight="700" color={text}>
{t('mobileNotifications.emptyTitle', 'All caught up')}
</Text>
<Text fontSize="$xs" color={muted} textAlign="center">
{t('mobileNotifications.emptyBody', 'Enable push to receive alerts about uploads, guests, and expiring galleries.')}
</Text>
<CTAButton
label={t('mobileNotifications.emptyAction', 'Check notification settings')}
tone="ghost"
fullWidth={false}
onPress={() => navigate(adminPath('/mobile/settings'))}
/>
</MobileCard>
) : (
<YStack space="$2">