mirror of
https://github.com/ikun0014/lx-music-mobile.git
synced 2025-05-23 22:37:41 +08:00
93 lines
4.6 KiB
JavaScript
93 lines
4.6 KiB
JavaScript
import { createSelector } from 'reselect'
|
|
import apiSourceInfo from '@/utils/music/api-source-info'
|
|
|
|
// sourceInfo(state, getters, rootState, { sourceNames }) {
|
|
// return { sources: sources.map(item => ({ id: item.id, name: sourceNames[item.id] })), sortList }
|
|
// },
|
|
// tags: state => state.tags,
|
|
// isVisibleListDetail: state => state.isVisibleListDetail,
|
|
// selectListInfo: state => state.selectListInfo,
|
|
export const common = state => state.common
|
|
export const navMenus = state => state.common.nav.menus
|
|
export const navActiveIndex = state => state.common.nav.activeIndex
|
|
|
|
export const startupAutoPlay = state => state.common.setting.startupAutoPlay
|
|
|
|
export const setting = state => state.common.setting
|
|
|
|
export const componentIds = state => state.common.componentIds
|
|
|
|
export const activeLangId = state => state.common.setting.langId
|
|
|
|
export const isAgreePact = state => state.common.setting.isAgreePact
|
|
|
|
export const isPlayHighQuality = state => state.common.setting.player.highQuality
|
|
export const isHandleAudioFocus = state => state.common.setting.player.isHandleAudioFocus
|
|
export const playerCacheSize = state => state.common.setting.player.cacheSize
|
|
|
|
export const systemColor = state => state.common.systemColor
|
|
export const isAutoTheme = state => state.common.setting.isAutoTheme
|
|
export const themeList = state => state.common.themes
|
|
export const activeThemeId = state => state.common.setting.themeId
|
|
export const activeTheme = createSelector(
|
|
[themeList, activeThemeId, isAutoTheme, systemColor],
|
|
(themeList, activeThemeId, isAutoTheme, systemColor) => {
|
|
const themeId = isAutoTheme && systemColor == 'dark' ? 'black' : activeThemeId
|
|
return themeList.find(theme => theme.id === themeId) || themeList[0]
|
|
})
|
|
export const theme = createSelector(activeTheme, activeTheme => activeTheme.colors)
|
|
export const isDarkTheme = createSelector(activeTheme, activeTheme => activeTheme.isDark)
|
|
export const statusBarStyle = createSelector(isDarkTheme, isDarkTheme => isDarkTheme ? 'light-content' : 'dark-content')
|
|
|
|
export const versionInfo = state => state.common.versionInfo
|
|
|
|
export const prevSelectListId = state => state.common.setting.list.prevSelectListId
|
|
export const addMusicLocationType = state => state.common.setting.list.addMusicLocationType
|
|
|
|
export const togglePlayMethod = state => state.common.setting.player.togglePlayMethod
|
|
|
|
export const downloadFileName = state => state.common.setting.download.fileName
|
|
|
|
|
|
export const sourceNameType = state => state.common.setting.sourceNameType
|
|
|
|
export const isClickPlayList = state => state.common.setting.list.isClickPlayList
|
|
|
|
export const isEnableDesktopLyric = state => state.common.setting.desktopLyric.enable
|
|
export const isLockDesktopLyric = state => state.common.setting.desktopLyric.isLock
|
|
export const themeDesktopLyric = state => state.common.setting.desktopLyric.theme
|
|
export const desktopLyricPosition = state => state.common.setting.desktopLyric.position
|
|
export const desktopLyricTextPosition = state => state.common.setting.desktopLyric.textPosition
|
|
export const desktopLyricStyle = state => state.common.setting.desktopLyric.style
|
|
export const desktopLyricSingleLine = state => state.common.setting.desktopLyric.isSingleLine
|
|
export const desktopLyricShowToggleAnima = state => state.common.setting.desktopLyric.showToggleAnima
|
|
export const desktopLyricWidth = state => state.common.setting.desktopLyric.width
|
|
export const desktopLyricMaxLineNum = state => state.common.setting.desktopLyric.maxLineNum
|
|
|
|
export const timeoutExit = state => state.common.setting.player.timeoutExit
|
|
export const timeoutExitPlayed = state => state.common.setting.player.timeoutExitPlayed
|
|
export const isShowLyricTranslation = state => state.common.setting.player.isShowLyricTranslation
|
|
export const isShowLyricRoma = state => state.common.setting.player.isShowLyricRoma
|
|
export const isS2t = state => state.common.setting.player.isS2t
|
|
|
|
export const activeApiSourceId = state => state.common.setting.apiSource
|
|
|
|
export const isEnableSync = state => state.common.setting.sync.enable
|
|
export const syncStatus = state => state.common.syncStatus
|
|
|
|
const apiSourceListFormated = apiSourceInfo.map(api => ({
|
|
id: api.id,
|
|
name: api.name,
|
|
disabled: api.disabled,
|
|
}))
|
|
export const apiSourceList = state => apiSourceListFormated
|
|
|
|
export const supportQualitys = state => apiSourceInfo.find(s => s.id == state.common.setting.apiSource).supportQualitys
|
|
|
|
export const playerPortraitStyle = state => state.common.setting.player.portrait.style
|
|
export const playerLandscapeStyle = state => state.common.setting.player.landscape.style
|
|
|
|
export const shareType = state => state.common.setting.shareType
|
|
|
|
export const isShowNotificationImage = state => state.common.setting.player.isShowNotificationImage
|