You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.5 KiB
64 lines
2.5 KiB
import { Ionicons } from '@expo/vector-icons';
|
|
import { Pressable, StyleSheet, Text, TextInput, View } from 'react-native';
|
|
import { colors, spacing } from '../../../src/theme';
|
|
import { useOnboarding, useRegisterFinish } from '../../../src/hooks';
|
|
import { ScreenShell } from '../ui/ScreenShell';
|
|
import { PrimaryButton } from '../ui/PrimaryButton';
|
|
|
|
export function P16WorkContent() {
|
|
const { data, setData, navigate, back } = useOnboarding();
|
|
const finish = useRegisterFinish();
|
|
const text = data.workContent;
|
|
const canNext = text.trim().length >= 5;
|
|
|
|
return (
|
|
<ScreenShell showBack onBack={back}>
|
|
<View style={styles.header}>
|
|
<Text style={styles.title}>工作内容介绍</Text>
|
|
{/* 快速通道:与 P6 同一语义(填完当前步即可落地),文案据实写「跳过」。
|
|
企业端只走 P3 → B3,到不了本页,故落地身份固定为求职者 */}
|
|
<Pressable onPress={() => void finish('candidate')} hitSlop={6}>
|
|
<Text style={styles.save}>跳过,直接进入</Text>
|
|
</Pressable>
|
|
</View>
|
|
|
|
<Pressable style={styles.ref} onPress={() => navigate('P17')}>
|
|
<Ionicons name="eye-outline" size={18} color={colors.primary} />
|
|
<Text style={styles.refText}>看看别人怎么写</Text>
|
|
</Pressable>
|
|
|
|
<TextInput
|
|
style={styles.input}
|
|
value={text}
|
|
onChangeText={(t) => setData({ workContent: t })}
|
|
placeholder="至少输入 5 个字,描述你的主要工作内容"
|
|
placeholderTextColor={colors.textHint}
|
|
multiline
|
|
textAlignVertical="top"
|
|
/>
|
|
|
|
<View style={styles.footer}>
|
|
<PrimaryButton label="下一步" active={canNext} onPress={() => navigate('P18')} />
|
|
</View>
|
|
</ScreenShell>
|
|
);
|
|
}
|
|
|
|
const styles = StyleSheet.create({
|
|
header: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', marginBottom: spacing.block },
|
|
title: { fontSize: 20, fontWeight: '800', color: colors.textPrimary },
|
|
save: { fontSize: 15, fontWeight: '700', color: colors.primary },
|
|
ref: { flexDirection: 'row', alignItems: 'center', gap: 6, alignSelf: 'flex-start', marginBottom: spacing.block },
|
|
refText: { fontSize: 14, color: colors.primary, fontWeight: '600' },
|
|
input: {
|
|
minHeight: 200,
|
|
borderRadius: 12,
|
|
borderWidth: 1,
|
|
borderColor: colors.border,
|
|
backgroundColor: colors.white,
|
|
padding: 14,
|
|
fontSize: 15,
|
|
color: colors.textPrimary,
|
|
},
|
|
footer: { marginTop: 24 },
|
|
});
|
|
|