Untitled
unknown
plain_text
a year ago
3.2 kB
12
Indexable
import React, { useState } from 'react';
const Form = ({ addStudent }) => {
const [fullname, setFullname] = useState('');
const [birthDate, setBirthDate] = useState('');
const [gender, setGender] = useState('');
const [programStudy, setProgramStudy] = useState('');
const handleSubmit = (e) => {
e.preventDefault();
const faculty = getFacultyByProgramStudy(programStudy);
addStudent({ fullname, birthDate, gender, faculty, programStudy });
setFullname('');
setBirthDate('');
setGender('');
setProgramStudy('');
};
const getFacultyByProgramStudy = (programStudy) => {
switch (programStudy) {
case 'Ekonomi':
case 'Manajemen':
case 'Akuntansi':
return 'Fakultas Ekonomi';
case 'Administrasi Publik':
case 'Administrasi Bisnis':
case 'Hubungan Internasional':
return 'Fakultas Ilmu Sosial dan Politik';
case 'Teknik Sipil':
case 'Arsitektur':
return 'Fakultas Teknik';
case 'Matematika':
case 'Fisika':
case 'Informatika':
return 'Fakultas Teknologi Informasi dan Sains';
default:
return '';
}
};
return (
<form onSubmit={handleSubmit}>
<input
data-testid="name"
type="text"
placeholder="Fullname"
value={fullname}
onChange={(e) => setFullname(e.target.value)}
/>
<input
data-testid="date"
type="date"
value={birthDate}
onChange={(e) => setBirthDate(e.target.value)}
/>
<select data-testid="gender" value={gender} onChange={(e) => setGender(e.target.value)}>
<option value="">Select Gender</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
<select data-testid="prody" value={programStudy} onChange={(e) => setProgramStudy(e.target.value)}>
<option value="">Select Program Study</option>
<option value="Ekonomi">Ekonomi</option>
<option value="Manajemen">Manajemen</option>
<option value="Akuntansi">Akuntansi</option>
<option value="Administrasi Publik">Administrasi Publik</option>
<option value="Administrasi Bisnis">Administrasi Bisnis</option>
<option value="Hubungan Internasional">Hubungan Internasional</option>
<option value="Teknik Sipil">Teknik Sipil</option>
<option value="Arsitektur">Arsitektur</option>
<option value="Matematika">Matematika</option>
<option value="Fisika">Fisika</option>
<option value="Informatika">Informatika</option>
</select>
<button data-testid="submit" type="submit">Add Student</button>
</form>
);
};
export default Form;
Editor is loading...
Leave a Comment