diff --git a/APPLE_REVIEW_RESPONSE.md b/APPLE_REVIEW_RESPONSE.md
index e8374af..5d95cea 100644
--- a/APPLE_REVIEW_RESPONSE.md
+++ b/APPLE_REVIEW_RESPONSE.md
@@ -78,27 +78,61 @@ The paid digital content, services, or subscriptions included in or accessed by
---
-### Fix #2: Account Creation Button
+### ✅ Fix #2: Account Creation Button (Login Screen Cleanup)
-**Date Fixed:** [PENDING]
+**Date Fixed:** January 12, 2026
**Changes Made:**
-- [TO BE FILLED AFTER INVESTIGATION & FIX]
+- Removed "Create Account" button from login screen footer (not functional, not needed)
+- Removed "Forgot Password" button from login screen (not needed for initial release)
+- Replaced text-based logo with actual app logo image (`icon.png`)
+- Cleaned up login screen to focus on core functionality
**Technical Details:**
-- [TO BE FILLED AFTER IMPLEMENTATION]
+- File modified: `app/(auth)/login.tsx`
+- Removed footer section containing "Create Account" and "Sign Up" link (lines 123-128)
+- Removed "Forgot Password" TouchableOpacity (lines 109-111)
+- Changed logo from `WellNuo` to `
{/* Logo / Header */}
-
- WellNuo
-
+
Welcome Back
Sign in to continue monitoring your loved ones
@@ -106,27 +108,16 @@ export default function LoginScreen() {
returnKeyType="done"
/>
-
- Forgot Password?
-
-
- {/* Footer */}
-
- Don't have an account?
-
- Create Account
-
-
-
{/* Version Info */}
WellNuo v1.0.0
@@ -149,20 +140,11 @@ const styles = StyleSheet.create({
alignItems: 'center',
marginBottom: Spacing.xl,
},
- logoContainer: {
- width: 80,
- height: 80,
- borderRadius: BorderRadius.xl,
- backgroundColor: AppColors.primary,
- justifyContent: 'center',
- alignItems: 'center',
+ logo: {
+ width: 120,
+ height: 120,
marginBottom: Spacing.lg,
},
- logoText: {
- fontSize: FontSizes.lg,
- fontWeight: '700',
- color: AppColors.white,
- },
title: {
fontSize: FontSizes['2xl'],
fontWeight: '700',
@@ -177,30 +159,8 @@ const styles = StyleSheet.create({
form: {
marginBottom: Spacing.xl,
},
- forgotPassword: {
- alignSelf: 'flex-end',
- marginBottom: Spacing.lg,
- marginTop: -Spacing.sm,
- },
- forgotPasswordText: {
- fontSize: FontSizes.sm,
- color: AppColors.primary,
- fontWeight: '500',
- },
- footer: {
- flexDirection: 'row',
- justifyContent: 'center',
- alignItems: 'center',
- marginBottom: Spacing.xl,
- },
- footerText: {
- fontSize: FontSizes.base,
- color: AppColors.textSecondary,
- },
- footerLink: {
- fontSize: FontSizes.base,
- color: AppColors.primary,
- fontWeight: '600',
+ signInButton: {
+ marginTop: Spacing.lg,
},
version: {
textAlign: 'center',
diff --git a/app/(tabs)/profile.tsx b/app/(tabs)/profile.tsx
index bfd6f98..7955fb6 100644
--- a/app/(tabs)/profile.tsx
+++ b/app/(tabs)/profile.tsx
@@ -11,6 +11,7 @@ import { router } from 'expo-router';
import { Ionicons } from '@expo/vector-icons';
import { SafeAreaView } from 'react-native-safe-area-context';
import { useAuth } from '@/contexts/AuthContext';
+import { api } from '@/services/api';
import { AppColors, BorderRadius, FontSizes, Spacing } from '@/constants/theme';
interface MenuItemProps {
@@ -59,6 +60,30 @@ export default function ProfileScreen() {
router.push('/privacy');
};
+ const handleDeleteAccount = () => {
+ Alert.alert(
+ 'Delete Account',
+ 'Are you sure you want to delete your account? This action cannot be undone. All your data will be permanently deleted.',
+ [
+ { text: 'Cancel', style: 'cancel' },
+ {
+ text: 'Delete',
+ style: 'destructive',
+ onPress: async () => {
+ const response = await api.deleteAccount();
+ if (response.ok) {
+ Alert.alert('Success', 'Your account has been deleted successfully');
+ router.replace('/(auth)/login');
+ } else {
+ Alert.alert('Error', response.error?.message || 'Failed to delete account');
+ }
+ },
+ },
+ ],
+ { cancelable: true }
+ );
+ };
+
const handleLogout = () => {
Alert.alert(
'Logout',
@@ -116,6 +141,14 @@ export default function ProfileScreen() {
+ {/* Account Actions */}
+
+
+
+ Delete Account
+
+
+
{/* Logout Button */}
@@ -231,6 +264,23 @@ const styles = StyleSheet.create({
backgroundColor: AppColors.border,
marginLeft: Spacing.lg + 36 + Spacing.md,
},
+ deleteButton: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'center',
+ backgroundColor: AppColors.background,
+ paddingVertical: Spacing.md,
+ marginHorizontal: Spacing.lg,
+ borderRadius: BorderRadius.lg,
+ borderWidth: 1,
+ borderColor: AppColors.error,
+ },
+ deleteText: {
+ fontSize: FontSizes.base,
+ fontWeight: '600',
+ color: AppColors.error,
+ marginLeft: Spacing.sm,
+ },
logoutButton: {
flexDirection: 'row',
alignItems: 'center',
diff --git a/services/api.ts b/services/api.ts
index 8c1a543..ffdd04b 100644
--- a/services/api.ts
+++ b/services/api.ts
@@ -147,6 +147,28 @@ class ApiService {
}
}
+ async deleteAccount(): Promise> {
+ const token = await this.getToken();
+ const userName = await this.getUserName();
+
+ if (!token || !userName) {
+ return { ok: false, error: { message: 'Not authenticated', code: 'UNAUTHORIZED' } };
+ }
+
+ const response = await this.makeRequest({
+ function: 'delete_account',
+ user_name: userName,
+ token: token,
+ });
+
+ // If successful, logout locally
+ if (response.ok) {
+ await this.logout();
+ }
+
+ return response;
+ }
+
async logout(): Promise {
await SecureStore.deleteItemAsync('accessToken');
await SecureStore.deleteItemAsync('userId');