Skip to content

Commit

Permalink
Merge pull request #21 from lovegaoshi/dev-noxplayer
Browse files Browse the repository at this point in the history
fix: nightly build.yml
  • Loading branch information
lovegaoshi authored Nov 25, 2023
2 parents 547d97d + 809f3d3 commit 053c82b
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 51 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ jobs:
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

- name: get custom react music player
run: git clone https://github.com/lovegaoshi/react-music-player.git ../react-jinke-music-player
run: git clone https://github.com/lovegaoshi/react-music-player.git ../react-music-player

- name: build rjmp
run: cd ../react-jinke-music-player && yarn && yarn build
run: cd ../react-music-player && yarn && yarn build

- name: Install dependencies
run: yarn; git submodule update --init --recursive
Expand Down
2 changes: 1 addition & 1 deletion src/azusa-player-mobile
4 changes: 2 additions & 2 deletions src/components/buttons/PlayerSetttingsButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import Tooltip from '@mui/material/Tooltip';
import IconButton from '@mui/material/IconButton';
import SettingsIcon from '@mui/icons-material/Settings';

import type { NoxStorage } from '@APM/types/storage';
import { StorageManagerCtx } from '@contexts/StorageManagerContext';
import { PlayerSettingDict } from '@utils/ChromeStorage';
import SettingsDialog from '../dialogs/PlayerSettingsDialog';

export default function playerSettingsButton({
Expand All @@ -24,7 +24,7 @@ export default function playerSettingsButton({
</Tooltip>
<SettingsDialog
openState={openSettingsDialog}
onClose={(settings: PlayerSettingDict) => {
onClose={(settings: NoxStorage.PlayerSettingDict) => {
if (settings) StorageManager.setPlayerSetting(settings);
setOpenSettingsDialog(false);
}}
Expand Down
17 changes: 8 additions & 9 deletions src/components/dialogs/PlayerSettingsDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,8 @@ import BuildIcon from '@mui/icons-material/Build';
import Link from '@mui/material/Link';
import Typography from '@mui/material/Typography';

import {
DEFAULT_SETTING,
EXPORT_OPTIONS,
PlayerSettingDict,
} from '@utils/ChromeStorage';
import type { NoxStorage } from '@APM/types/storage';
import { DEFAULT_SETTING, EXPORT_OPTIONS } from '@utils/ChromeStorage';
import { SkinKeys, skins, skinPreset } from '@styles/skin';
import TimerButton from '../buttons/TimerButton';
import {
Expand Down Expand Up @@ -61,7 +58,7 @@ const AddFavIcon = {
interface props {
onClose: Function;
openState: boolean;
settings: PlayerSettingDict;
settings: NoxStorage.PlayerSettingDict;
}
export default function SettingsDialog({
onClose,
Expand Down Expand Up @@ -168,14 +165,14 @@ export default function SettingsDialog({

const syncSetttingButtons = () => {
switch (settingExportLocation) {
case EXPORT_OPTIONS.dropbox:
case EXPORT_OPTIONS.DROPBOX:
return (
<React.Fragment>
{ExportSyncFavButton(AddFavIcon)}
{ImportSyncFavButton(AddFavIcon)}
</React.Fragment>
);
case EXPORT_OPTIONS.personal:
case EXPORT_OPTIONS.PERSONAL:
return (
<React.Fragment>
{PersonalExportSyncFavButton(AddFavIcon, personalCloudIP)}
Expand Down Expand Up @@ -204,7 +201,9 @@ export default function SettingsDialog({
label='云同步选择'
margin='dense'
select
onChange={(e) => setSettingExportLocation(e.target.value)}
onChange={(e) =>
setSettingExportLocation(e.target.value as EXPORT_OPTIONS)
}
style={{ minWidth: 100 }}
>
{Object.values(EXPORT_OPTIONS).map((v, i) => {
Expand Down
Empty file added src/enums/storage.ts
Empty file.
60 changes: 23 additions & 37 deletions src/utils/ChromeStorage.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import { v4 as uuidv4 } from 'uuid';

import type { NoxStorage } from '@APM/types/storage';
import {
DEFAULT_SETTING as DEFAULT_SETTING_BASE,
EXPORT_OPTIONS,
} from '@APM/enums/Storage';

export { EXPORT_OPTIONS } from '@APM/enums/Storage';

// https://space.bilibili.com/5053504/channel/seriesdetail?sid=2664851
export const INITIAL_PLAYLIST = ['5053504', '2664851'];
export const MY_FAV_LIST_KEY = 'MyFavList';
Expand All @@ -10,31 +18,6 @@ export const PLAYER_SETTINGS = 'PlayerSetting';
export const CURRENT_PLAYING = 'CurrentPlaying';
export const FAVLIST_AUTO_UPDATE_TIMESTAMP = 'favListAutoUpdateTimestamp';

export const EXPORT_OPTIONS = {
local: '本地',
dropbox: 'Dropbox',
personal: '私有云',
};

export interface PlayerSettingDict {
playMode: string;
defaultPlayMode: string;
defaultVolume: number;
autoRSSUpdate: boolean;
skin: string;
parseSongName: boolean;
keepSearchedSongListWhenPlaying: boolean;
settingExportLocation: string;
personalCloudIP: string;
noxVersion: string;
hideCoverInMobile: boolean;
loadPlaylistAsArtist: boolean;
sendBiliHeartbeat: boolean;
noCookieBiliSearch: boolean;
fastBiliSearch: boolean;
[key: string]: any;
}

export interface PlayListDict {
songList: Array<NoxMedia.Song>;
info: { title: string; id: string };
Expand Down Expand Up @@ -78,15 +61,17 @@ export const dummyFavFavList = () => {
return favfavlist;
};

export const DEFAULT_SETTING: PlayerSettingDict = {
export const DEFAULT_SETTING: NoxStorage.PlayerSettingDict = {
...DEFAULT_SETTING_BASE,

playMode: 'shufflePlay',
defaultPlayMode: 'shufflePlay',
defaultVolume: 1,
autoRSSUpdate: false,
skin: '诺莺nox',
parseSongName: false,
keepSearchedSongListWhenPlaying: false,
settingExportLocation: EXPORT_OPTIONS.local,
settingExportLocation: EXPORT_OPTIONS.LOCAL,
personalCloudIP: '',
noxVersion: chrome.runtime.getManifest().version,
hideCoverInMobile: false,
Expand Down Expand Up @@ -137,16 +122,17 @@ export const clearStorage = async () => {
* if setting is not initialized, initialize and return the default one.
* @returns playerSetting
*/
export const getPlayerSetting = async (): Promise<PlayerSettingDict> => {
const settings = (await readLocalStorage(
PLAYER_SETTINGS,
)) as PlayerSettingDict;
// console.log(settings)
if (settings === undefined) {
return DEFAULT_SETTING;
}
return settings;
};
export const getPlayerSetting =
async (): Promise<NoxStorage.PlayerSettingDict> => {
const settings = (await readLocalStorage(
PLAYER_SETTINGS,
)) as NoxStorage.PlayerSettingDict;
// console.log(settings)
if (settings === undefined) {
return DEFAULT_SETTING;
}
return settings;
};

/**
* wrapper for getting the current playerSetting's value given a key.
Expand Down

0 comments on commit 053c82b

Please sign in to comment.