mirror of
https://github.com/openziti/zrok.git
synced 2024-11-21 23:53:19 +01:00
Merge pull request #718 from openziti/terms_ack
Checkbox to Acknowledge Terms and Conditions (#669)
This commit is contained in:
commit
bf7b8ecb99
@ -6,6 +6,10 @@ FEATURE: Conditionally enable interstitial page based on `User-Agent` prefix lis
|
|||||||
|
|
||||||
CHANGE: The interstitial configuration has been modified from a simple `interstitial: <bool>` to a richer structure, but the config version has not been incremented; this feature has not been widely adopted yet. See the [frontend configuration template](etc/frontend.yml) for details on the new structure.
|
CHANGE: The interstitial configuration has been modified from a simple `interstitial: <bool>` to a richer structure, but the config version has not been incremented; this feature has not been widely adopted yet. See the [frontend configuration template](etc/frontend.yml) for details on the new structure.
|
||||||
|
|
||||||
|
CHANGE: The registration page where a new user's password is set now includes a required checkbox, asking them to acknowledge the terms and conditions presented above the checkbox (https://github.com/openziti/zrok/issues/669)
|
||||||
|
|
||||||
|
FIX: The registration page where a new user's password is set now includes better styling of the error message `<div/>` to prevent the entire page from jumping when the message changes.
|
||||||
|
|
||||||
## v0.4.37
|
## v0.4.37
|
||||||
|
|
||||||
FIX: Fix for setting the `zrok_interstitial` cookie on Chrome-based browsers.
|
FIX: Fix for setting the `zrok_interstitial` cookie on Chrome-based browsers.
|
||||||
|
@ -119,8 +119,13 @@ code, pre {
|
|||||||
margin-top: 25px;
|
margin-top: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zrok-tou {
|
.zrok-tou {
|
||||||
margin-top: 15px;
|
margin: 15px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zrok-type {
|
||||||
|
font-family: 'Russo One', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
#controls-row {
|
#controls-row {
|
||||||
@ -130,4 +135,9 @@ code, pre {
|
|||||||
|
|
||||||
#navbar {
|
#navbar {
|
||||||
background: linear-gradient(180deg, #0E0238 0%, #231069 100%);
|
background: linear-gradient(180deg, #0E0238 0%, #231069 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
#zrok-message-row {
|
||||||
|
padding: 10px;
|
||||||
|
height: 50px;
|
||||||
}
|
}
|
@ -4,13 +4,14 @@ import * as metadata from "../api/metadata"
|
|||||||
import Success from "./Success";
|
import Success from "./Success";
|
||||||
import {Button, Container, Form, Row} from "react-bootstrap";
|
import {Button, Container, Form, Row} from "react-bootstrap";
|
||||||
import PasswordForm from "../components/password";
|
import PasswordForm from "../components/password";
|
||||||
|
import {Checkbox, FormControlLabel} from "@mui/material";
|
||||||
|
|
||||||
const SetPasswordForm = (props) => {
|
const SetPasswordForm = (props) => {
|
||||||
const [password, setPassword] = useState('');
|
const [password, setPassword] = useState('');
|
||||||
const [message, setMessage] = useState();
|
const [message, setMessage] = useState();
|
||||||
const [authToken, setAuthToken] = useState('');
|
const [authToken, setAuthToken] = useState('');
|
||||||
const [complete, setComplete] = useState(false);
|
const [complete, setComplete] = useState(false);
|
||||||
const [tou, setTou] = useState();
|
const [tou, setTou] = useState(<span/>);
|
||||||
const [passwordLength, setPasswordLength] = useState(10);
|
const [passwordLength, setPasswordLength] = useState(10);
|
||||||
const [passwordRequireCapital, setPasswordRequireCapital] = useState(true);
|
const [passwordRequireCapital, setPasswordRequireCapital] = useState(true);
|
||||||
const [passwordRequireNumeric, setPasswordRequireNumeric] = useState(true);
|
const [passwordRequireNumeric, setPasswordRequireNumeric] = useState(true);
|
||||||
@ -23,7 +24,7 @@ const SetPasswordForm = (props) => {
|
|||||||
metadata.configuration().then(resp => {
|
metadata.configuration().then(resp => {
|
||||||
if(!resp.error) {
|
if(!resp.error) {
|
||||||
if (resp.data.touLink !== undefined && resp.data.touLink.trim() !== "") {
|
if (resp.data.touLink !== undefined && resp.data.touLink.trim() !== "") {
|
||||||
setTou(resp.data.touLink)
|
setTou(<span dangerouslySetInnerHTML={{__html: resp.data.touLink}}/>)
|
||||||
}
|
}
|
||||||
setPasswordLength(resp.data.passwordRequirements.length)
|
setPasswordLength(resp.data.passwordRequirements.length)
|
||||||
setPasswordRequireCapital(resp.data.passwordRequirements.requireCapital)
|
setPasswordRequireCapital(resp.data.passwordRequirements.requireCapital)
|
||||||
@ -73,23 +74,28 @@ const SetPasswordForm = (props) => {
|
|||||||
<Container className={"fullscreen-form"}>
|
<Container className={"fullscreen-form"}>
|
||||||
<Row>
|
<Row>
|
||||||
<Form onSubmit={handleSubmit}>
|
<Form onSubmit={handleSubmit}>
|
||||||
<PasswordForm
|
<div>
|
||||||
setMessage={setMessage}
|
<PasswordForm
|
||||||
passwordLength={passwordLength}
|
setMessage={setMessage}
|
||||||
passwordRequireCapital={passwordRequireCapital}
|
passwordLength={passwordLength}
|
||||||
passwordRequireNumeric={passwordRequireNumeric}
|
passwordRequireCapital={passwordRequireCapital}
|
||||||
passwordRequireSpecial={passwordRequireSpecial}
|
passwordRequireNumeric={passwordRequireNumeric}
|
||||||
passwordValidSpecialCharacters={passwordValidSpecialCharacters}
|
passwordRequireSpecial={passwordRequireSpecial}
|
||||||
setParentPassword={setPassword}/>
|
passwordValidSpecialCharacters={passwordValidSpecialCharacters}
|
||||||
|
setParentPassword={setPassword}/>
|
||||||
|
</div>
|
||||||
|
<div class={"zrok-tou"}>
|
||||||
|
<p>{tou}</p>
|
||||||
|
</div>
|
||||||
|
<div class={"zrok-tou"}>
|
||||||
|
<FormControlLabel control={<Checkbox style={{color: 'white'}} required/>} label={<span class={"zrok-type"}>I have read and agree to the above</span>}/>
|
||||||
|
</div>
|
||||||
<Button variant={"light"} type={"submit"}>Register Account</Button>
|
<Button variant={"light"} type={"submit"}>Register Account</Button>
|
||||||
</Form>
|
</Form>
|
||||||
</Row>
|
</Row>
|
||||||
<Row>
|
<Row id={"zrok-message-row"}>
|
||||||
{message}
|
{message}
|
||||||
</Row>
|
</Row>
|
||||||
<Row>
|
|
||||||
<div id={"zrok-tou"} dangerouslySetInnerHTML={{__html: tou}}></div>
|
|
||||||
</Row>
|
|
||||||
</Container>
|
</Container>
|
||||||
</Row>
|
</Row>
|
||||||
</Container>
|
</Container>
|
||||||
|
Loading…
Reference in New Issue
Block a user