├── .gitignore ├── README.md ├── package.json ├── public ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png ├── manifest.json └── robots.txt ├── src ├── App.css ├── App.test.js ├── App.tsx ├── StoreContext_Non.js ├── api │ ├── api.ts │ ├── auth-api.ts │ ├── chat-api.tsx │ ├── profile-api.ts │ ├── security-api.ts │ └── users-api.ts ├── assets │ └── images │ │ ├── loading-slow-net.gif │ │ ├── logo.png │ │ ├── user.jpg │ │ └── user2.jpg ├── components │ ├── Dialogs │ │ ├── DialogItems │ │ │ └── DialogItems.tsx │ │ ├── Dialogs.module.css │ │ ├── Dialogs.tsx │ │ ├── DialogsContainer.tsx │ │ └── Message │ │ │ └── Message.tsx │ ├── Header │ │ ├── Header.module.css │ │ └── HeaderComponent.tsx │ ├── Login │ │ ├── Login.module.css │ │ └── Login.tsx │ ├── Navbar │ │ ├── Navbar.module.css │ │ └── Navbar.tsx │ ├── News │ │ ├── News.jsx │ │ └── News.module.css │ ├── Profile │ │ ├── MyPosts │ │ │ ├── MyPosts.module.css │ │ │ ├── MyPosts.tsx │ │ │ ├── MyPostsContainer.tsx │ │ │ └── Posts │ │ │ │ ├── Post.module.css │ │ │ │ └── Post.tsx │ │ ├── Profile.module.css │ │ ├── Profile.tsx │ │ ├── ProfileContainer.tsx │ │ └── ProfileInfo │ │ │ ├── ProfileDataForm.tsx │ │ │ ├── ProfileInfo.module.css │ │ │ ├── ProfileInfo.tsx │ │ │ ├── ProfileStatus.tsx │ │ │ └── ProfileStatusWithHooks.tsx │ ├── Users │ │ ├── User.tsx │ │ ├── Users.tsx │ │ ├── UsersContainer.tsx │ │ ├── UsersSearchForm.tsx │ │ ├── users.module.css │ │ └── usersContainer.module.css │ └── common │ │ ├── NotFound │ │ ├── NotFound.module.css │ │ └── NotFound.tsx │ │ ├── Paginator │ │ ├── Paginator.module.css │ │ └── Paginator.tsx │ │ └── Preloader │ │ └── Preloader.tsx ├── hoc │ └── withAuthRedirect.tsx ├── index.css ├── index.tsx ├── pages │ └── Chat │ │ └── ChatPage.tsx ├── redux │ ├── app-reducer.ts │ ├── auth-reducer.ts │ ├── auth-selectors.ts │ ├── chat-reducer.ts │ ├── dialogs-reducer.ts │ ├── profile-reducer.test.ts │ ├── profile-reducer.ts │ ├── redux-store.ts │ ├── sidebar-reducer.ts │ ├── store.js │ ├── users-reducer.test.ts │ ├── users-reducer.thunks.test.ts │ ├── users-reducer.ts │ └── users-selectors.ts ├── reportWebVitals.js ├── setupTests.js ├── types │ └── types.ts └── utils │ ├── declaration.d.ts │ ├── object-helpers.ts │ └── validators │ ├── ErrorMessage.module.css │ └── validators.js ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/package.json -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/public/index.html -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/public/logo512.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/public/manifest.json -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/public/robots.txt -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/App.css -------------------------------------------------------------------------------- /src/App.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/App.test.js -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/App.tsx -------------------------------------------------------------------------------- /src/StoreContext_Non.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/StoreContext_Non.js -------------------------------------------------------------------------------- /src/api/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/api/api.ts -------------------------------------------------------------------------------- /src/api/auth-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/api/auth-api.ts -------------------------------------------------------------------------------- /src/api/chat-api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/api/chat-api.tsx -------------------------------------------------------------------------------- /src/api/profile-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/api/profile-api.ts -------------------------------------------------------------------------------- /src/api/security-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/api/security-api.ts -------------------------------------------------------------------------------- /src/api/users-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/api/users-api.ts -------------------------------------------------------------------------------- /src/assets/images/loading-slow-net.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/assets/images/loading-slow-net.gif -------------------------------------------------------------------------------- /src/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/assets/images/logo.png -------------------------------------------------------------------------------- /src/assets/images/user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/assets/images/user.jpg -------------------------------------------------------------------------------- /src/assets/images/user2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/assets/images/user2.jpg -------------------------------------------------------------------------------- /src/components/Dialogs/DialogItems/DialogItems.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Dialogs/DialogItems/DialogItems.tsx -------------------------------------------------------------------------------- /src/components/Dialogs/Dialogs.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Dialogs/Dialogs.module.css -------------------------------------------------------------------------------- /src/components/Dialogs/Dialogs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Dialogs/Dialogs.tsx -------------------------------------------------------------------------------- /src/components/Dialogs/DialogsContainer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Dialogs/DialogsContainer.tsx -------------------------------------------------------------------------------- /src/components/Dialogs/Message/Message.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Dialogs/Message/Message.tsx -------------------------------------------------------------------------------- /src/components/Header/Header.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Header/Header.module.css -------------------------------------------------------------------------------- /src/components/Header/HeaderComponent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Header/HeaderComponent.tsx -------------------------------------------------------------------------------- /src/components/Login/Login.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Login/Login.module.css -------------------------------------------------------------------------------- /src/components/Login/Login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Login/Login.tsx -------------------------------------------------------------------------------- /src/components/Navbar/Navbar.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Navbar/Navbar.module.css -------------------------------------------------------------------------------- /src/components/Navbar/Navbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Navbar/Navbar.tsx -------------------------------------------------------------------------------- /src/components/News/News.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/News/News.jsx -------------------------------------------------------------------------------- /src/components/News/News.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/News/News.module.css -------------------------------------------------------------------------------- /src/components/Profile/MyPosts/MyPosts.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/MyPosts/MyPosts.module.css -------------------------------------------------------------------------------- /src/components/Profile/MyPosts/MyPosts.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/MyPosts/MyPosts.tsx -------------------------------------------------------------------------------- /src/components/Profile/MyPosts/MyPostsContainer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/MyPosts/MyPostsContainer.tsx -------------------------------------------------------------------------------- /src/components/Profile/MyPosts/Posts/Post.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/MyPosts/Posts/Post.module.css -------------------------------------------------------------------------------- /src/components/Profile/MyPosts/Posts/Post.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/MyPosts/Posts/Post.tsx -------------------------------------------------------------------------------- /src/components/Profile/Profile.module.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/components/Profile/Profile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/Profile.tsx -------------------------------------------------------------------------------- /src/components/Profile/ProfileContainer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/ProfileContainer.tsx -------------------------------------------------------------------------------- /src/components/Profile/ProfileInfo/ProfileDataForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/ProfileInfo/ProfileDataForm.tsx -------------------------------------------------------------------------------- /src/components/Profile/ProfileInfo/ProfileInfo.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/ProfileInfo/ProfileInfo.module.css -------------------------------------------------------------------------------- /src/components/Profile/ProfileInfo/ProfileInfo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/ProfileInfo/ProfileInfo.tsx -------------------------------------------------------------------------------- /src/components/Profile/ProfileInfo/ProfileStatus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/ProfileInfo/ProfileStatus.tsx -------------------------------------------------------------------------------- /src/components/Profile/ProfileInfo/ProfileStatusWithHooks.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Profile/ProfileInfo/ProfileStatusWithHooks.tsx -------------------------------------------------------------------------------- /src/components/Users/User.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Users/User.tsx -------------------------------------------------------------------------------- /src/components/Users/Users.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Users/Users.tsx -------------------------------------------------------------------------------- /src/components/Users/UsersContainer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Users/UsersContainer.tsx -------------------------------------------------------------------------------- /src/components/Users/UsersSearchForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Users/UsersSearchForm.tsx -------------------------------------------------------------------------------- /src/components/Users/users.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Users/users.module.css -------------------------------------------------------------------------------- /src/components/Users/usersContainer.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/Users/usersContainer.module.css -------------------------------------------------------------------------------- /src/components/common/NotFound/NotFound.module.css: -------------------------------------------------------------------------------- 1 | 2 | .notFoundBlock { 3 | padding: 30px; 4 | } 5 | -------------------------------------------------------------------------------- /src/components/common/NotFound/NotFound.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/common/NotFound/NotFound.tsx -------------------------------------------------------------------------------- /src/components/common/Paginator/Paginator.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/common/Paginator/Paginator.module.css -------------------------------------------------------------------------------- /src/components/common/Paginator/Paginator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/common/Paginator/Paginator.tsx -------------------------------------------------------------------------------- /src/components/common/Preloader/Preloader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/components/common/Preloader/Preloader.tsx -------------------------------------------------------------------------------- /src/hoc/withAuthRedirect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/hoc/withAuthRedirect.tsx -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/index.css -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/index.tsx -------------------------------------------------------------------------------- /src/pages/Chat/ChatPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/pages/Chat/ChatPage.tsx -------------------------------------------------------------------------------- /src/redux/app-reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/app-reducer.ts -------------------------------------------------------------------------------- /src/redux/auth-reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/auth-reducer.ts -------------------------------------------------------------------------------- /src/redux/auth-selectors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/auth-selectors.ts -------------------------------------------------------------------------------- /src/redux/chat-reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/chat-reducer.ts -------------------------------------------------------------------------------- /src/redux/dialogs-reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/dialogs-reducer.ts -------------------------------------------------------------------------------- /src/redux/profile-reducer.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/profile-reducer.test.ts -------------------------------------------------------------------------------- /src/redux/profile-reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/profile-reducer.ts -------------------------------------------------------------------------------- /src/redux/redux-store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/redux-store.ts -------------------------------------------------------------------------------- /src/redux/sidebar-reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/sidebar-reducer.ts -------------------------------------------------------------------------------- /src/redux/store.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/store.js -------------------------------------------------------------------------------- /src/redux/users-reducer.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/users-reducer.test.ts -------------------------------------------------------------------------------- /src/redux/users-reducer.thunks.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/users-reducer.thunks.test.ts -------------------------------------------------------------------------------- /src/redux/users-reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/users-reducer.ts -------------------------------------------------------------------------------- /src/redux/users-selectors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/redux/users-selectors.ts -------------------------------------------------------------------------------- /src/reportWebVitals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/reportWebVitals.js -------------------------------------------------------------------------------- /src/setupTests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/setupTests.js -------------------------------------------------------------------------------- /src/types/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/types/types.ts -------------------------------------------------------------------------------- /src/utils/declaration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/utils/declaration.d.ts -------------------------------------------------------------------------------- /src/utils/object-helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/utils/object-helpers.ts -------------------------------------------------------------------------------- /src/utils/validators/ErrorMessage.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/utils/validators/ErrorMessage.module.css -------------------------------------------------------------------------------- /src/utils/validators/validators.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/src/utils/validators/validators.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxim-saharov/ReactKamasutra/HEAD/yarn.lock --------------------------------------------------------------------------------