// @flow import * as React from 'react'; import { observable } from 'mobx'; import { observer, inject } from 'mobx-react'; import { debounce } from 'lodash'; import AuthStore from 'stores/AuthStore'; import UiStore from 'stores/UiStore'; import Checkbox from 'components/Checkbox'; import CenteredContent from 'components/CenteredContent'; import PageTitle from 'components/PageTitle'; import HelpText from 'components/HelpText'; type Props = { auth: AuthStore, ui: UiStore, }; @observer class Security extends React.Component { form: ?HTMLFormElement; @observable sharing: boolean; @observable documentEmbeds: boolean; componentDidMount() { const { auth } = this.props; if (auth.team) { this.documentEmbeds = auth.team.documentEmbeds; 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; default: } await this.props.auth.updateTeam({ sharing: this.sharing, documentEmbeds: this.documentEmbeds, }); this.showSuccessMessage(); }; showSuccessMessage = debounce(() => { this.props.ui.showToast('Settings saved'); }, 500); render() { return (

Security

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