Skip to content

Commit

Permalink
Merge branch 'master' into celo_integration
Browse files Browse the repository at this point in the history
* master:
  feat: small improvements to accessibility across the web app (#562)
  Group by Sender and Recipient (#567)
  Enable multiple chains (#496)
  Silence loading spinner warning (#568)
  Custom attribute bugfix (#549)
  Antify Message Bar (#566)

# Conflicts:
#	config.py
#	eth_worker/eth_src/celery_app.py
#	eth_worker/eth_src/sql_persistence/interface.py
  • Loading branch information
enjeyw committed Dec 7, 2020
2 parents b68d9d8 + 4bed100 commit bfd9384
Show file tree
Hide file tree
Showing 79 changed files with 1,445 additions and 553 deletions.
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Expand Up @@ -6,5 +6,5 @@ A clear and concise description of the features implemented in the PR of bugs fi

- [ ] Link relevant [trello card](https://trello.com/b/PA2LhlOh/sempo-dev) or [related issue](https://github.com/teamsempo/SempoBlockchain/issues) to the pull request
- [ ] Request review from relevant @person or team
- [ ] QA your pull request. This includes running the app, login, testing changes etc.
- [ ] QA your pull request. This includes running the app, login, testing changes, checking [accessibility](https://www.a11yproject.com/checklist/) etc.
- [ ] Bump [backend](https://github.com/teamsempo/SempoBlockchain/blob/e3eb0f480e86d5a8ef2c1814127b70ff018671c4/config.py#L7) and/or [frontend](https://github.com/teamsempo/SempoBlockchain/blob/e3eb0f480e86d5a8ef2c1814127b70ff018671c4/app/package.json#L3) versions following Semver
4 changes: 0 additions & 4 deletions app/client/__fixtures__/message/messageData.ts

This file was deleted.

45 changes: 0 additions & 45 deletions app/client/__tests__/functional/reducers/message/actions.test.ts

This file was deleted.

52 changes: 0 additions & 52 deletions app/client/__tests__/functional/reducers/message/reducers.test.ts

This file was deleted.

31 changes: 0 additions & 31 deletions app/client/__tests__/functional/sagas/messageSaga.test.ts

This file was deleted.

3 changes: 3 additions & 0 deletions app/client/components/AsyncButton.jsx
Expand Up @@ -16,6 +16,7 @@ export default class AsyncButton extends React.Component {
alignItems: "center",
justifyContent: "center"
}}
label={this.props.label}
>
<div style={{ position: "absolute" }}>
<LoadingSpinner style={{ color: "white" }} />
Expand All @@ -36,6 +37,7 @@ export default class AsyncButton extends React.Component {
alignItems: "center",
justifyContent: "center"
}}
label={this.props.label}
>
<span> Success </span>
</StyledButton>
Expand All @@ -52,6 +54,7 @@ export default class AsyncButton extends React.Component {
alignItems: "center",
justifyContent: "center"
}}
label={this.props.label}
>
<span> {this.props.buttonText} </span>
</StyledButton>
Expand Down
5 changes: 4 additions & 1 deletion app/client/components/NoDataMessage.jsx
Expand Up @@ -12,7 +12,10 @@ export default class NoDataMessage extends React.Component {
<UploadButton
uploadButtonText={
<NoDataMessageWrapper>
<IconSVG src="/static/media/no_data_icon.svg" />
<IconSVG
src="/static/media/no_data_icon.svg"
alt={"There is no data available."}
/>
<p>There is no data available. Please upload a spreadsheet.</p>
</NoDataMessageWrapper>
}
Expand Down
3 changes: 3 additions & 0 deletions app/client/components/adminUser/InviteForm.jsx
Expand Up @@ -95,6 +95,7 @@ const InviteForm = function(props) {
id="EmailField"
onKeyUp={props.onEmailFieldKeyPress}
placeholder="Email"
aria-label="Email"
/>

<RoleTypeWrapper>
Expand All @@ -107,6 +108,7 @@ const InviteForm = function(props) {
value={tier}
checked={props.tier === tier}
onChange={props.handleToggle}
aria-label={`Tier ${tier}`}
/>
<LabelCheckmark checked={props.tier === tier} />
</LabelContainer>
Expand All @@ -122,6 +124,7 @@ const InviteForm = function(props) {
isLoading={props.isLoggingIn}
buttonStyle={{ width: "calc(100% - 1em)", display: "flex" }}
buttonText={<span>Invite</span>}
label={"Invite"}
/>
</div>
);
Expand Down
6 changes: 5 additions & 1 deletion app/client/components/adminUser/adminUserList.jsx
Expand Up @@ -209,7 +209,10 @@ class AdminUserList extends React.Component {
})
}
>
<IconSVG src="/static/media/action-icon.svg" />
<IconSVG
src="/static/media/action-icon.svg"
alt={"Actions for " + item.email}
/>
</IconWrapper>
<CloseWrapper
onClick={() =>
Expand Down Expand Up @@ -263,6 +266,7 @@ class AdminUserList extends React.Component {
lineHeight: "25px",
height: "25px"
}}
label={"Add New Admin"}
>
+ New Admin
</StyledButton>
Expand Down
5 changes: 5 additions & 0 deletions app/client/components/auth/TFAForm.jsx
Expand Up @@ -30,6 +30,9 @@ export default class TFAForm extends React.Component {
onClick={() => this.handleNextBack()}
buttonStyle={{ width: "calc(100% - 1em)", display: "flex" }}
buttonText={<span>Next</span>}
label={
"Go to the next page once two factor authentication QR code is scanned"
}
/>
</div>
);
Expand Down Expand Up @@ -64,13 +67,15 @@ const TFAQr = props => (
<ExternalLink
href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2"
target="_blank"
label={"Google Play Store Two Factor Authentication Application"}
>
Android
</ExternalLink>
/
<ExternalLink
href="https://apps.apple.com/au/app/google-authenticator/id388497605"
target="_blank"
label={"Apple App Store Two Factor Authentication Application"}
>
iPhone
</ExternalLink>
Expand Down
5 changes: 4 additions & 1 deletion app/client/components/auth/TFAValidator.jsx
Expand Up @@ -90,7 +90,8 @@ export class TFAValidator extends React.Component {
onChange={e => this.onCodeKeyPress(e)}
onKeyUp={e => this.onKeyup(e)}
style={{ letterSpacing: "0.2em" }}
placeholder="Your Code"
placeholder="Your TFA Code"
aria-label="Your TFA Code"
/>

<label style={{ marginLeft: "0.5em" }}>
Expand All @@ -99,6 +100,7 @@ export class TFAValidator extends React.Component {
type="checkbox"
checked={this.state.rememberComputer}
onChange={() => this.onCheck()}
aria-label="Remember my computer"
/>
Remember computer
</label>
Expand All @@ -108,6 +110,7 @@ export class TFAValidator extends React.Component {
isLoading={this.props.validateState.isRequesting}
buttonStyle={{ width: "calc(100% - 1em)", display: "flex" }}
buttonText={<span>Verify</span>}
label={"Verify my application"}
/>

<div style={{ textAlign: "center" }}>
Expand Down
14 changes: 11 additions & 3 deletions app/client/components/auth/authModule.jsx
Expand Up @@ -44,16 +44,24 @@ class authModuleContainer extends React.Component {
if (this.props.loggedIn) {
var button = (
<div style={{ margin: "auto 1em" }}>
<StyledButton onClick={this.props.logout}>Logout Admin</StyledButton>
<StyledButton onClick={this.props.logout} label={"Logout Admin"}>
Logout Admin
</StyledButton>
</div>
);
} else {
var button = (
<div style={{ margin: "auto 1em" }}>
<StyledButton onClick={() => this.setActiveForm("LOGIN")}>
<StyledButton
onClick={() => this.setActiveForm("LOGIN")}
label={"Go to Login Page"}
>
Login
</StyledButton>
<StyledButton onClick={() => this.setActiveForm("REGISTER")}>
<StyledButton
onClick={() => this.setActiveForm("REGISTER")}
label={"Go to Register Page"}
>
Register
</StyledButton>
</div>
Expand Down
5 changes: 4 additions & 1 deletion app/client/components/auth/loginForm.jsx
Expand Up @@ -6,7 +6,7 @@ import { Link } from "react-router-dom";
import AsyncButton from "./../AsyncButton.jsx";
import { LoginAction } from "../../reducers/auth/actions";

import { Input, StyledButton, ErrorMessage } from "./../styledElements";
import { Input, ErrorMessage } from "./../styledElements";
import { Footer, FooterLink, FooterText } from "../pages/authPage.jsx";
import TFAForm from "./TFAForm.jsx";

Expand Down Expand Up @@ -124,13 +124,15 @@ const LoginForm = function(props) {
id="UserField"
onKeyUp={props.onUserFieldKeyPress}
placeholder="Email"
aria-label="Email"
/>

<Input
type="password"
id="PasswordField"
onKeyUp={props.onPasswordFieldKeyPress}
placeholder="Password"
aria-label="Password"
/>

<ResetPasswordLink to="/login/forgot">
Expand All @@ -143,6 +145,7 @@ const LoginForm = function(props) {
isLoading={props.isLoggingIn}
buttonStyle={{ width: "calc(100% - 1em)", display: "flex" }}
buttonText={<span>LOGIN</span>}
label={"Login"}
/>

<Footer>
Expand Down
3 changes: 3 additions & 0 deletions app/client/components/auth/registerForm.jsx
Expand Up @@ -212,6 +212,7 @@ const RegisterForm = function(props) {
placeholder="Email"
disabled={props.state.invite ? "disabled" : ""}
style={props.state.invite ? { display: "none" } : null}
aria-label="Email"
/>

<ReactPasswordStrength
Expand All @@ -226,6 +227,7 @@ const RegisterForm = function(props) {
type="password"
onKeyUp={props.onReenterPasswordFieldKeyPress}
placeholder="Retype Password"
aria-label="Password"
/>

<ErrorMessage>{error_message}</ErrorMessage>
Expand All @@ -236,6 +238,7 @@ const RegisterForm = function(props) {
isLoading={props.isRegistering}
buttonStyle={{ width: "calc(100% - 1em)", display: "flex" }}
buttonText={<span>REGISTER</span>}
label={"Register for Sempo Dashboard"}
/>
</div>
);
Expand Down
2 changes: 2 additions & 0 deletions app/client/components/auth/requestResetEmailForm.jsx
Expand Up @@ -83,13 +83,15 @@ const RequestResetEmailForm = function(props) {
id="UserField"
onKeyUp={props.onEmailFieldKeyPress}
placeholder="Email"
aria-label="Email"
/>

<AsyncButton
onClick={props.onClick}
isLoading={props.isLoading}
buttonStyle={{ width: "calc(100% - 1em)", display: "flex" }}
buttonText={<span>Reset Password</span>}
label={"Reset Password on Sempo Dashboard"}
/>
<ErrorMessage>{error_message}</ErrorMessage>
</div>
Expand Down

0 comments on commit bfd9384

Please sign in to comment.