From 61183d3f89d8c9b47fef081d3c3964dbd8a29ffb Mon Sep 17 00:00:00 2001 From: vantablackTea Date: Mon, 28 Sep 2026 13:02:58 +0300 Subject: [PATCH] feat: webcore/old-web visual redesign --- web/index.html | 8 +- web/public/icon-192.png | Bin 3863 -> 2087 bytes web/public/icon-512.png | Bin 10608 -> 5760 bytes web/src/App.tsx | 43 +-- web/src/components/Avatar.tsx | 11 +- web/src/components/ChatWindow.tsx | 69 ++--- web/src/components/MembersDialog.tsx | 91 +++---- web/src/components/MessageBubble.tsx | 113 ++++---- web/src/components/MessageList.tsx | 26 +- web/src/components/NewChatDialog.tsx | 99 ++++--- web/src/components/SearchDialog.tsx | 61 ++--- web/src/components/Sidebar.tsx | 133 +++++---- web/src/components/icons.tsx | 86 +++--- web/src/index.css | 390 ++++++++++++++++++++++----- web/src/screens/AuthScreen.tsx | 307 ++++++++++----------- web/src/screens/ChatApp.tsx | 29 +- web/vite.config.ts | 4 +- 17 files changed, 861 insertions(+), 609 deletions(-) diff --git a/web/index.html b/web/index.html index e33c926..dede37a 100644 --- a/web/index.html +++ b/web/index.html @@ -4,14 +4,8 @@ - + - - - Пульс — мессенджер diff --git a/web/public/icon-192.png b/web/public/icon-192.png index 84f45c2dea4e46bbd362171ec06d172edc1ca803..4d3e00679b9451cc7f6109156a8b98c2f8dc42cc 100644 GIT binary patch literal 2087 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 G`+oqKeG-2F diff --git a/web/public/icon-512.png b/web/public/icon-512.png index 143e20559f509fc1c84f7f9199932080b120150c..bb04601d5825d8720ee443e15168918a734fd942 100644 GIT binary patch literal 5760 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 XD|fhr(|$+vf!5N@X3yi@?&tm!W*9wp literal 10608 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 S8YD=4 -
-
-
-

Пульс

-

Подключаемся…

+
+
+
Пульс — Загрузка
+
+ + + +
+

Пульс

+

+ Подключаемся_ +

+
+
+
+
+
) diff --git a/web/src/components/Avatar.tsx b/web/src/components/Avatar.tsx index b7200b5..2fa1bc8 100644 --- a/web/src/components/Avatar.tsx +++ b/web/src/components/Avatar.tsx @@ -23,16 +23,15 @@ export default function Avatar({ name, seed, size = 'md', online = false, classN return ( {online && (