Fix #260: Add Auto theme preference to set theme automatically. (#835)

* Auto theme preference added

* Fix lint

* Add and use AUTO from consts

* Add shared custom hook to get current theme

* Moved up 'Auto' choice

* AUTO -> AUTO_THEME_ID & extract useCurrentTheme to file

* Liberalise theme setting

* Add tests
This commit is contained in:
Yash Jipkate
2021-03-21 22:49:43 +05:30
committed by GitHub
parent fa479f0a9a
commit 3e0e11c01e
8 changed files with 235 additions and 8 deletions
+12 -3
View File
@@ -23,6 +23,7 @@ import themes from '../themes'
import { docsUrl } from '../utils'
import { useGetLanguageChoices } from '../i18n'
import albumLists, { defaultAlbumList } from '../album/albumLists'
import { AUTO_THEME_ID } from '../consts'
const useStyles = makeStyles({
root: { marginTop: '1em' },
@@ -77,9 +78,17 @@ const SelectTheme = (props) => {
const translate = useTranslate()
const dispatch = useDispatch()
const currentTheme = useSelector((state) => state.theme)
const themeChoices = Object.keys(themes).map((key) => {
return { id: key, name: themes[key].themeName }
})
const themeChoices = [
{
id: AUTO_THEME_ID,
name: 'Auto',
},
]
themeChoices.push(
...Object.keys(themes).map((key) => {
return { id: key, name: themes[key].themeName }
})
)
themeChoices.push({
id: helpKey,
name: <HelpMsg caption={'Create your own'} />,