gitextract_h2sxkswx/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── features-request-for-backend-or-frontend.md │ │ └── proposal.md │ └── workflows/ │ └── deploy-on-release.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── package.json ├── public/ │ ├── index.html │ ├── manifest.json │ └── robots.txt └── src/ ├── App.css ├── App.js ├── Router.jsx ├── api/ │ ├── answersApi.js │ ├── authApi.js │ ├── commentsApi.js │ ├── postsApis.js │ ├── tagsApi.js │ ├── urls.js │ └── usersApi.js ├── components/ │ ├── Alert/ │ │ ├── Alert.component.jsx │ │ └── Alert.styles.scss │ ├── PageTitle/ │ │ └── PageTitle.component.jsx │ ├── atoms/ │ │ └── box.atom.jsx │ ├── molecules/ │ │ ├── BaseButton/ │ │ │ └── BaseButton.component.jsx │ │ ├── ButtonGroup/ │ │ │ └── ButtonGroup.component.jsx │ │ ├── LinkButton/ │ │ │ └── LinkButton.component.jsx │ │ ├── PostItem/ │ │ │ ├── PostItem.component.jsx │ │ │ └── PostItem.styles.scss │ │ ├── SearchBox/ │ │ │ ├── SearchBox.component.jsx │ │ │ └── SearchBox.styles.scss │ │ ├── Spinner/ │ │ │ ├── Spinner.component.jsx │ │ │ └── Spinner.styles.scss │ │ ├── TagBadge/ │ │ │ ├── TagBadge.component.jsx │ │ │ └── TagBadge.styles.scss │ │ └── UserCard/ │ │ ├── UserCard.component.jsx │ │ └── UserCard.styles.scss │ └── organisms/ │ ├── AuthForm/ │ │ ├── AuthForm.component.jsx │ │ └── AuthForm.styles.scss │ ├── Footer/ │ │ ├── Footer.component.jsx │ │ └── Footer.styles.scss │ ├── Header/ │ │ ├── Header.component.jsx │ │ └── Header.styles.scss │ ├── LayoutWrapper/ │ │ ├── LayoutWrapper.component.jsx │ │ ├── RightSideBar/ │ │ │ ├── RightSideBar.component.jsx │ │ │ ├── RightSideBar.styles.scss │ │ │ ├── SideBarWidget/ │ │ │ │ ├── SideBarWidget.component.jsx │ │ │ │ ├── SideBarWidget.styles.scss │ │ │ │ └── SideBarWidgetData.js │ │ │ └── TagsWidget/ │ │ │ ├── TagsWidget.component.jsx │ │ │ ├── TagsWidget.styles.scss │ │ │ ├── TagsWidgetItem.component.jsx │ │ │ └── TagsWidgetItem.styles.scss │ │ └── SideBar/ │ │ ├── SideBar.component.jsx │ │ ├── SideBar.styles.scss │ │ ├── SideBarData.js │ │ └── SideBarItem.component.jsx │ ├── MarkdownEditor/ │ │ ├── MarkdownEditor.component.jsx │ │ └── MarkdownEditor.styles.scss │ ├── MobileSideBar/ │ │ ├── MobileSideBar.component.jsx │ │ └── MobileSideBar.styles.scss │ └── Pagination/ │ └── Pagination.component.jsx ├── config/ │ └── index.js ├── hooks/ │ └── usePageTitle.jsx ├── index.js ├── modules/ │ ├── AllTagsPage/ │ │ ├── AllTagsPage.component.jsx │ │ ├── AllTagsPage.styles.scss │ │ └── TagPanel/ │ │ └── TagPanel.component.jsx │ ├── AllUsersPage/ │ │ ├── AllUsersPage.component.jsx │ │ ├── AllUsersPage.styles.scss │ │ └── UserPanel/ │ │ ├── UserPanel.component.jsx │ │ └── UserPanel.styles.scss │ ├── HomePage/ │ │ ├── HomePage.component.jsx │ │ └── HomePage.styles.scss │ ├── Login/ │ │ └── Login.component.jsx │ ├── NotFound/ │ │ ├── NotFound.component.jsx │ │ └── NotFound.styles.scss │ ├── Post/ │ │ ├── AnswerSection/ │ │ │ ├── AnswerForm/ │ │ │ │ ├── AnswerForm.component.jsx │ │ │ │ └── AnswerForm.styles.scss │ │ │ ├── AnswerItem/ │ │ │ │ ├── AnswerItem.component.jsx │ │ │ │ └── AnswerItem.styles.scss │ │ │ ├── AnswerSection.component.jsx │ │ │ └── AnswerSection.styles.scss │ │ ├── Post.component.jsx │ │ ├── Post.styles.scss │ │ └── QuestionSection/ │ │ ├── CommentCell/ │ │ │ ├── CommentCell.component.jsx │ │ │ └── CommentCell.styles.scss │ │ ├── PostCell/ │ │ │ ├── PostCell.component.jsx │ │ │ └── PostCell.styles.scss │ │ ├── QuestionSection.component.jsx │ │ ├── QuestionSection.styles.scss │ │ └── VoteCell/ │ │ ├── VoteCell.component.jsx │ │ └── VoteCell.styles.scss │ ├── PostForm/ │ │ ├── AskForm/ │ │ │ ├── AskForm.component.jsx │ │ │ └── AskForm.styles.scss │ │ ├── AskWidget/ │ │ │ ├── AskWidget.component.jsx │ │ │ └── AskWidget.styles.scss │ │ ├── PostForm.component.jsx │ │ └── PostForm.styles.scss │ ├── ProfilePage/ │ │ ├── ExternalUserDetails/ │ │ │ ├── ExternalUserDetails.component.jsx │ │ │ └── ExternalUserDetails.styles.scss │ │ ├── ProfilePage.component.jsx │ │ ├── ProfilePage.styles.scss │ │ ├── UserActivity/ │ │ │ ├── UserActivity.component.jsx │ │ │ └── UserActivity.styles.scss │ │ └── UserSection/ │ │ ├── AvatarCard/ │ │ │ ├── AvatarCard.component.jsx │ │ │ └── AvatarCard.styles.scss │ │ ├── ContentCard/ │ │ │ ├── ContentCard.component.jsx │ │ │ └── ContentCard.styles.scss │ │ ├── UserSection.component.jsx │ │ └── UserSection.styles.scss │ ├── QuestionsPage/ │ │ ├── QuestionsPage.component.jsx │ │ └── QuestionsPage.styles.scss │ ├── Register/ │ │ ├── Caption/ │ │ │ ├── Caption.component.jsx │ │ │ └── Caption.styles.scss │ │ ├── Register.component.jsx │ │ └── Register.styles.scss │ └── TagPage/ │ ├── TagPage.component.jsx │ └── TagPage.styles.scss ├── redux/ │ ├── alert/ │ │ ├── alert.actions.js │ │ ├── alert.reducer.js │ │ └── alert.types.js │ ├── answers/ │ │ ├── answers.actions.js │ │ ├── answers.reducer.js │ │ └── answers.types.js │ ├── auth/ │ │ ├── auth.actions.js │ │ ├── auth.reducer.js │ │ ├── auth.types.js │ │ └── auth.utils.js │ ├── comments/ │ │ ├── comments.actions.js │ │ ├── comments.reducer.js │ │ └── comments.types.js │ ├── posts/ │ │ ├── posts.actions.js │ │ ├── posts.reducer.js │ │ └── posts.types.js │ ├── root-reducer.js │ ├── store.js │ ├── tags/ │ │ ├── tags.actions.js │ │ ├── tags.reducer.js │ │ └── tags.types.js │ └── users/ │ ├── users.actions.js │ ├── users.reducer.js │ └── users.types.js └── utils/ ├── censorBadWords.js ├── handleFilter.js ├── handleSorting.js ├── htmlSubstring.js └── injectEllipsis.js