import React, { useState, useEffect } from 'react'; import PropTypes from 'prop-types'; import './Settings.scss'; import initMatrix from '../../../client/initMatrix'; import settings from '../../../client/state/settings'; import Text from '../../atoms/text/Text'; import IconButton from '../../atoms/button/IconButton'; import SegmentedControls from '../../atoms/segmented-controls/SegmentedControls'; import PopupWindow, { PWContentSelector } from '../../molecules/popup-window/PopupWindow'; import SettingTile from '../../molecules/setting-tile/SettingTile'; import SunIC from '../../../../public/res/ic/outlined/sun.svg'; import LockIC from '../../../../public/res/ic/outlined/lock.svg'; import InfoIC from '../../../../public/res/ic/outlined/info.svg'; import CrossIC from '../../../../public/res/ic/outlined/cross.svg'; function AppearanceSection() { return (
settings.setTheme(index)} /> )} />
); } function SecuritySection() { return
; } function AboutSection() { return (
About Version: 1.0.0 {`Device ID: ${initMatrix.matrixClient.getDeviceId()}`}
); } function Settings({ isOpen, onRequestClose }) { const settingSections = [{ name: 'Appearance', iconSrc: SunIC, render() { return ; }, }, { name: 'Security & Privacy', iconSrc: LockIC, render() { return ; }, }, { name: 'Help & About', iconSrc: InfoIC, render() { return ; }, }]; const [selectedSection, setSelectedSection] = useState(settingSections[0]); return ( ( setSelectedSection(section)} iconSrc={section.iconSrc} > {section.name} )) } contentOptions={} > {selectedSection.render()} ); } Settings.propTypes = { isOpen: PropTypes.bool.isRequired, onRequestClose: PropTypes.func.isRequired, }; export default Settings;