diff --git a/ui/src/Pages/SettingsPage/SettingsPage.tsx b/ui/src/Pages/SettingsPage/SettingsPage.tsx index 6febb717..e9769cd9 100644 --- a/ui/src/Pages/SettingsPage/SettingsPage.tsx +++ b/ui/src/Pages/SettingsPage/SettingsPage.tsx @@ -18,7 +18,7 @@ export const SectionTitle = ({ children, nospace }: SectionTitleProps) => { return (

diff --git a/ui/src/Pages/SettingsPage/UserPreferences.tsx b/ui/src/Pages/SettingsPage/UserPreferences.tsx index 8f596020..79e79849 100644 --- a/ui/src/Pages/SettingsPage/UserPreferences.tsx +++ b/ui/src/Pages/SettingsPage/UserPreferences.tsx @@ -1,6 +1,6 @@ import { useMutation, useQuery } from '@apollo/client' import gql from 'graphql-tag' -import React, { useMemo } from 'react' +import React, { useMemo, useState } from 'react' import { useTranslation } from 'react-i18next' import styled from 'styled-components' import { LanguageTranslation } from '../../__generated__/globalTypes' @@ -16,6 +16,8 @@ import { changeUserPreferencesVariables, } from './__generated__/changeUserPreferences' import { myUserPreferences } from './__generated__/myUserPreferences' +import { TranslationFn } from '../../localization' +import { changeTheme, getTheme } from '../../theme' const languagePreferences = [ { key: 1, label: 'English', flag: 'uk', value: LanguageTranslation.English }, @@ -47,6 +49,24 @@ const languagePreferences = [ }, ] +const themePreferences = (t: TranslationFn) => [ + { + key: 1, + label: t('settings.user_preferences.theme.auto.label', 'Same as system'), + value: 'auto', + }, + { + key: 2, + label: t('settings.user_preferences.theme.light.label', 'Light'), + value: 'light', + }, + { + key: 2, + label: t('settings.user_preferences.theme.dark.label', 'Dark'), + value: 'dark', + }, +] + const CHANGE_USER_PREFERENCES = gql` mutation changeUserPreferences($language: String) { changeUserPreferences(language: $language) { @@ -86,6 +106,12 @@ const UserPreferencesWrapper = styled.div` const UserPreferences = () => { const { t } = useTranslation() + const [theme, setTheme] = useState(getTheme()) + + const changeStateTheme = (value: string) => { + changeTheme(value) + setTheme(value) + } const { data } = useQuery(MY_USER_PREFERENCES) @@ -109,7 +135,7 @@ const UserPreferences = () => { {t('settings.user_preferences.title', 'User preferences')} -