diff --git a/package-lock.json b/package-lock.json index fac1abe..60c4472 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "no-copy-frontend", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "no-copy-frontend", - "version": "0.1.0", + "version": "0.2.0", "dependencies": { "@tailwindcss/postcss": "^4.1.17", "@tanstack/match-sorter-utils": "^8.19.4", "@tanstack/react-query": "^5.90.11", "@tanstack/react-table": "^8.21.3", + "@vkid/sdk": "^2.6.2", "clsx": "^2.1.1", "jose": "^6.1.2", "next": "^16.0.7", @@ -2953,6 +2954,15 @@ "win32" ] }, + "node_modules/@vkid/sdk": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@vkid/sdk/-/sdk-2.6.2.tgz", + "integrity": "sha512-TCaGh6BvQNY8Atru0KJXdGuwm70y9WS2xBOLNripHjYMEcft0BMIiLKUvJ7pAeJOtk/15MvPaUIEmBS2Vt0NBg==", + "license": "MIT", + "dependencies": { + "crypto-js": "^4.1.1" + } + }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -3491,6 +3501,12 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", diff --git a/package.json b/package.json index aefcc87..e7a05ae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "no-copy-frontend", - "version": "0.1.0", + "version": "0.2.0", "private": true, "scripts": { "dev": "next dev -p 2999", @@ -13,6 +13,7 @@ "@tanstack/match-sorter-utils": "^8.19.4", "@tanstack/react-query": "^5.90.11", "@tanstack/react-table": "^8.21.3", + "@vkid/sdk": "^2.6.2", "clsx": "^2.1.1", "jose": "^6.1.2", "next": "^16.0.7", diff --git a/src/app/[locale]/login/page.tsx b/src/app/[locale]/login/page.tsx index 22194bf..0848637 100644 --- a/src/app/[locale]/login/page.tsx +++ b/src/app/[locale]/login/page.tsx @@ -5,6 +5,7 @@ import Link from 'next/link'; import LoginForm from '@/app/ui/login-form'; import LanguageSwitcher from '@/app/components/LanguageSwitcher'; import { useTranslations } from 'next-intl'; +import VKLogin from '@/app/components/VKLogin'; export const metadata: Metadata = { title: 'Login', @@ -32,6 +33,9 @@ export default function Page() { {t('or-log-in-via')} +
+ +

{t('no-account')}? {t('register')} diff --git a/src/app/components/VKLogin.tsx b/src/app/components/VKLogin.tsx new file mode 100644 index 0000000..9bd07ca --- /dev/null +++ b/src/app/components/VKLogin.tsx @@ -0,0 +1,48 @@ +'use client' + +import { useEffect, useRef } from 'react'; +import * as VKID from '@vkid/sdk'; + +export default function VKLogin() { + + const vkButton = useRef(null) + + function clickHandler() { + alert('Кнопка пока не подключена к бизнес аккаунту!'); +/* VKID.Auth.login() + .then(vkidOnSuccess) + .catch(console.error); */ + } + +/* function vkidOnSuccess(data: any) { + console.log('vkidOnSuccess'); + console.log(data); + } */ + +/* useEffect(() => { + VKID.Config.init({ + app: 54389559, + redirectUrl: 'http://localhost', + responseMode: VKID.ConfigResponseMode.Callback, + source: VKID.ConfigSource.LOWCODE, + scope: 'email' + }); + }, []); */ + + return ( + + ) +} \ No newline at end of file diff --git a/src/app/components/dropDownList.tsx b/src/app/components/dropDownList.tsx index 8a3a9e5..36442ca 100644 --- a/src/app/components/dropDownList.tsx +++ b/src/app/components/dropDownList.tsx @@ -30,7 +30,7 @@ export default function DropDownList({ children, value, callBack }: DropDownList callBack(childValue || ""); setIsOpen(false); }, - className: `flex items-center w-full px-4 py-2 text-sm text-left hover:bg-blue-100 text-[#6366f1]`, + className: `flex items-center w-full px-4 py-2 text-sm text-left hover:bg-blue-100 text-[#6366f1] cursor-pointer select-none`, key: index }); } diff --git a/src/app/styles/VKLogin.scss b/src/app/styles/VKLogin.scss new file mode 100644 index 0000000..18dd26e --- /dev/null +++ b/src/app/styles/VKLogin.scss @@ -0,0 +1,52 @@ +.VkIdWebSdk__button_reset { + border: none; + margin: 0; + padding: 0; + width: auto; + overflow: visible; + background: transparent; + color: inherit; + font: inherit; + line-height: normal; + -webkit-font-smoothing: inherit; + -moz-osx-font-smoothing: inherit; +} + +.VkIdWebSdk__button { + background: #0077ff; + cursor: pointer; + transition: all .1s ease-out; +} + +.VkIdWebSdk__button:hover { + opacity: 0.8; +} + +.VkIdWebSdk__button:active { + opacity: .7; + transform: scale(.97); +} + +.VkIdWebSdk__button { + border-radius: 8px; + width: 100%; + min-height: 44px; +} + +.VkIdWebSdk__button_container { + display: flex; + align-items: center; + padding: 12px 10px; +} + +.VkIdWebSdk__button_icon+.VkIdWebSdk__button_text { + margin-left: -28px; +} + +.VkIdWebSdk__button_text { + display: flex; + font-family: -apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif; + flex: 1; + justify-content: center; + color: #ffffff; +} \ No newline at end of file diff --git a/src/app/styles/global-styles.scss b/src/app/styles/global-styles.scss index a967f4b..2828092 100644 --- a/src/app/styles/global-styles.scss +++ b/src/app/styles/global-styles.scss @@ -5,6 +5,7 @@ @use './reports.scss'; @use './marking-pages.scss'; @use './privacy-and-terms-pages.scss'; +@use './VKLogin.scss'; .btn { padding: 12px 24px; diff --git a/src/app/styles/marking-pages.scss b/src/app/styles/marking-pages.scss index 988b7f1..ffd72bc 100644 --- a/src/app/styles/marking-pages.scss +++ b/src/app/styles/marking-pages.scss @@ -186,7 +186,7 @@ } th { - background: linear-gradient(135deg, #6366f1, #8b5cf6); + background: linear-gradient(180deg, #6366f1, #8b5cf6); color: white; padding: 15px; text-align: left; diff --git a/src/app/ui/header/notificationsButton.tsx b/src/app/ui/header/notificationsButton.tsx index 1a4906a..66e7ead 100644 --- a/src/app/ui/header/notificationsButton.tsx +++ b/src/app/ui/header/notificationsButton.tsx @@ -65,7 +65,7 @@ export default function NotificationsButton() {

-
🪙 Токены добавлены
+
Токены добавлены
На ваш баланс добавлено 100 токенов. Теперь вы можете защитить ещё больше файлов!
4 дн назад