diff --git a/frontend/src/api/channelsApi.js b/frontend/src/api/chatApi.js similarity index 74% rename from frontend/src/api/channelsApi.js rename to frontend/src/api/chatApi.js index 9948af3..15ee894 100644 --- a/frontend/src/api/channelsApi.js +++ b/frontend/src/api/chatApi.js @@ -1,8 +1,7 @@ import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; - -export const channelsApi = createApi({ - reducerPath: 'channels', +export const chatApi = createApi({ + reducerPath: 'chatApi', baseQuery: fetchBaseQuery({ baseUrl: '/api/v1', prepareHeaders: (headers) => { @@ -17,9 +16,13 @@ export const channelsApi = createApi({ getChannels: builder.query({ query: () => 'channels', }), + getMessages: builder.query({ + query: () => 'messages', + }) }), }); export const { useGetChannelsQuery, -} = channelsApi; \ No newline at end of file + useGetMessagesQuery, +} = chatApi; \ No newline at end of file diff --git a/frontend/src/components/MessageField.jsx b/frontend/src/components/MessageField.jsx index 9c602cb..110b1ca 100644 --- a/frontend/src/components/MessageField.jsx +++ b/frontend/src/components/MessageField.jsx @@ -1,16 +1,29 @@ -import { Container, Row, Col, Nav } from 'react-bootstrap'; +import { useSelector, useDispatch } from 'react-redux'; +import { useTranslation } from 'react-i18next'; +import { activeChannelSelector } from '../store/activeChannelSlice.js'; import MessageForm from './MessageForm.jsx'; +import { useGetMessagesQuery } from '../api/chatApi.js'; const MessageField = () => { + const { t } = useTranslation(); + const { data, error, isLoading, refetch } = useGetMessagesQuery(); + const activeChannel = useSelector(activeChannelSelector); + const dispatch = useDispatch(); + const messages = data; + const countMessages = messages?.length || 0; + console.log(messages) + return (

- # general + # {activeChannel.name}

- 0 сообщений + + {t('countMessages.messages', { count: countMessages })} +
-
{}
+
{messages}
); diff --git "a/frontend/src/components/\320\241hannels.jsx" "b/frontend/src/components/\320\241hannels.jsx" index f5f9e66..f17b7b3 100644 --- "a/frontend/src/components/\320\241hannels.jsx" +++ "b/frontend/src/components/\320\241hannels.jsx" @@ -1,5 +1,5 @@ import { Nav, Button } from 'react-bootstrap'; -import { useGetChannelsQuery } from '../api/channelsApi.js'; +import { useGetChannelsQuery } from '../api/chatApi.js'; import { useRef, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { selectActiveTab, activeChannelSelector } from '../store/activeChannelSlice.js'; @@ -11,10 +11,14 @@ const Channels = () => { const channelsRef = useRef(null); const activeChannel = useSelector(activeChannelSelector); useEffect(() => { + try { + if (isLoading) { + } + } catch (err) { + console.log(err); + } }, []); - console.log(channels); -console.log(activeChannel); return (