diff --git a/frontend/src/ui/components/chat/BottomAppBar.tsx b/frontend/src/ui/components/chat/BottomAppBar.tsx new file mode 100644 index 0000000..ef810fa --- /dev/null +++ b/frontend/src/ui/components/chat/BottomAppBar.tsx @@ -0,0 +1,10 @@ +export function BottomAppBar() { + return ( + + + +
+ +
+ ); +} diff --git a/frontend/src/ui/components/chat/ChatContainer.tsx b/frontend/src/ui/components/chat/ChatContainer.tsx new file mode 100644 index 0000000..c1f8c6e --- /dev/null +++ b/frontend/src/ui/components/chat/ChatContainer.tsx @@ -0,0 +1,9 @@ +import { ChatMain } from "./ChatMain"; + +export function ChatContainer() { + return ( +
+ +
+ ); +} diff --git a/frontend/src/ui/components/chat/ChatHeader.tsx b/frontend/src/ui/components/chat/ChatHeader.tsx new file mode 100644 index 0000000..9939ad9 --- /dev/null +++ b/frontend/src/ui/components/chat/ChatHeader.tsx @@ -0,0 +1,14 @@ +import { PRODUCT_NAME } from "../../../core/config"; + +export function ChatHeader() { + return ( +
+
{PRODUCT_NAME}
+
+ + + +
+
+ ); +} \ No newline at end of file diff --git a/frontend/src/ui/components/chat/ChatInputWrapper.tsx b/frontend/src/ui/components/chat/ChatInputWrapper.tsx new file mode 100644 index 0000000..681ebad --- /dev/null +++ b/frontend/src/ui/components/chat/ChatInputWrapper.tsx @@ -0,0 +1,14 @@ +export function ChatInputWrapper() { + return ( +
+
+
+ + +
+
+
+ ); +} diff --git a/frontend/src/ui/components/chat/ChatInterface.tsx b/frontend/src/ui/components/chat/ChatInterface.tsx new file mode 100644 index 0000000..44f7729 --- /dev/null +++ b/frontend/src/ui/components/chat/ChatInterface.tsx @@ -0,0 +1,13 @@ +import { ChatList } from "./ChatList"; +import { ChatContainer } from "./ChatContainer"; + +export function ChatInterface() { + return ( +
+
+ + +
+
+ ); +} diff --git a/frontend/src/ui/components/chat/ChatList.tsx b/frontend/src/ui/components/chat/ChatList.tsx new file mode 100644 index 0000000..70887d7 --- /dev/null +++ b/frontend/src/ui/components/chat/ChatList.tsx @@ -0,0 +1,13 @@ +import { ChatHeader } from "./ChatHeader"; +import { ChatTabs } from "./ChatTabs"; +import { BottomAppBar } from "./BottomAppBar"; + +export function ChatList() { + return ( +
+ + + +
+ ); +} diff --git a/frontend/src/ui/components/chat/ChatMain.tsx b/frontend/src/ui/components/chat/ChatMain.tsx new file mode 100644 index 0000000..1f83969 --- /dev/null +++ b/frontend/src/ui/components/chat/ChatMain.tsx @@ -0,0 +1,13 @@ +import { ChatMainHeader } from "./ChatMainHeader"; +import { ChatMessages } from "./ChatMessages"; +import { ChatInputWrapper } from "./ChatInputWrapper"; + +export function ChatMain() { + return ( +
+ + + +
+ ); +} diff --git a/frontend/src/ui/components/chat/ChatMainHeader.tsx b/frontend/src/ui/components/chat/ChatMainHeader.tsx new file mode 100644 index 0000000..517199f --- /dev/null +++ b/frontend/src/ui/components/chat/ChatMainHeader.tsx @@ -0,0 +1,17 @@ +export function ChatMainHeader() { + return ( +
+ Avatar +
+
+

Общий чат

+

+ + Онлайн +

+
+ Свернуть чат +
+
+ ); +} diff --git a/frontend/src/ui/components/chat/ChatMessages.tsx b/frontend/src/ui/components/chat/ChatMessages.tsx new file mode 100644 index 0000000..0de636b --- /dev/null +++ b/frontend/src/ui/components/chat/ChatMessages.tsx @@ -0,0 +1,6 @@ +export function ChatMessages() { + return ( +
+
+ ); +} diff --git a/frontend/src/ui/components/chat/ChatTabs.tsx b/frontend/src/ui/components/chat/ChatTabs.tsx new file mode 100644 index 0000000..466328f --- /dev/null +++ b/frontend/src/ui/components/chat/ChatTabs.tsx @@ -0,0 +1,28 @@ +export function ChatTabs() { + return ( +
+ + Чаты + Каналы + Контакты + ЛС + + + + + + + + + + + + Скоро будет... + Скоро будет... + + + + +
+ ); +} diff --git a/frontend/src/ui/components/chat/EditMessageDialog.tsx b/frontend/src/ui/components/chat/EditMessageDialog.tsx new file mode 100644 index 0000000..a9119eb --- /dev/null +++ b/frontend/src/ui/components/chat/EditMessageDialog.tsx @@ -0,0 +1,20 @@ +export function EditMessageDialog() { + return ( + +
+

Edit Message

+ + +
+ Cancel + Save +
+
+
+ ); +} diff --git a/frontend/src/ui/components/chat/MessageContextMenu.tsx b/frontend/src/ui/components/chat/MessageContextMenu.tsx new file mode 100644 index 0000000..4df2572 --- /dev/null +++ b/frontend/src/ui/components/chat/MessageContextMenu.tsx @@ -0,0 +1,18 @@ +export function MessageContextMenu() { + return ( +
+
+ reply + Reply +
+
+ edit + Edit +
+
+ delete + Delete +
+
+ ); +} diff --git a/frontend/src/ui/components/chat/ReplyMessageDialog.tsx b/frontend/src/ui/components/chat/ReplyMessageDialog.tsx new file mode 100644 index 0000000..25140cd --- /dev/null +++ b/frontend/src/ui/components/chat/ReplyMessageDialog.tsx @@ -0,0 +1,21 @@ +export function ReplyMessageDialog() { + return ( + +
+

Reply to Message

+
+ + +
+ Cancel + Send Reply +
+
+
+ ); +} diff --git a/frontend/src/ui/components/chat/UserProfileDialog.tsx b/frontend/src/ui/components/chat/UserProfileDialog.tsx new file mode 100644 index 0000000..8dbf322 --- /dev/null +++ b/frontend/src/ui/components/chat/UserProfileDialog.tsx @@ -0,0 +1,37 @@ +export function UserProfileDialog() { + return ( + +
+
+ Profile Picture +
+
+
+

+
+
+
+ +
+
+
+
+ Member since: + +
+
+ Last seen: + +
+
+
+ + + Send Message + +
+
+
+
+ ); +} diff --git a/frontend/src/ui/components/profile/CropperDialog.tsx b/frontend/src/ui/components/profile/CropperDialog.tsx new file mode 100644 index 0000000..3aca392 --- /dev/null +++ b/frontend/src/ui/components/profile/CropperDialog.tsx @@ -0,0 +1,19 @@ +export function CropperDialog() { + return ( + +
+
+

Обрезать фото профиля

+ +
+
+
+
+
+ Отмена + Сохранить +
+
+
+ ); +} diff --git a/frontend/src/ui/components/profile/ProfileDialog.tsx b/frontend/src/ui/components/profile/ProfileDialog.tsx new file mode 100644 index 0000000..e73ae87 --- /dev/null +++ b/frontend/src/ui/components/profile/ProfileDialog.tsx @@ -0,0 +1,31 @@ +export function ProfileDialog() { + return ( + +
+
+
+ Ваше фото + + +
+ +
+ +
+ +
+ Сохранить изменения + Закрыть +
+
+
+
+ ); +} diff --git a/frontend/src/ui/components/settings/SettingsDialog.tsx b/frontend/src/ui/components/settings/SettingsDialog.tsx new file mode 100644 index 0000000..a83bc18 --- /dev/null +++ b/frontend/src/ui/components/settings/SettingsDialog.tsx @@ -0,0 +1,86 @@ +export function SettingsDialog() { + return ( + +
+
+
+ + Настройки +
+
+ + Уведомления + Внешний вид + Безопасность + Язык + Хранилище + Помощь + О приложении + +
+
+

Уведомления

+ Новые сообщения + Звуковые уведомления + Уведомления о статусе + Email уведомления +
+ +
+

Внешний вид

+ + Тёмная + Светлая + Авто + + + Маленький + Средний + Большой + +
+ +
+

Безопасность

+ Изменить пароль + Двухфакторная аутентификация + Автоматический выход +
+ +
+

Язык

+ + Русский + English + Español + +
+ +
+

Хранилище

+

Использовано: 2.5 ГБ из 10 ГБ

+ + Очистить кэш +
+ +
+

Помощь

+ Руководство пользователя + Связаться с поддержкой + FAQ +
+ +
+

О приложении

+

Версия: 1.0.0

+

© 2025 Loading.... Все права защищены.

+ Политика конфиденциальности + Условия использования +
+
+
+
+
+
+ ); +} diff --git a/frontend/src/ui/screen/ChatScreen.tsx b/frontend/src/ui/screen/ChatScreen.tsx index 605acd0..44093d5 100644 --- a/frontend/src/ui/screen/ChatScreen.tsx +++ b/frontend/src/ui/screen/ChatScreen.tsx @@ -1,5 +1,23 @@ +import { ChatInterface } from "../components/chat/ChatInterface"; +import { ProfileDialog } from "../components/profile/ProfileDialog"; +import { CropperDialog } from "../components/profile/CropperDialog"; +import { SettingsDialog } from "../components/settings/SettingsDialog"; +import { MessageContextMenu } from "../components/chat/MessageContextMenu"; +import { EditMessageDialog } from "../components/chat/EditMessageDialog"; +import { ReplyMessageDialog } from "../components/chat/ReplyMessageDialog"; +import { UserProfileDialog } from "../components/chat/UserProfileDialog"; + export default function ChatScreen() { return ( -

test

- ) + <> + + + + + + + + + + ); } \ No newline at end of file