diff --git a/resources/i18n/pt.json b/resources/i18n/pt.json index a934b2741..b42113a8f 100644 --- a/resources/i18n/pt.json +++ b/resources/i18n/pt.json @@ -263,7 +263,8 @@ "name": "Pessoal", "options": { "theme": "Tema", - "language": "Língua" + "language": "Língua", + "defaultView": "Tela inicial" } } }, diff --git a/ui/src/album/AlbumList.js b/ui/src/album/AlbumList.js index a816c783d..65b557e9b 100644 --- a/ui/src/album/AlbumList.js +++ b/ui/src/album/AlbumList.js @@ -19,7 +19,7 @@ import AlbumListView from './AlbumListView' import AlbumGridView from './AlbumGridView' import { ALBUM_MODE_LIST } from './albumState' import AddToPlaylistDialog from '../dialogs/AddToPlaylistDialog' -import albumLists from './albumLists' +import albumLists, { defaultAlbumList } from './albumLists' const AlbumFilter = (props) => { const translate = useTranslate() @@ -73,7 +73,8 @@ const AlbumList = (props) => { // If it does not have filter/sort params (usually coming from Menu), // reload with correct filter/sort params if (!location.search) { - const type = albumListType || 'all' + const type = + albumListType || localStorage.getItem('defaultView') || defaultAlbumList const listParams = albumLists[type] if (listParams) { return diff --git a/ui/src/album/albumLists.js b/ui/src/album/albumLists.js index 49ec4674d..7dc1b0ef1 100644 --- a/ui/src/album/albumLists.js +++ b/ui/src/album/albumLists.js @@ -23,3 +23,5 @@ export default { params: 'sort=play_count&order=DESC&filter={"recently_played":true}', }, } + +export const defaultAlbumList = 'recentlyAdded' diff --git a/ui/src/i18n/en.json b/ui/src/i18n/en.json index cbfd26abb..c1a288c66 100644 --- a/ui/src/i18n/en.json +++ b/ui/src/i18n/en.json @@ -264,7 +264,8 @@ "name": "Personal", "options": { "theme": "Theme", - "language": "Language" + "language": "Language", + "defaultView": "Default View" } } }, diff --git a/ui/src/personal/Personal.js b/ui/src/personal/Personal.js index 18a39b666..ab7f9bae4 100644 --- a/ui/src/personal/Personal.js +++ b/ui/src/personal/Personal.js @@ -15,6 +15,7 @@ import { changeTheme } from './actions' import themes from '../themes' import { docsUrl } from '../utils/docsUrl' import { useGetLanguageChoices } from '../i18n' +import albumLists, { defaultAlbumList } from '../album/albumLists' const useStyles = makeStyles({ root: { marginTop: '1em' }, @@ -95,6 +96,29 @@ const SelectTheme = (props) => { ) } +const SelectDefaultView = (props) => { + const translate = useTranslate() + const current = localStorage.getItem('defaultView') || defaultAlbumList + const choices = Object.keys(albumLists).map((type) => ({ + id: type, + name: translate(`resources.album.lists.${type}`), + })) + + return ( + { + localStorage.setItem('defaultView', event.target.value) + }} + /> + ) +} + const Personal = () => { const translate = useTranslate() const classes = useStyles() @@ -105,6 +129,7 @@ const Personal = () => { + )