buttong-view

This commit is contained in:
Untone 2024-02-15 20:26:53 +03:00
parent b379c55442
commit 9a7ac16a1a
4 changed files with 2412 additions and 5172 deletions

7459
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -22,37 +22,25 @@
"lint:code:fix": "npx @biomejs/biome lint src --apply-unsafe --log-kind=compact --verbose",
"lint:styles": "stylelint **/*.{scss,css}",
"lint:styles:fix": "stylelint **/*.{scss,css} --fix",
"pre-commit": "lint-staged",
"prepare": "husky install",
"preview": "vite preview",
"start": "vite",
"typecheck": "tsc --noEmit",
"typecheck:watch": "tsc --noEmit --watch"
},
"dependencies": {
"@authorizerdev/authorizer-js": "2.0.0",
"@solid-primitives/pagination": "0.2.10",
"cropperjs": "1.6.1",
"form-data": "4.0.0",
"ga-gtag": "1.2.0",
"i18next": "22.4.15",
"i18next-icu": "2.3.0",
"idb": "7.1.1",
"intl-messageformat": "10.5.3",
"just-throttle": "4.2.0",
"mailgun.js": "8.2.1"
"mailgun.js": "10.1.0"
},
"devDependencies": {
"@authorizerdev/authorizer-js": "2.0.0",
"@babel/core": "7.23.3",
"@biomejs/biome": "^1.5.3",
"@graphql-codegen/cli": "5.0.0",
"@graphql-codegen/typescript": "4.0.1",
"@graphql-codegen/typescript-operations": "4.0.1",
"@graphql-codegen/typescript-urql": "4.0.0",
"@graphql-codegen/urql-introspection": "3.0.0",
"@graphql-codegen/cli": "^5.0.0",
"@graphql-codegen/typescript": "^4.0.1",
"@graphql-codegen/typescript-operations": "^4.0.1",
"@graphql-codegen/typescript-urql": "^4.0.0",
"@graphql-tools/url-loader": "8.0.1",
"@graphql-typed-document-node/core": "3.2.0",
"@hocuspocus/provider": "2.0.6",
"@hocuspocus/provider": "2.11.0",
"@microsoft/fetch-event-source": "^2.0.1",
"@nanostores/router": "0.13.0",
"@nanostores/solid": "0.4.2",
@ -61,6 +49,7 @@
"@sentry/browser": "7.99.0",
"@solid-primitives/media": "2.2.3",
"@solid-primitives/memo": "1.2.4",
"@solid-primitives/pagination": "0.2.10",
"@solid-primitives/share": "2.0.4",
"@solid-primitives/storage": "1.3.9",
"@solid-primitives/upload": "0.0.110",
@ -96,22 +85,25 @@
"@tiptap/extension-underline": "2.2.2",
"@tiptap/extension-youtube": "2.2.2",
"@types/js-cookie": "3.0.6",
"@types/node": "20.9.0",
"@types/node": "^20.9.0",
"@urql/core": "4.2.3",
"@urql/devtools": "2.0.3",
"@urql/devtools": "^2.0.3",
"babel-preset-solid": "1.8.4",
"bootstrap": "5.3.2",
"change-case": "5.2.0",
"clsx": "2.0.0",
"cropperjs": "1.6.1",
"cross-env": "7.0.3",
"fast-deep-equal": "3.1.3",
"ga-gtag": "1.2.0",
"graphql": "16.8.1",
"graphql-tag": "2.12.6",
"husky": "8.0.3",
"hygen": "6.2.11",
"i18next": "22.4.15",
"i18next-http-backend": "2.2.0",
"i18next-icu": "2.3.0",
"intl-messageformat": "10.5.3",
"javascript-time-ago": "2.5.9",
"jest": "29.7.0",
"js-cookie": "3.0.5",
"lint-staged": "15.1.0",
"loglevel": "1.8.1",
@ -120,32 +112,31 @@
"prosemirror-history": "1.3.0",
"prosemirror-trailing-node": "2.0.3",
"prosemirror-view": "1.30.2",
"rollup": "3.21.6",
"rollup": "4.11.0",
"sass": "1.69.5",
"solid-js": "1.8.7",
"solid-js": "1.8.14",
"solid-popper": "0.3.0",
"solid-tiptap": "0.7.0",
"solid-transition-group": "0.2.3",
"sort-json": "2.0.1",
"sort-package-json": "2.6.0",
"stylelint": "15.11.0",
"stylelint-config-standard-scss": "11.1.0",
"stylelint-order": "6.0.3",
"stylelint-scss": "5.3.1",
"stylelint": "^16.0.0",
"stylelint-config-standard-scss": "^13.0.0",
"stylelint-order": "^6.0.3",
"stylelint-scss": "^6.1.0",
"swiper": "11.0.5",
"throttle-debounce": "5.0.0",
"typescript": "5.2.2",
"typograf": "7.1.0",
"typograf": "7.3.0",
"uniqolor": "1.1.0",
"vike": "0.4.148",
"vite": "^5.0.0",
"vite-plugin-mkcert": "1.16.0",
"vite-plugin-sass-dts": "1.3.11",
"vite-plugin-solid": "2.7.2",
"y-prosemirror": "1.2.1",
"yjs": "13.6.0"
"vite": "5.1.2",
"vite-plugin-mkcert": "^1.17.3",
"vite-plugin-sass-dts": "^1.3.17",
"vite-plugin-solid": "2.10.1",
"y-prosemirror": "1.2.2",
"yjs": "13.6.8"
},
"overrides": {
"y-prosemirror": "1.2.1"
"y-prosemirror": "1.2.2",
"yjs": "13.6.8"
}
}

View File

@ -15,7 +15,6 @@ import { PasswordField } from './PasswordField'
import { SocialProviders } from './SocialProviders'
import { email, setEmail } from './sharedLogic'
import { capitalize } from '../../../utils/capitalize'
import styles from './AuthModal.module.scss'
type FormFields = {

View File

@ -137,23 +137,11 @@ export const RegisterForm = () => {
case 'verified':
setValidationErrors((prev) => ({
email: (
<>
{t('This email is verified')}. {t('You can')}
<span class="link" onClick={() => changeSearchParams({ mode: 'login' })}>
{t('enter')}
</span>
{t('or')}{' '}
<span class="link" onClick={() => changeSearchParams({ mode: 'send-reset-link' })}>
{t('Set the new password').toLocaleLowerCase()}
</span>
</>
),
email: (<>{t('This email is verified')}. {t('You can')}</>),
}))
break
case 'registered':
setValidationErrors((prev) => ({
...prev,
setValidationErrors((prev) => ({ ...prev,
email: (
<>
{t('This email is registered')}. {t('You can')}{' '}
@ -228,21 +216,34 @@ export const RegisterForm = () => {
</div>
</div>
<PasswordField
disableAutocomplete={true}
disabled={Boolean(emailStatus())}
errorMessage={(err) => setPasswordError(err)}
onInput={(value) => setPassword(value)}
/>
<Show when={emailStatus() !== 'registered'} fallback={
<button class={clsx('button', styles.submitButton)} onClick={() => changeSearchParams({ mode: 'login' })}>
{emailStatus() === 'verified' ? t('Login') : t('')}
</button>}>
<PasswordField
disableAutocomplete={true}
disabled={Boolean(emailStatus())}
errorMessage={(err) => setPasswordError(err)}
onInput={(value) => setPassword(value)}
/>
</Show>
<div>
<button
class={clsx('button', styles.submitButton)}
disabled={isSubmitting() || Boolean(emailStatus())}
type="submit"
>
{isSubmitting() ? '...' : t('Join')}
</button>
<Show when={emailStatus() !== 'registered'} fallback={
<button
class={clsx('button', styles.submitButton)}
onClick={() => changeSearchParams({ mode: 'send-reset-link' })
}>
{t('Set the new password')}
</button>}>
<button
class={clsx('button', styles.submitButton)}
disabled={isSubmitting() || Boolean(emailStatus())}
type="submit"
>
{isSubmitting() ? '...' : t('Join')}
</button>
</Show>
</div>
</div>