// @flow import { debounce } from "lodash"; import { observable } from "mobx"; import { observer, inject } from "mobx-react"; import * as React from "react"; import AuthStore from "stores/AuthStore"; import UiStore from "stores/UiStore"; import CenteredContent from "components/CenteredContent"; import Checkbox from "components/Checkbox"; import HelpText from "components/HelpText"; import PageTitle from "components/PageTitle"; type Props = { auth: AuthStore, ui: UiStore, }; @observer class Security extends React.Component { form: ?HTMLFormElement; @observable sharing: boolean; @observable documentEmbeds: boolean; @observable guestSignin: boolean; componentDidMount() { const { auth } = this.props; if (auth.team) { this.documentEmbeds = auth.team.documentEmbeds; this.guestSignin = auth.team.guestSignin; this.sharing = auth.team.sharing; } } handleChange = async (ev: SyntheticInputEvent<*>) => { switch (ev.target.name) { case "sharing": this.sharing = ev.target.checked; break; case "documentEmbeds": this.documentEmbeds = ev.target.checked; break; case "guestSignin": this.guestSignin = ev.target.checked; break; default: } await this.props.auth.updateTeam({ sharing: this.sharing, documentEmbeds: this.documentEmbeds, guestSignin: this.guestSignin, }); this.showSuccessMessage(); }; showSuccessMessage = debounce(() => { this.props.ui.showToast("Settings saved"); }, 500); render() { return (

Security

Settings that impact the access, security, and content of your knowledge base.
); } } export default inject("auth", "ui")(Security);