From 574436ab7117f4a3be38ad99852213b9058edece Mon Sep 17 00:00:00 2001 From: byGalax Date: Wed, 13 May 2026 23:36:31 +0200 Subject: [PATCH] feat(mobile): Netralax landing screen with runtime version + nav smoke test --- apps/mobile/app/index.tsx | 44 ++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/apps/mobile/app/index.tsx b/apps/mobile/app/index.tsx index 0e0c9e5..4b6ee8e 100644 --- a/apps/mobile/app/index.tsx +++ b/apps/mobile/app/index.tsx @@ -1,17 +1,29 @@ -// Landing / Login screen. +import * as Application from 'expo-application'; +import { Link } from 'expo-router'; +import { Pressable, StyleSheet, Text, View } from 'react-native'; + +// Phase 0 landing screen. Just enough to prove the app boots and routes: +// * Netralax brand wordmark (replaces the previous "ChatApp" string). +// * Runtime version from expo-application so we can spot stale builds +// on a TestFlight tester's device at a glance. +// * Placeholder nav link into (app)/chats — exercises Expo Router so a +// routing regression shows up here instead of mid-Phase-1. // -// Milestone 1 TODO: -// - Show app logo + "Enter your email" field. -// - On submit, call shared/auth requestMagicLink(email). -// - Handle deep link return in app/_layout.tsx (or a dedicated auth callback route). - -import { StyleSheet, Text, View } from 'react-native'; - +// Phase 1 replaces this with the actual magic-link login form. export default function Landing() { + const version = Application.nativeApplicationVersion ?? '0.0.0'; + return ( - ChatApp - Login placeholder — magic link flow goes here. + Netralax + Phase 0 — Deployment-Fundament + v{version} + + + + Weiter (Smoke-Test) + + ); } @@ -24,6 +36,14 @@ const styles = StyleSheet.create({ backgroundColor: '#0b0b0f', padding: 24, }, - title: { color: '#fff', fontSize: 28, fontWeight: '600' }, - subtitle: { color: '#9ca3af', marginTop: 8, textAlign: 'center' }, + title: { color: '#fff', fontSize: 32, fontWeight: '700', letterSpacing: 1 }, + subtitle: { color: '#9ca3af', marginTop: 8, marginBottom: 4 }, + version: { color: '#6b7280', fontSize: 12, marginBottom: 32 }, + button: { + backgroundColor: '#5865f2', + paddingHorizontal: 24, + paddingVertical: 14, + borderRadius: 12, + }, + buttonText: { color: '#fff', fontWeight: '600', fontSize: 15 }, });