From 9f74c550927671f4ded301d0cf3e9d592716375c Mon Sep 17 00:00:00 2001 From: piotrruss Date: Sun, 22 Aug 2021 14:33:54 +0200 Subject: settings --- apps/Settings/components/Settings.js | 68 ++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 apps/Settings/components/Settings.js (limited to 'apps/Settings/components/Settings.js') diff --git a/apps/Settings/components/Settings.js b/apps/Settings/components/Settings.js new file mode 100644 index 0000000..2d7f238 --- /dev/null +++ b/apps/Settings/components/Settings.js @@ -0,0 +1,68 @@ +import styles from '../styles/Settings.module.scss' +import React, {useContext} from 'react' +import fetchJson from 'lib/fetchJson' +import useUser from 'lib/useUser' +import usePopup from 'hooks/usePopup' +import Context from 'context'; +import {close} from 'helpers/windowActions' + +const Settings = () => { + const {setPopup} = usePopup() + const {settings: {theme, language}, setSettings, setApps} = useContext(Context) + const {user} = useUser() + + const handleSave = e => { + e.preventDefault; + + try { + fetchJson('/api/settings', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({_id: user._id, theme, language}), + }) + setPopup({ + content: 'Settings saved', + time: 2000, + }) + close('Settings', setApps) + } catch (err) { + setpopup({ + content: 'could not save settings', + time: 2000, + error: true, + }) + } + } + + return ( +
+
Language:
+
+ English +
+
Theme:
+
+ {setSettings({language, theme:'green'})}} + className={theme === 'green' ? styles.settings__active : ''} + /> + {setSettings({language, theme:'blue'})}} + className={theme === 'blue' ? styles.settings__active : ''} + /> + {setSettings({language, theme:'black'})}} + className={theme === 'black' ? styles.settings__active : ''} + /> +
+ +
+ ) +} + +export default Settings -- cgit v1.2.3