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 (
+
+ );
+}
\ 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 (
+
+

+
+
+ );
+}
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 (
+
+ );
+}
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 (
+
+
+
+ );
+}
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