diff --git a/Dockerfile b/Dockerfile
index 73885d628..5c7b3cabb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,7 +13,8 @@ EXPOSE 5000
COPY . /usr/src/app
# Install app dependencies and build static assets.
-RUN yarn install --frozen-lockfile && \
+RUN yarn global add node-gyp && \
+ yarn install --frozen-lockfile && \
cli plugins reconcile && \
yarn build && \
yarn install --production && \
diff --git a/client/coral-admin/src/containers/Community/People.js b/client/coral-admin/src/containers/Community/People.js
index 0011cd704..e375bac38 100644
--- a/client/coral-admin/src/containers/Community/People.js
+++ b/client/coral-admin/src/containers/Community/People.js
@@ -4,7 +4,6 @@ import translations from 'coral-admin/src/translations.json';
import styles from './Community.css';
import Table from './Table';
-import Loading from './Loading';
import {Pager, Icon} from 'coral-ui';
import EmptyCard from '../../components/EmptyCard';
@@ -29,8 +28,8 @@ const tableHeaders = [
}
];
-const People = ({isFetching, commenters, searchValue, onSearchChange, ...props}) => {
- const hasResults = !isFetching && !!commenters.length;
+const People = ({commenters, searchValue, onSearchChange, ...props}) => {
+ const hasResults = !!commenters.length;
return (
@@ -47,7 +46,6 @@ const People = ({isFetching, commenters, searchValue, onSearchChange, ...props})
- { isFetching &&
}
{
hasResults
?
(dispatch) => {
dispatch(signUpSuccess(user));
})
.catch(error => {
- dispatch(signUpFailure(lang.t(`error.${error.message}`)));
+ let errorMessage = lang.t(`error.${error.message}`);
+
+ // if there is no translation defined, just show the error string
+ if (errorMessage === `error.${error.message}`) {
+ errorMessage = error.message;
+ }
+ dispatch(signUpFailure(errorMessage));
});
};
diff --git a/client/coral-plugin-flags/FlagButton.js b/client/coral-plugin-flags/FlagButton.js
index 16e616379..e5daf72c9 100644
--- a/client/coral-plugin-flags/FlagButton.js
+++ b/client/coral-plugin-flags/FlagButton.js
@@ -19,6 +19,12 @@ class FlagButton extends Component {
localDelete: false
}
+ componentDidUpdate () {
+ if (this.popup) { // this will be defined when the reporting popup is opened
+ this.popup.firstChild.style.top = `${this.flagButton.offsetTop - this.popup.firstChild.clientHeight - 15}px`;
+ }
+ }
+
// When the "report" button is clicked expand the menu
onReportClick = () => {
const {currentUser, deleteAction, flaggedByCurrentUser, flag} = this.props;
@@ -135,7 +141,10 @@ class FlagButton extends Component {
const popupMenu = getPopupMenu[this.state.step](this.state.itemType);
return
-