From db4b1c1065d9af9eef58dd5222bffb206e7de661 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Fri, 26 Sep 2025 17:51:36 +0800 Subject: [PATCH 1/7] Removed dependencies --- package.json | 1 - pnpm-lock.yaml | 9 --------- 2 files changed, 10 deletions(-) diff --git a/package.json b/package.json index 2b40f33..c9e491b 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "@kobalte/core": "^0.13.11", "@solidjs-use/integrations": "^2.3.0", "@solidjs/router": "^0.15.3", - "bcryptjs": "^3.0.2", "crypto-js": "^4.2.0", "dayjs": "^1.11.18", "gsap": "^3.13.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 640df4a..a3b272b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,9 +17,6 @@ importers: '@solidjs/router': specifier: ^0.15.3 version: 0.15.3(solid-js@1.9.9) - bcryptjs: - specifier: ^3.0.2 - version: 3.0.2 crypto-js: specifier: ^4.2.0 version: 4.2.0 @@ -828,10 +825,6 @@ packages: resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==} hasBin: true - bcryptjs@3.0.2: - resolution: {integrity: sha512-k38b3XOZKv60C4E2hVsXTolJWfkGRMbILBIe2IBITXciy5bOsTKot5kDrf3ZfufQtQOUN5mXceUEpU1rTl9Uog==} - hasBin: true - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -2019,8 +2012,6 @@ snapshots: baseline-browser-mapping@2.8.6: {} - bcryptjs@3.0.2: {} - braces@3.0.3: dependencies: fill-range: 7.1.1 From f4af10e82aa2dccbbbf97ed3f8a65a9da4c850a1 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Fri, 26 Sep 2025 17:51:47 +0800 Subject: [PATCH 2/7] Cleanup --- src/pages/RegisterPage/Register.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/pages/RegisterPage/Register.tsx b/src/pages/RegisterPage/Register.tsx index c5a9fda..72632b2 100644 --- a/src/pages/RegisterPage/Register.tsx +++ b/src/pages/RegisterPage/Register.tsx @@ -6,7 +6,6 @@ import { ofetch } from 'ofetch' import { SHA3, SHA1 } from 'crypto-js' import dayjs from 'dayjs' import { FileField } from '@kobalte/core/file-field' -import bcrypt from 'bcryptjs' export default () => { const API = import.meta.env.VITE_BACKEND @@ -71,8 +70,6 @@ export default () => { } const securePassword = async () => { - // const salt = bcrypt.genSaltSync(9) - // const hash = bcrypt.hashSync(password(), salt) const firstHashing = SHA1(password()) const secondHashing = SHA3(firstHashing) const thirdHashing = SHA1(secondHashing) From 7228f82ed137b9a16e39c76870c5f192242fdbb0 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Fri, 26 Sep 2025 17:52:02 +0800 Subject: [PATCH 3/7] Default to Assessor --- src/pages/LoginPage/Login.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/LoginPage/Login.tsx b/src/pages/LoginPage/Login.tsx index dbe55dd..a81a5a7 100644 --- a/src/pages/LoginPage/Login.tsx +++ b/src/pages/LoginPage/Login.tsx @@ -12,7 +12,7 @@ export default () => { const assessors = JSON.parse(sessionStorage.getItem('assessors')!) const roles = ['Assessor', 'Approver'] - const [role, setRole] = createSignal('') + const [role, setRole] = createSignal('Assessor') const [name, setName] = createSignal('') const [password, setPassword] = createSignal('') const [matched, setMatched] = createSignal(false) From 03dd6ac4ad04ce6b4c3d4673303139a85bba43d5 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Tue, 30 Sep 2025 08:53:08 +0800 Subject: [PATCH 4/7] Added nanostore for solid --- package.json | 1 + pnpm-lock.yaml | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/package.json b/package.json index c9e491b..3dfda0f 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "solidjs-use": "^2.3.0" }, "devDependencies": { + "@nanostores/solid": "^1.1.1", "@types/crypto-js": "^4.2.2", "sass-embedded": "^1.93.2", "typescript": "~5.8.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3b272b..34cff5b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,6 +45,9 @@ importers: specifier: ^2.3.0 version: 2.3.0 devDependencies: + '@nanostores/solid': + specifier: ^1.1.1 + version: 1.1.1(nanostores@1.0.1)(solid-js@1.9.9) '@types/crypto-js': specifier: ^4.2.2 version: 4.2.2 @@ -478,6 +481,12 @@ packages: peerDependencies: solid-js: ^1.8.8 + '@nanostores/solid@1.1.1': + resolution: {integrity: sha512-gF0Eat1/c3hOaklBMSVoEjcNzJc5zGk4VSg94H9LPmXYww1pxgr7zylpi3jjyxRu24c8+aYNkmRWzolAwzSA1A==} + peerDependencies: + nanostores: '>=0.9.0 <2.0.0' + solid-js: ^1.6.0 + '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} engines: {node: '>= 10.0.0'} @@ -1752,6 +1761,11 @@ snapshots: '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) solid-js: 1.9.9 + '@nanostores/solid@1.1.1(nanostores@1.0.1)(solid-js@1.9.9)': + dependencies: + nanostores: 1.0.1 + solid-js: 1.9.9 + '@parcel/watcher-android-arm64@2.5.1': optional: true From 2510353fbf9a4cf1b368437413978d53126065b4 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Tue, 30 Sep 2025 08:53:54 +0800 Subject: [PATCH 5/7] Separated modal and modalbutton --- src/components/Modal/Modal.tsx | 46 +++++++------------------ src/components/Modal/ModalButton.tsx | 51 ++++++++++++++++++++++++++++ src/components/index.ts | 1 + 3 files changed, 64 insertions(+), 34 deletions(-) create mode 100644 src/components/Modal/ModalButton.tsx diff --git a/src/components/Modal/Modal.tsx b/src/components/Modal/Modal.tsx index 7b7f28a..a695cab 100644 --- a/src/components/Modal/Modal.tsx +++ b/src/components/Modal/Modal.tsx @@ -1,52 +1,30 @@ import './Modal.sass' import { type JSXElement, Show } from 'solid-js' -import gsap from 'gsap' interface Props { children: JSXElement background?: string color?: string border?: string - trigger: boolean opacity?: number } export default (props: Props) => { - let dialogRef!: HTMLDivElement - - // const openHandler = () => { - // gsap.to(dialogRef, { - // duration: 0, - // display: 'flex', - // ease: 'power2.out', - // }) - // } - - const closeHandler = () => { - gsap.to(dialogRef, { - duration: 0, - display: 'none', - ease: 'power2.out', - }) - } - return ( <> - - ) } diff --git a/src/components/Modal/ModalButton.tsx b/src/components/Modal/ModalButton.tsx new file mode 100644 index 0000000..e83f82f --- /dev/null +++ b/src/components/Modal/ModalButton.tsx @@ -0,0 +1,51 @@ +import './Modal.sass' +import { type JSXElement, Show, createSignal } from 'solid-js' +import Button from '../Button/Button' + +interface Props { + children: JSXElement + background?: string + color?: string + border?: string + opacity?: number + label: string + edges?: 'curved' | 'rounded' | 'flat' + design?: 'bu-primary' | 'bu-link' | 'bu-info' | 'bu-success' | 'bu-warning' | 'bu-danger' | 'bu-dark' | 'bu-light' | 'bu-text' | 'bu-ghost' | 'bo-primary' | 'bo-secondary' | 'bo-success' | 'bo-danger' | 'bo-warning' | 'bo-info' | 'bo-light' | 'bo-dark' | 'bo-link' + width?: number + wide?: boolean +} + +export default (props: Props) => { + const [isOpen, setIsOpen] = createSignal(false) + + const openHandler = () => { + setIsOpen(true) + } + + const closeHandler = () => { + setIsOpen(false) + } + + return ( + <> + + - + + + + + + + + + Required password + + + + + + Required name and password + + - - -

1

-
) }