feat: new client onboarding wizard (3-step); fix ticket status refresh after update

This commit is contained in:
Nemo
2026-03-24 12:36:19 +08:00
parent 0ddd31ecd7
commit 58468fb986
3 changed files with 407 additions and 8 deletions

View File

@@ -35,9 +35,18 @@ export default function ClientsScreen() {
<SafeAreaView style={{ flex: 1, backgroundColor: '#0891B2' }} edges={['top']}>
<View style={{ flex: 1, backgroundColor: '#F8FAFC' }}>
{/* Header */}
<View style={{ backgroundColor: '#0891B2', paddingHorizontal: 20, paddingTop: 16, paddingBottom: 20 }}>
<Text style={{ color: '#FFF', fontSize: 28, fontWeight: '800' }}>Clients</Text>
<Text style={{ color: '#A5F3FC', fontSize: 15, marginTop: 2 }}>{data?.length ?? 0} subscribers</Text>
<View style={{ backgroundColor: '#0891B2', paddingHorizontal: 20, paddingTop: 16, paddingBottom: 20, flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'space-between' }}>
<View>
<Text style={{ color: '#FFF', fontSize: 28, fontWeight: '800' }}>Clients</Text>
<Text style={{ color: '#A5F3FC', fontSize: 15, marginTop: 2 }}>{data?.length ?? 0} subscribers</Text>
</View>
<TouchableOpacity
onPress={() => router.push('/(app)/clients/new')}
style={{ backgroundColor: '#fff', borderRadius: 20, paddingHorizontal: 14, paddingVertical: 8, flexDirection: 'row', alignItems: 'center', gap: 6 }}
>
<Text style={{ fontSize: 18, color: '#0891B2', fontWeight: '800', lineHeight: 20 }}>+</Text>
<Text style={{ fontSize: 14, fontWeight: '700', color: '#0891B2' }}>New Client</Text>
</TouchableOpacity>
</View>
{/* Search */}