feat(mobile): overhaul mobile app with Pro paywall, rewarded video refill, iOS permissions, and build APK
Some checks failed
deploy-site-windows / deploy-win (push) Successful in 48s
deploy-site / deploy (push) Failing after 24s

This commit is contained in:
Yun Chan 2026-08-20 21:49:05 +09:00
parent e87567fa90
commit 7e264dca37
8 changed files with 535 additions and 27 deletions

View file

@ -3,8 +3,9 @@
// Converted from Expo → RN CLI
import React from 'react'
import { View, ScrollView, StyleSheet, Alert, Switch } from 'react-native'
import { View, ScrollView, StyleSheet, Alert, Switch, Pressable } from 'react-native'
import { useSafeAreaInsets } from 'react-native-safe-area-context'
import { useNavigation } from '@react-navigation/native'
import {
MetalCard,
PhosphorText,
@ -21,6 +22,7 @@ export default function SettingsScreen(): React.ReactElement {
const insets = useSafeAreaInsets()
const { t } = useI18n()
const { user } = useAuth()
const navigation = useNavigation<any>()
async function handleLogout(): Promise<void> {
Alert.alert(t('mobile.set.logout'), t('mobile.set.logoutConfirm'), [
@ -76,6 +78,10 @@ export default function SettingsScreen(): React.ReactElement {
</PhosphorText>
</View>
</View>
<Pressable onPress={() => navigation.navigate('ProPaywall')} style={styles.upgradeSettingRow}>
<PhosphorText variant="body" color="amber">💎 PRO 요금제 & 리워드 토큰 충전</PhosphorText>
<PhosphorText variant="label" color="amber">→</PhosphorText>
</Pressable>
</MetalCard>
{/* Backend Section */}
@ -206,5 +212,14 @@ const styles = StyleSheet.create({
},
rowRight: { flexDirection: 'row', alignItems: 'center' },
rowValue: { marginLeft: 8 },
upgradeSettingRow: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
padding: 16,
borderTopWidth: 1,
borderTopColor: 'rgba(242, 91, 41, 0.25)',
backgroundColor: 'rgba(242, 91, 41, 0.08)'
},
logoutWrap: { margin: 20 }
})