simle-chat
47 строк · 1.3 Кб
1import io from 'socket.io-client';2import leoProfanity from 'leo-profanity';3import { configureStore } from '@reduxjs/toolkit';4import { Provider } from 'react-redux';5
6import reducer, { actions } from './slices/index';7import badWords from './locales/badWords';8import { RollbarProvider, I18nProvider, AuthProvider } from './components/Providers/Providers';9import App from './components/App';10
11const initApp = () => {12const store = configureStore({13reducer,14});15
16const ruBadWords = leoProfanity.getDictionary('ru');17leoProfanity.add(ruBadWords);18leoProfanity.add(badWords);19
20const socket = io();21socket.on('newMessage', (newMessage) => {22store.dispatch(actions.updateCurrentChats(newMessage));23});24socket.on('newChannel', (newChannel) => {25store.dispatch(actions.updateCurrentChannels(newChannel));26});27socket.on('renameChannel', (newChannel) => {28store.dispatch(actions.renameChannel(newChannel));29});30socket.on('removeChannel', (remoteChannel) => {31store.dispatch(actions.deleteChannel(remoteChannel));32});33
34return (35<RollbarProvider>36<I18nProvider>37<AuthProvider>38<Provider store={store}>39<App />40</Provider>41</AuthProvider>42</I18nProvider>43</RollbarProvider>44);45};46
47export default initApp;48