| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- import { View, Text, StyleSheet } from "react-native";
- import NormalInput from "../../../global/normal_input";
- import { useState } from "react";
- import DateModal from "../../../global/date_input";
- import NormalButton from "../../../global/normal_button";
- import { SignUpFormData, HandleSignUpFormDataChange } from "../../../../types/signup";
- import useSignUpStore from "../../../../providers/signup_form_store";
- type basicInformationProps = {
- goToNextPage: () => void;
- handleFormDataChange: HandleSignUpFormDataChange;
- formData: SignUpFormData;
- };
- const BasicInformation: React.FC<basicInformationProps> = ({ handleFormDataChange, goToNextPage, formData }) => {
- const { signUpFormData, setSignUpFormData } = useSignUpStore();
- const [error, setError] = useState("");
- const handleNext = () => {
- if (signUpFormData.name === "" || signUpFormData.password === "" || signUpFormData.birthDate === "") {
- setError("請確保所有資料都已填寫。");
- } else {
- setError("");
- goToNextPage();
- }
- };
- return (
- <>
- <View style={styles.container}>
- <Text style={styles.text}>請填妥以下資料</Text>
- <View
- style={{
- display: "flex",
- flexDirection: "column",
- gap: 10,
- }}
- >
- {/* <NormalInput placeholder="姓名" onChangeText={(text) => handleFormDataChange("name", text)} /> */}
- <NormalInput
- placeholder="姓名"
- onChangeText={(text) => {
- setSignUpFormData({ ...signUpFormData, name: text });
- }}
- />
- {/* <NormalInput
- placeholder="帳戶密碼"
- onChangeText={(text) => handleFormDataChange("password", text)}
- secureTextEntry={true}
- /> */}
- <NormalInput
- placeholder="帳戶密碼"
- onChangeText={(text) => {
- setSignUpFormData({ ...signUpFormData, password: text });
- }}
- secureTextEntry={true}
- />
- <View style={{ display: "flex", flexDirection: "row", gap: 10 }}>
- {/* await YoYo's code review for gender */}
- <NormalInput
- placeholder="性別"
- onChangeText={(t) => console.log(t)}
- extendedStyle={{ width: "50%" }}
- />
- {/* <DateModal
- placeholder={formData.birthDate ? formData.birthDate : "DD/MM/YY"}
- onDateChange={(date) => {
- handleFormDataChange("birthDate", date);
- }}
- /> */}
- <DateModal
- placeholder={signUpFormData.birthDate ? signUpFormData.birthDate : "DD/MM/YY"}
- onDateChange={(date) => {
- setSignUpFormData({ ...signUpFormData, birthDate: date });
- }}
- />
- </View>
- <NormalButton
- title={<Text style={{ color: "#fff" }}>下一步</Text>}
- onPress={handleNext}
- extendedStyle={{}}
- />
- </View>
- {error && <Text style={styles.errorMessage}>{error}</Text>}
- </View>
- </>
- );
- };
- const styles = StyleSheet.create({
- container: {
- flex: 1,
- marginHorizontal: 20,
- },
- text: {
- fontSize: 20,
- paddingBottom: 10,
- },
- errorMessage: {
- fontSize: 14,
- color: "#ff0033",
- fontWeight: "400",
- marginLeft: 10,
- marginTop: 10,
- },
- });
- export default BasicInformation;
|