diff --git a/src/pages/auth/SignIn.jsx b/src/pages/auth/SignIn.jsx
index cbac2a3..fa27d98 100644
--- a/src/pages/auth/SignIn.jsx
+++ b/src/pages/auth/SignIn.jsx
@@ -7,111 +7,155 @@ import sypiu_ggcp from 'assets/sypiu_ggcp.jpg';
import logo from 'assets/freepik/LOGOPIU.png';
const SignIn = () => {
- const [captchaSvg, setCaptchaSvg] = useState('');
- const [captchaText, setCaptchaText] = useState('');
- const [loading, setLoading] = useState(false);
- const navigate = useNavigate();
+ const [captchaSvg, setCaptchaSvg] = useState('');
+ const [captchaText, setCaptchaText] = useState('');
+ const [loading, setLoading] = useState(false);
+ const navigate = useNavigate();
- const moveToSignUp = () => {
- navigate("/signup");
- };
+ const moveToSignUp = () => {
+ navigate('/signup');
+ };
- // ambil captcha
- const fetchCaptcha = async () => {
- try {
- const res = await SendRequest({ method: 'get', prefix: 'auth/generate-captcha', token: false });
- setCaptchaSvg(res.data.svg || '');
- setCaptchaText(res.data.text || '');
- } catch (err) {
- console.error('Error fetching captcha:', err);
- }
- };
+ // ambil captcha
+ const fetchCaptcha = async () => {
+ try {
+ const res = await SendRequest({
+ method: 'get',
+ prefix: 'auth/generate-captcha',
+ token: false,
+ });
+ setCaptchaSvg(res.data.svg || '');
+ setCaptchaText(res.data.text || '');
+ } catch (err) {
+ console.error('Error fetching captcha:', err);
+ }
+ };
- useEffect(() => { fetchCaptcha(); }, []);
-
- const handleOnSubmit = async (values) => {
- setLoading(true);
- try {
- const res = await SendRequest({
- method: 'post',
- prefix: 'auth/login',
- params: {
- email: values.email,
- password: values.password,
- captcha: values.captcha,
- captchaText: captchaText,
- },
- withCredentials: true
- });
-
- const user = res?.data?.user || res?.user;
- const accessToken = res?.data?.accessToken || res?.tokens?.accessToken;
-
- if (user && accessToken) {
- localStorage.setItem('token', accessToken);
- localStorage.setItem('user', JSON.stringify(user));
-
- NotifOk({
- icon: 'success',
- title: 'Login Berhasil',
- message: res?.message || 'Selamat datang!',
- });
-
- navigate('/dashboard/home');
- } else {
- NotifAlert({
- icon: 'error',
- title: 'Login Gagal',
- message: res?.message || 'Terjadi kesalahan',
- });
+ useEffect(() => {
fetchCaptcha();
- }
- } catch (err) {
- console.error(err);
- NotifAlert({ icon: 'error', title: 'Login Gagal', message: err?.message || 'Terjadi kesalahan' });
- fetchCaptcha();
- } finally { setLoading(false); }
- };
+ }, []);
- return (
-
-
-
-
-
-
-
-
-
+ const handleOnSubmit = async (values) => {
+ setLoading(true);
+ try {
+ const res = await SendRequest({
+ method: 'post',
+ prefix: 'auth/login',
+ params: {
+ email: values.email,
+ password: values.password,
+ captcha: values.captcha,
+ captchaText: captchaText,
+ },
+ withCredentials: true,
+ });
-
-
-
+ const user = res?.data?.user || res?.user;
+ const accessToken = res?.data?.accessToken || res?.tokens?.accessToken;
-
+ if (user && accessToken) {
+ localStorage.setItem('token', accessToken);
+ localStorage.setItem('user', JSON.stringify(user));
-
-
-
+ NotifOk({
+ icon: 'success',
+ title: 'Login Berhasil',
+ message: res?.message || 'Selamat datang!',
+ });
-
-
-
-
-
-
-
-
-
- );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
};
export default SignIn;