import React, { Component } from 'react'; import PropTypes from 'prop-types'; import RoomLink from 'components/RoomLink'; import { styles } from './styles.module.scss'; import Cookie from 'js-cookie'; import T from 'components/T'; class Settings extends Component { handleSoundToggle() { this.props.toggleSoundEnabled(!this.props.soundIsEnabled); } handleNotificationToggle() { Notification.requestPermission().then(permission => { if (permission === 'granted') { this.props.toggleNotificationEnabled(!this.props.notificationIsEnabled); this.props.toggleNotificationAllowed(true); } if (permission === 'denied') { this.props.toggleNotificationAllowed(false); } }); } handleLanguageChange(evt) { const language = evt.target.value; Cookie.set('language', language); this.props.setLanguage(language); } render() { return (

); } } Settings.propTypes = { soundIsEnabled: PropTypes.bool.isRequired, toggleSoundEnabled: PropTypes.func.isRequired, notificationIsEnabled: PropTypes.bool.isRequired, notificationIsAllowed: PropTypes.bool, toggleNotificationEnabled: PropTypes.func.isRequired, toggleNotificationAllowed: PropTypes.func.isRequired, roomId: PropTypes.string.isRequired, setLanguage: PropTypes.func.isRequired, translations: PropTypes.object.isRequired, }; export default Settings;