Merge pull request #308 from vector-im/dbkr/ptt_enable_flag

Put PTT behind 'feature flag'
This commit is contained in:
Robert Long 2022-05-03 10:34:01 -07:00 committed by GitHub
commit d930ab869a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 17 deletions

View file

@ -2,4 +2,4 @@
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.insertSpaces": true, "editor.insertSpaces": true,
"editor.tabSize": 2 "editor.tabSize": 2
} }

View file

@ -13,11 +13,13 @@ import { JoinExistingCallModal } from "./JoinExistingCallModal";
import { useHistory } from "react-router-dom"; import { useHistory } from "react-router-dom";
import { Headline, Title } from "../typography/Typography"; import { Headline, Title } from "../typography/Typography";
import { Form } from "../form/Form"; import { Form } from "../form/Form";
import { useShouldShowPtt } from "../useShouldShowPtt";
export function RegisteredView({ client }) { export function RegisteredView({ client }) {
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
const [error, setError] = useState(); const [error, setError] = useState();
const history = useHistory(); const history = useHistory();
const shouldShowPtt = useShouldShowPtt();
const onSubmit = useCallback( const onSubmit = useCallback(
(e) => { (e) => {
e.preventDefault(); e.preventDefault();
@ -98,14 +100,16 @@ export function RegisteredView({ client }) {
{loading ? "Loading..." : "Go"} {loading ? "Loading..." : "Go"}
</Button> </Button>
</FieldRow> </FieldRow>
<FieldRow className={styles.fieldRow}> {shouldShowPtt && (
<InputField <FieldRow className={styles.fieldRow}>
id="ptt" <InputField
name="ptt" id="ptt"
label="Push to Talk" name="ptt"
type="checkbox" label="Push to Talk"
/> type="checkbox"
</FieldRow> />
</FieldRow>
)}
{error && ( {error && (
<FieldRow className={styles.fieldRow}> <FieldRow className={styles.fieldRow}>
<ErrorMessage>{error.message}</ErrorMessage> <ErrorMessage>{error.message}</ErrorMessage>

View file

@ -15,8 +15,10 @@ import { Form } from "../form/Form";
import styles from "./UnauthenticatedView.module.css"; import styles from "./UnauthenticatedView.module.css";
import commonStyles from "./common.module.css"; import commonStyles from "./common.module.css";
import { generateRandomName } from "../auth/generateRandomName"; import { generateRandomName } from "../auth/generateRandomName";
import { useShouldShowPtt } from "../useShouldShowPtt";
export function UnauthenticatedView() { export function UnauthenticatedView() {
const shouldShowPtt = useShouldShowPtt();
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
const [error, setError] = useState(); const [error, setError] = useState();
const [{ privacyPolicyUrl, recaptchaKey }, register] = const [{ privacyPolicyUrl, recaptchaKey }, register] =
@ -112,14 +114,16 @@ export function UnauthenticatedView() {
autoComplete="off" autoComplete="off"
/> />
</FieldRow> </FieldRow>
<FieldRow> {shouldShowPtt && (
<InputField <FieldRow>
id="ptt" <InputField
name="ptt" id="ptt"
label="Push to Talk" name="ptt"
type="checkbox" label="Push to Talk"
/> type="checkbox"
</FieldRow> />
</FieldRow>
)}
<Caption> <Caption>
By clicking "Go", you agree to our{" "} By clicking "Go", you agree to our{" "}
<Link href={privacyPolicyUrl}>Terms and conditions</Link> <Link href={privacyPolicyUrl}>Terms and conditions</Link>

6
src/useShouldShowPtt.js Normal file
View file

@ -0,0 +1,6 @@
import { useLocation } from "react-router-dom";
export function useShouldShowPtt() {
const { hash } = useLocation();
return hash.startsWith("#ptt");
}