diff --git a/app/components/DialogInput/DialogInput.tsx b/app/components/DialogInput/DialogInput.tsx
index 3999432..6a28fbb 100644
--- a/app/components/DialogInput/DialogInput.tsx
+++ b/app/components/DialogInput/DialogInput.tsx
@@ -1,7 +1,7 @@
import { useDialog } from "@/app/providers/DialogProvider/useDialog";
import { useRosettaColors } from "@/app/hooks/useRosettaColors";
import { Box, Divider, Flex, Menu, Popover, Text, Transition, useComputedColorScheme } from "@mantine/core";
-import { IconBarrierBlock, IconCamera, IconDoorExit, IconFile, IconMoodSmile, IconPaperclip, IconSend } from "@tabler/icons-react";
+import { IconBarrierBlock, IconCamera, IconDoorExit, IconFile, IconMicrophone, IconMoodSmile, IconPaperclip, IconSend } from "@tabler/icons-react";
import { useEffect, useRef, useState } from "react";
import { useBlacklist } from "@/app/providers/BlacklistProvider/useBlacklist";
import { filePrapareForNetworkTransfer, generateRandomKey, imagePrepareForNetworkTransfer } from "@/app/utils/utils";
@@ -64,6 +64,13 @@ export function DialogInput() {
}]
], [], true);
+ const hasText = message.trim().length > 0;
+ const showSendIcon = hasText || attachments.length > 0;
+
+ const onMicClick = () => {
+ console.info("Start voice record");
+ };
+
const fileDialog = useFileDialog({
multiple: false,
//naccept: '*',
@@ -435,9 +442,41 @@ export function DialogInput() {
/>
-
+
+
+ {(styles) => (
+
+ )}
+
+
+
+ {(styles) => (
+
+ )}
+
+
}
{blocked &&
diff --git a/app/providers/PlayerProvider/PlayerProvider.tsx b/app/providers/PlayerProvider/PlayerProvider.tsx
new file mode 100644
index 0000000..203bb48
--- /dev/null
+++ b/app/providers/PlayerProvider/PlayerProvider.tsx
@@ -0,0 +1,25 @@
+import { createContext, useRef } from "react";
+
+const PlayerContext = createContext(null);
+/**
+ * Провайдер для Audio/Video плеера
+ */
+interface PlayerProviderProps {
+ children: React.ReactNode;
+}
+export function PlayerProvider(props : PlayerProviderProps) {
+
+ const audioRef = useRef(null);
+
+ const playVoice = () => {
+
+ }
+
+
+ return (
+
+ {props.children}
+
+
+ )
+}
\ No newline at end of file