diff --git a/package.json b/package.json index 3dfda0f..2b40f33 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@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", @@ -23,7 +24,6 @@ "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 34cff5b..640df4a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,9 @@ 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 @@ -45,9 +48,6 @@ 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,12 +481,6 @@ 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'} @@ -834,6 +828,10 @@ 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'} @@ -1761,11 +1759,6 @@ 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 @@ -2026,6 +2019,8 @@ 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 6e21c3c..5335f98 100644 --- a/src/components/File/File.tsx +++ b/src/components/File/File.tsx @@ -1,20 +1,11 @@ import './File.sass' import { FileField } from '@kobalte/core/file-field' -interface Props { - maxFiles: number - accept: string - onFileAccept?: (files: File[]) => void - label: string - buttonText: string - onClick: () => void -} - -export default (props: Props) => { +export default () => { return ( <> - - {props.label} + console.log('data', data)} onFileReject={(data) => console.log('data', data)} onFileChange={(data) => console.log('data', data)}> + Drag and drop or click to upload file {() => ( @@ -22,9 +13,7 @@ export default (props: Props) => { - - {props.buttonText} - + Delete )} diff --git a/src/components/Modal/Modal.tsx b/src/components/Modal/Modal.tsx index a695cab..7b7f28a 100644 --- a/src/components/Modal/Modal.tsx +++ b/src/components/Modal/Modal.tsx @@ -1,30 +1,52 @@ 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 deleted file mode 100644 index e83f82f..0000000 --- a/src/components/Modal/ModalButton.tsx +++ /dev/null @@ -1,51 +0,0 @@ -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 72632b2..c5a9fda 100644 --- a/src/pages/RegisterPage/Register.tsx +++ b/src/pages/RegisterPage/Register.tsx @@ -6,6 +6,7 @@ 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 @@ -70,6 +71,8 @@ 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)