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 дн назад