diff --git a/package.json b/package.json index 2b40f33..3dfda0f 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", @@ -24,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 640df4a..34cff5b 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 @@ -48,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 @@ -481,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'} @@ -828,10 +834,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'} @@ -1759,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 @@ -2019,8 +2026,6 @@ snapshots: baseline-browser-mapping@2.8.6: {} - bcryptjs@3.0.2: {} - braces@3.0.3: dependencies: fill-range: 7.1.1 diff --git a/src/components/File/File.tsx b/src/components/File/File.tsx index 5335f98..6e21c3c 100644 --- a/src/components/File/File.tsx +++ b/src/components/File/File.tsx @@ -1,11 +1,20 @@ import './File.sass' import { FileField } from '@kobalte/core/file-field' -export default () => { +interface Props { + maxFiles: number + accept: string + onFileAccept?: (files: File[]) => void + label: string + buttonText: string + onClick: () => void +} + +export default (props: Props) => { return ( <> - console.log('data', data)} onFileReject={(data) => console.log('data', data)} onFileChange={(data) => console.log('data', data)}> - Drag and drop or click to upload file + + {props.label} {() => ( @@ -13,7 +22,9 @@ export default () => { - Delete + + {props.buttonText} + )} 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

-
) } 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)