From 640f02470f21655d1030730b76f3c13cf9f6302f Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Fri, 26 Sep 2025 17:33:32 +0800 Subject: [PATCH] Updated login page --- src/pages/LoginPage/Login.sass | 6 ++ src/pages/LoginPage/Login.tsx | 117 +++++++++++++++++++++++++-------- 2 files changed, 94 insertions(+), 29 deletions(-) diff --git a/src/pages/LoginPage/Login.sass b/src/pages/LoginPage/Login.sass index e69de29..18216fd 100644 --- a/src/pages/LoginPage/Login.sass +++ b/src/pages/LoginPage/Login.sass @@ -0,0 +1,6 @@ +.box-title + font-size: 1.75rem + font-weight: 700 + +.approver-name + font-size: 1.25rem \ No newline at end of file diff --git a/src/pages/LoginPage/Login.tsx b/src/pages/LoginPage/Login.tsx index 7bf8b10..dbe55dd 100644 --- a/src/pages/LoginPage/Login.tsx +++ b/src/pages/LoginPage/Login.tsx @@ -1,42 +1,101 @@ import './Login.sass' -import { Logo, Link, Page, Row, Padding, Form, Box } from '../../components' +import { Logo, Link, Page, Row, Padding, Form, Box, Radio, Combobox, Input, Button, Modal } from '../../components' import { IoChevronBack } from 'solid-icons/io' +import { createSignal, Show } from 'solid-js' +import { ofetch } from 'ofetch' +import { SHA1, SHA3 } from 'crypto-js' +import { useNavigate } from '@solidjs/router' export default () => { + const API = import.meta.env.VITE_BACKEND + const APPROVERNAME = import.meta.env.VITE_HEAD + const assessors = JSON.parse(sessionStorage.getItem('assessors')!) + const roles = ['Assessor', 'Approver'] + + const [role, setRole] = createSignal('') + const [name, setName] = createSignal('') + const [password, setPassword] = createSignal('') + const [matched, setMatched] = createSignal(false) + + const navigate = useNavigate() + + const login = async () => { + const employeeid = await ofetch(API + 'get-employeeid/' + name(), { parseResponse: JSON.parse }) + const dbpassword = await ofetch(API + 'get-password/' + employeeid.result, { parseResponse: JSON.parse }) + const hashPassword = await securePassword() + + console.log('dbpassword', dbpassword.result) + console.log('hashPassword', hashPassword) + console.log(dbpassword.result === hashPassword) + + if (dbpassword.result === hashPassword) { + setMatched(true) + navigate('/') + } + } + + const securePassword = async () => { + const firstHashing = SHA1(password()) + const secondHashing = SHA3(firstHashing) + const thirdHashing = SHA1(secondHashing) + + return thirdHashing.toString() + } + return ( <> - - - - - -

OCBO e-Sign

-
- - - - - - Back - - -
- - - - - - Login - -
-

Role

-
-
+ + + + +

OCBO e-Sign

-
+ + + + + + Back + + + + + + + + + Login + + + + + + + +

Name

+ + + + + {APPROVERNAME} + +

Password

+ + + + + + + +
+
+ + +

1

+
) }