From d05c386e77b69e6eed272ce4e58818af2af59380 Mon Sep 17 00:00:00 2001 From: uniknow <000-drakon@mail.ru> Date: Tue, 30 Jul 2024 22:15:44 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B0=20=D1=80=D0=B5=D0=BB=D0=B8=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 5 + .env | 5 + .gitignore | 2 - docker/Dockerfile | 19 +++ docker/docker-compose.yml | 10 ++ docker/nginx.conf | 13 ++ package-lock.json | 255 ++++++++++++++++++++++++++++++- package.json | 1 + src/lib/chat.js | 25 ++- src/lib/index.js | 1 - src/lib/login.js | 4 +- src/lib/register.js | 10 +- src/lib/settings.js | 8 +- src/lib/userFunction.js | 4 +- src/routes/+page.svelte | 15 ++ src/routes/Settings/+page.svelte | 2 +- src/routes/chat/+page.svelte | 41 +++-- src/routes/login/+page.svelte | 45 ++++-- src/routes/submit/+page.svelte | 2 - svelte.config.js | 2 +- 20 files changed, 399 insertions(+), 70 deletions(-) create mode 100644 .dockerignore create mode 100644 .env create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.yml create mode 100644 docker/nginx.conf delete mode 100644 src/lib/index.js create mode 100644 src/routes/+page.svelte diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..2a59ec5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +node_modules +build +.git +.gitignore +.svelte-kit \ No newline at end of file diff --git a/.env b/.env new file mode 100644 index 0000000..7df4e84 --- /dev/null +++ b/.env @@ -0,0 +1,5 @@ +# at the end without / +PUBLIC_URL="https://docs.black-phoenix.ru" + +#websocket +PUBLIC_WSS="wss://docs.black-phoenix.ru" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6635cf5..e91699f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,6 @@ node_modules /build /.svelte-kit /package -.env -.env.* !.env.example vite.config.js.timestamp-* vite.config.ts.timestamp-* diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..d8a7bb3 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,19 @@ +FROM node:alpine AS build + +COPY package*.json ./ + +RUN npm install + +COPY . . + +RUN npm run build + + + +FROM nginx:stable-alpine + +COPY --from=build /build /usr/share/nginx/html + +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..7bfa4f5 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,10 @@ +services: + vrot_end: + image: vrot_end + container_name: vrot_end + build: + context: .. + dockerfile: docker/Dockerfile + env_file: + - ../.env + restart: always \ No newline at end of file diff --git a/docker/nginx.conf b/docker/nginx.conf new file mode 100644 index 0000000..a7f6368 --- /dev/null +++ b/docker/nginx.conf @@ -0,0 +1,13 @@ +server { + + listen 3000: + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + try_files $uri $uri/ /index.html = 404; + } + + include /etc/nginx/extra-conf.d*.conf; + +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index db527b3..3aee95b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-node": "^5.2.0", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "@types/node": "^20.11.16", @@ -791,6 +792,178 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rollup/plugin-commonjs": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz", + "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^10.4.1", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=16.0.0 || 14 >= 14.17" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@rollup/plugin-commonjs/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", + "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.1.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.17.2", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", @@ -1016,6 +1189,21 @@ "@sveltejs/kit": "^2.0.0" } }, + "node_modules/@sveltejs/adapter-node": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.2.0.tgz", + "integrity": "sha512-HVZoei2078XSyPmvdTHE03VXDUD0ytTvMuMHMQP0j6zX4nPDpCcKrgvU7baEblMeCCMdM/shQvstFxOJPQKlUQ==", + "dev": true, + "dependencies": { + "@rollup/plugin-commonjs": "^26.0.1", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "rollup": "^4.9.5" + }, + "peerDependencies": { + "@sveltejs/kit": "^2.4.0" + } + }, "node_modules/@sveltejs/kit": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.0.tgz", @@ -1142,6 +1330,12 @@ "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==", "dev": true }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, "node_modules/@types/websocket": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.10.tgz", @@ -1434,6 +1628,18 @@ "node": ">=6.14.2" } }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -1528,6 +1734,12 @@ "node": ">= 6" } }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2212,6 +2424,21 @@ "node": ">=8" } }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -2252,6 +2479,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2440,9 +2673,9 @@ } }, "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -2584,6 +2817,12 @@ "wrappy": "1" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -2609,16 +2848,16 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/package.json b/package.json index bbf404b..443111e 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-node": "^5.2.0", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "@types/node": "^20.11.16", diff --git a/src/lib/chat.js b/src/lib/chat.js index e148ea9..b7d643c 100644 --- a/src/lib/chat.js +++ b/src/lib/chat.js @@ -1,10 +1,9 @@ -// import formatDistanceToNow from 'date-fns/formatDistanceToNow'; -// import ruLocale from 'date-fns/locale/ru'; +import { PUBLIC_URL } from '$env/static/public'; export async function getLastMessages(chatId,msgLoaded){ let token = localStorage.getItem('BPChat') - const response = await fetch(`https://docs.black-phoenix.ru/api/chat/get_some_messages/${chatId}?messages_loaded=${msgLoaded}&messages_to_get=15`, + const response = await fetch(`${PUBLIC_URL}/api/chat/get_some_messages/${chatId}?messages_loaded=${msgLoaded}&messages_to_get=15`, { method:'GET', credentials:'include', @@ -37,7 +36,7 @@ export async function getLastMessages(chatId,msgLoaded){ export async function getMessageById(chatId,msgId){ let token = localStorage.getItem('BPChat') - const response = await fetch(`https://docs.black-phoenix.ru/chat/message/${chatId}?message_id=${msgId}`,{ + const response = await fetch(`${PUBLIC_URL}/chat/message/${chatId}?message_id=${msgId}`,{ method:"GET", credentials:'include', headers: {'Authorization': token }, @@ -61,7 +60,7 @@ export async function getLastMessages(chatId,msgLoaded){ const DataForm = new FormData(); DataForm.append('file', messagePic) - const response = await fetch('https://docs.black-phoenix.ru/api/images/upload_image', + const response = await fetch('${PUBLIC_URL}/api/images/upload_image', { method:"POST", body:DataForm, @@ -83,7 +82,7 @@ export async function getLastMessages(chatId,msgLoaded){ export async function getAllChats(){ let token = localStorage.getItem('BPChat') - const response = await fetch(`https://docs.black-phoenix.ru/api/chat`, + const response = await fetch(`${PUBLIC_URL}/api/chat`, { method:"GET", credentials:'include', @@ -110,7 +109,7 @@ export async function getLastMessages(chatId,msgLoaded){ export async function getPinnedMsg(ID){ let token = localStorage.getItem('BPChat') - const response = await fetch(`https://docs.black-phoenix.ru/api/chat/pinned_messages/${ID}`,{ + const response = await fetch(`${PUBLIC_URL}/api/chat/pinned_messages/${ID}`,{ method:"GET", credentials:'include', headers: {'Authorization': token }, @@ -127,7 +126,7 @@ export async function getLastMessages(chatId,msgLoaded){ export async function pinMessage(chatId,messageId){ let token = localStorage.getItem('BPChat') - const response = await fetch(`https://docs.black-phoenix.ru/api/chat/pinn_message?chat_id=${chatId}&message_id=${messageId}`,{ + const response = await fetch(`${PUBLIC_URL}/api/chat/pinn_message?chat_id=${chatId}&message_id=${messageId}`,{ method:"POST", credentials:'include', headers: {'Authorization': token }, @@ -143,7 +142,7 @@ export async function getLastMessages(chatId,msgLoaded){ export async function unpinMessage(chatId, messageId){ let token = localStorage.getItem('BPChat') - const response = await fetch(`https://docs.black-phoenix.ru/api/chat/unpinn_message?chat_id=${chatId}&message_id=${messageId}`,{ + const response = await fetch(`${PUBLIC_URL}/api/chat/unpinn_message?chat_id=${chatId}&message_id=${messageId}`,{ method:"DELETE", credentials:'include', headers: {'Authorization': token }, @@ -162,7 +161,7 @@ export async function getLastMessages(chatId,msgLoaded){ const formData = new FormData(); formData.append('file', image); - const response = await fetch('https://docs.black-phoenix.ru/api/images/upload_image', { + const response = await fetch(`${PUBLIC_URL}/api/images/upload_image`, { method: 'POST', credentials: 'include', body: formData, @@ -179,7 +178,7 @@ export async function getLastMessages(chatId,msgLoaded){ export async function getAllUsers(nameToFind){ - const response = await fetch(`https://docs.black-phoenix.ru/api/users?username=${nameToFind}`,{ + const response = await fetch(`${PUBLIC_URL}/api/users?username=${nameToFind}`,{ method:"GET", credentials:'include' }) @@ -198,7 +197,7 @@ export async function getLastMessages(chatId,msgLoaded){ export async function createNewChat(chatName, excludeUser, token){ console.log(token, "token") - const response = await fetch(`https://docs.black-phoenix.ru/api/chat/create_chat?user_to_exclude=${excludeUser}&chat_name=${chatName}`,{ + const response = await fetch(`${PUBLIC_URL}/api/chat/create_chat?user_to_exclude=${excludeUser}&chat_name=${chatName}`,{ method: 'POST', credentials: 'include', headers: {'Authorization': token }, @@ -217,7 +216,7 @@ export async function getLastMessages(chatId,msgLoaded){ export async function deleteChat(chatId, token){ - const response = await fetch(`https://docs.black-phoenix.ru/api/chat/delete_chat/${chatId}`,{ + const response = await fetch(`${PUBLIC_URL}/api/chat/delete_chat/${chatId}`,{ method: 'DELETE', credentials: 'include', headers: {'Authorization': token }, diff --git a/src/lib/index.js b/src/lib/index.js deleted file mode 100644 index 856f2b6..0000000 --- a/src/lib/index.js +++ /dev/null @@ -1 +0,0 @@ -// place files you want to import through the `$lib` alias in this folder. diff --git a/src/lib/login.js b/src/lib/login.js index f99d164..614268c 100644 --- a/src/lib/login.js +++ b/src/lib/login.js @@ -1,6 +1,8 @@ +import { PUBLIC_URL } from '$env/static/public'; + export async function handleLogin(username, password) { - const response = await fetch('https://docs.black-phoenix.ru/api/users/login', { + const response = await fetch(`${PUBLIC_URL}/api/users/login`, { method: 'POST', credentials:'include', headers: { diff --git a/src/lib/register.js b/src/lib/register.js index 2ca0ab7..d1ca8ab 100644 --- a/src/lib/register.js +++ b/src/lib/register.js @@ -1,5 +1,7 @@ +import { PUBLIC_URL } from '$env/static/public'; + export async function checkExsistingUser(username, email) { - const response = await fetch('https://docs.black-phoenix.ru/api/users/check_existing_user', { + const response = await fetch(`${PUBLIC_URL}/api/users/check_existing_user`, { method:'POST', credentials:"include", headers:{ @@ -27,7 +29,7 @@ export async function checkExsistingUser(username, email) { } export async function VerificationEmail(token, Code){ - const response = await fetch('https://docs.black-phoenix.ru/api/users/email_verification',{ + const response = await fetch(`${PUBLIC_URL}/api/users/email_verification`,{ method:'POST', credentials:'include', headers:{ @@ -49,7 +51,7 @@ export async function VerificationEmail(token, Code){ } export async function resendVerification(token){ - const response = await fetch(`https://docs.black-phoenix.ru/api/users/resend_email_verification`,{ + const response = await fetch(`${PUBLIC_URL}/api/users/resend_email_verification`,{ method:'POST', credentials:'include', headers: {'Authorization': token } @@ -64,7 +66,7 @@ export async function resendVerification(token){ } export async function handleRegister(username,password,password2,email,date_of_birth){ - const response = await fetch('https://docs.black-phoenix.ru/api/users/register',{ + const response = await fetch(`${PUBLIC_URL}/api/users/register`,{ method:'POST', credentials:"include", headers:{ 'Content-Type': 'application/json' }, diff --git a/src/lib/settings.js b/src/lib/settings.js index d3a43db..e2fcf9e 100644 --- a/src/lib/settings.js +++ b/src/lib/settings.js @@ -1,6 +1,8 @@ +import { PUBLIC_URL } from '$env/static/public'; + export async function getAvatarHistory(token){ - let response = await fetch(`https://docs.black-phoenix.ru/api/users/avatars`,{ + let response = await fetch(`${PUBLIC_URL}/api/users/avatars`,{ method: 'GET', credentials:'include', headers: {'Authorization': token }, @@ -18,7 +20,7 @@ export async function getAvatarHistory(token){ export async function getConfirmationCode(token, email){ console.log(token, email, "<-- лох") - const response = await fetch(`https://docs.black-phoenix.ru/api/users/send_confirmation_code`,{ + const response = await fetch(`${PUBLIC_URL}/api/users/send_confirmation_code`,{ method: 'POST', credentials:'include', headers: { 'Content-Type': 'application/json', @@ -34,7 +36,7 @@ export async function getConfirmationCode(token, email){ } export async function changeUserData(token, username, email, password, avatar, code){ - let response = await fetch(`https://docs.black-phoenix.ru/api/users/change_data`,{ + let response = await fetch(`${PUBLIC_URL}/api/users/change_data`,{ method: 'POST', credentials:'include', diff --git a/src/lib/userFunction.js b/src/lib/userFunction.js index eefa292..b03b5e9 100644 --- a/src/lib/userFunction.js +++ b/src/lib/userFunction.js @@ -1,7 +1,9 @@ +import { PUBLIC_URL } from '$env/static/public'; + export async function UserCheck(){ let token = localStorage.getItem('BPChat') - const response = await fetch('https://docs.black-phoenix.ru/api/users/me', { + const response = await fetch(`${PUBLIC_URL}/api/users/me`, { method: 'GET', credentials:'include', headers: {'Authorization': token }, diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte new file mode 100644 index 0000000..a772757 --- /dev/null +++ b/src/routes/+page.svelte @@ -0,0 +1,15 @@ + + + + + +

+ fdsadf +

+ \ No newline at end of file diff --git a/src/routes/Settings/+page.svelte b/src/routes/Settings/+page.svelte index 89371d3..b77b23e 100644 --- a/src/routes/Settings/+page.svelte +++ b/src/routes/Settings/+page.svelte @@ -90,7 +90,7 @@ console.log(nName, nEmail,nPassword,newAvatar) let changing = afterChanging = await changeUserData(token, nName, nEmail, nPassword, newAvatar, code) - console.log(changing) + if (changing == true){ showSubmitDiv = false location.reload() diff --git a/src/routes/chat/+page.svelte b/src/routes/chat/+page.svelte index 0b199a9..dbf6750 100644 --- a/src/routes/chat/+page.svelte +++ b/src/routes/chat/+page.svelte @@ -10,6 +10,8 @@ import formatDistanceToNow from 'date-fns/formatDistanceToNow'; import ruLocale from 'date-fns/locale/ru'; + + import { PUBLIC_WSS } from '$env/static/public'; console.clear(); @@ -33,7 +35,6 @@ let answerMessageImgShow = false let imageFile = undefined let imageShow = false; - $: console.log(imageFile, "картинка") let answerMessage = "" let answerMessageImg = "" @@ -80,9 +81,8 @@ pinnedMsg = await getPinnedMsg(chatId) token = localStorage.getItem('BPChat') - const websocketUrl = `wss://docs.black-phoenix.ru/api/chat/ws/${chatId}` + const websocketUrl = `${PUBLIC_WSS}/api/chat/ws/${chatId}` - console.log(socket) if (socket){ console.log("Сокет есть") socket.close(); @@ -91,25 +91,22 @@ let tokenForSocket = token.split(" ")[1]; socket = createWebSocket(websocketUrl, tokenForSocket, async (message) => { - console.log(message, "сообщение!!!!!") + //console.log(message, "сообщение!!!!!") if(message.flag === "pin" ){ - console.log("ЗАКРЕП!!!!!!!!!!!") + //console.log("ЗАКРЕП!!!!!!!!!!!") pinnedMsg = [message, ...pinnedMsg] } else if(message.flag === "delete"){ let messageToDelete = messages.findIndex(msg => msg.id === message.id) - console.log(messageToDelete, "индекс сообщения, которое нужно делитнуть") messages.splice(messageToDelete,1) messages = messages - console.log(messages," сообщения после удаления") } else if(message.flag === "unpin"){ const indexOfMassive = pinnedMsg.findIndex(msg => msg.id == message.id) - console.log(indexOfMassive) pinnedMsg.splice(indexOfMassive, 1) pinnedMsg = pinnedMsg @@ -141,7 +138,7 @@ } if((messageText != "") || image != null){ - console.log(`${messageText} - текст, ${image} - картинка`) + //console.log(`${messageText} - текст, ${image} - картинка`) if(messageText == "жопа"){ messageText = "жопа съела трусы O.O" image = "https://images.black-phoenix.ru/static/images/images/%D0%B6%D0%BE%D0%BF%D0%B0%20%D1%81%D1%8A%D0%B5%D0%BB%D0%B0%20%D1%82%D1%80%D1%83%D1%81%D1%8B.jpg" @@ -166,8 +163,8 @@ } else { - console.log("ноуп" ) - console.log(socket) + console.log("ноуп") + //console.log(socket) } } @@ -176,7 +173,7 @@ function onEnterPress(event) { if (event.key === "Enter" && !event.shiftKey) { event.preventDefault(); - console.log("нажата ", messageText) + //console.log("нажата ", messageText) if(!isLoaded) sendMessage() } @@ -218,7 +215,7 @@ let pinOrNot = false function helperDivShow(event, id, text, img, username) { if(pinnedMsg != null){ pinOrNot = pinnedMsg.some(msg => msg.id == id) - console.log(pinOrNot) + //console.log(pinOrNot) } if (helperDiv) { @@ -239,7 +236,7 @@ let pinOrNot = false const y = event.clientY; helperDiv.style.left = `${x}px`; helperDiv.style.top = `${y}px`; - console.log(x, y); + //console.log(x, y); } }; @@ -260,13 +257,13 @@ let pinOrNot = false answerMessage = PickedText answerMessageImg = PickedImg - console.log(answerMessage, answerMessageImg) + //console.log(answerMessage, answerMessageImg) answer = pickedId if(answerMessage != "") answerMessageTextShow = true if(answerMessageImg != null) answerMessageImgShow = true - console.log(answerMessageTextShow, answerMessageImgShow) + //console.log(answerMessageTextShow, answerMessageImgShow) } async function pinFunc(event){ @@ -339,7 +336,6 @@ let pinOrNot = false } let oldScrollHeight = null; - $: console.log(oldScrollHeight, "старый скорлл") let uploadingNewMsg = true async function handleScroll(event) { @@ -371,12 +367,11 @@ let pinOrNot = false let newChatName = "" let selectedUserId = ""; let users = [] - $:console.log(selectedUserId) async function startingCreateNewChat(){ createNewChatShow = true users = await getAllUsers(nameToFind) - console.log(users) + //console.log(users) } async function submtiCreateNewChat(){ @@ -402,10 +397,10 @@ let pinOrNot = false } async function lisinerNameToFine(event){ - console.log(event.target.value) + //console.log(event.target.value) nameToFind = event.target.value users = await getAllUsers(nameToFind) - console.log(users) + //console.log(users) } let msgTime @@ -427,8 +422,8 @@ let pinOrNot = false let result = await deleteChat(chatId,token) const index = chats.findIndex(chat => chat.chat_id === chatId); chats.splice(index, 1); - console.log(index) - console.log(result) + //console.log(index) + //console.log(result) chats = await getAllChats() } diff --git a/src/routes/login/+page.svelte b/src/routes/login/+page.svelte index 251869b..2340af6 100644 --- a/src/routes/login/+page.svelte +++ b/src/routes/login/+page.svelte @@ -3,7 +3,7 @@ import { handleLogin } from '$lib/login'; import { onMount } from 'svelte'; import { fly, blur } from 'svelte/transition'; - import { cubicOut, backInOut } from 'svelte/easing'; + import { cubicOut, backInOut } from 'svelte/easing'; let username = '' let password = '' @@ -58,7 +58,6 @@ hi = His[Math.floor(Math.random() * (His.length - 0))]; let loadingPage = false; - onMount(() => { loadingPage = !loadingPage; }); @@ -66,11 +65,11 @@ -{#if loadingPage === true} +{#if loadingPage == true}
-
+
@@ -107,7 +106,7 @@
-
+

Нет аккаунта? Лох!

@@ -121,8 +120,11 @@
-

BP Chat

- птичка +

BP Chat

+
+ птичка + птичка +
@@ -130,16 +132,39 @@