simle-chat

Форк
0
47 строк · 1.3 Кб
1
import io from 'socket.io-client';
2
import leoProfanity from 'leo-profanity';
3
import { configureStore } from '@reduxjs/toolkit';
4
import { Provider } from 'react-redux';
5

6
import reducer, { actions } from './slices/index';
7
import badWords from './locales/badWords';
8
import { RollbarProvider, I18nProvider, AuthProvider } from './components/Providers/Providers';
9
import App from './components/App';
10

11
const initApp = () => {
12
  const store = configureStore({
13
    reducer,
14
  });
15

16
  const ruBadWords = leoProfanity.getDictionary('ru');
17
  leoProfanity.add(ruBadWords);
18
  leoProfanity.add(badWords);
19

20
  const socket = io();
21
  socket.on('newMessage', (newMessage) => {
22
    store.dispatch(actions.updateCurrentChats(newMessage));
23
  });
24
  socket.on('newChannel', (newChannel) => {
25
    store.dispatch(actions.updateCurrentChannels(newChannel));
26
  });
27
  socket.on('renameChannel', (newChannel) => {
28
    store.dispatch(actions.renameChannel(newChannel));
29
  });
30
  socket.on('removeChannel', (remoteChannel) => {
31
    store.dispatch(actions.deleteChannel(remoteChannel));
32
  });
33

34
  return (
35
    <RollbarProvider>
36
      <I18nProvider>
37
        <AuthProvider>
38
          <Provider store={store}>
39
            <App />
40
          </Provider>
41
        </AuthProvider>
42
      </I18nProvider>
43
    </RollbarProvider>
44
  );
45
};
46

47
export default initApp;
48

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.