Skip to content

Commit 50ce0d1

Browse files
authored
Merge pull request #2 from Unique111/fix/bugs-in-1.0.0
Fix/bugs in 1.0.0
2 parents dcfaa4c + c916c76 commit 50ce0d1

File tree

11 files changed

+1045
-59
lines changed

11 files changed

+1045
-59
lines changed

.vscode/settings.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,18 @@
11
{
2+
"editor.tabSize": 2,
3+
"javascript.validate.enable": true,
4+
"javascript.format.enable": true,
5+
"[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" },
6+
"[typescript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" },
7+
"[javascriptreact]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" },
8+
"[typescriptreact]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" },
9+
"typescript.validate.enable": true,
10+
"typescript.format.enable": true,
11+
"eslint.format.enable": true,
12+
"eslint.validate": [
13+
"javascript",
14+
"typescript",
15+
"javascriptreact",
16+
"typescriptreact"
17+
]
218
}

CHAGELOG.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# 1.0.0 (2020-05-17)
2+
3+
4+
### Bug Fixes
5+
6+
* file letter case in linux ([e994528](https://github.com/Unique111/react-netease-music/commit/e994528fda5ef62675525b6ac37613c96c5b802d))
7+
* lyric scrollbar ui ([98058df](https://github.com/Unique111/react-netease-music/commit/98058dfe8bc4a5b0b79070617d674df3790ae69a))
8+
* number, add github address ([a560127](https://github.com/Unique111/react-netease-music/commit/a56012777819790c0455701b3754570e3f50bd1c))
9+
* play progress bar ([d05d444](https://github.com/Unique111/react-netease-music/commit/d05d4448dcabd03d84523b3fb203485d5012cc68))
10+
* remove heart like button in music list ([8dfe6b7](https://github.com/Unique111/react-netease-music/commit/8dfe6b70cc2441da730217548947802a96e0a344))
11+
* remove lazy import for layout ([53702d7](https://github.com/Unique111/react-netease-music/commit/53702d7ab49774421473a7ad4480a8ff75232b47))
12+
* search input controlled to uncontrolled warning ([d894774](https://github.com/Unique111/react-netease-music/commit/d89477468540a55db235f03d24da204773e7d32d))
13+
* typo ([17ff938](https://github.com/Unique111/react-netease-music/commit/17ff9389be556f4ad0914f9b0eaadb4b28e2a53e))
14+
* when remove play history, ui does not update ([622a1b3](https://github.com/Unique111/react-netease-music/commit/622a1b388f08f7be32a66d0a9f02b8f82bf27128))
15+
16+
17+
### Features
18+
19+
* add @babel/plugin-transform-runtime to babelrc to enable async/await grammer ([6b3c8c1](https://github.com/Unique111/react-netease-music/commit/6b3c8c15b9b6f5345ea02267d9fc73ceb309967f))
20+
* add api address ([03aef4a](https://github.com/Unique111/react-netease-music/commit/03aef4a13b28e27e9df1560ea32df48f0221f821))
21+
* add axios error toaster ([e695ed6](https://github.com/Unique111/react-netease-music/commit/e695ed6eeb074e2f0327d197858375a2cd794679))
22+
* add banner click event, play music ([58b76a1](https://github.com/Unique111/react-netease-music/commit/58b76a107dcf747212b989aac090ea16ff07fe7d))
23+
* add constants.module.css ([9336c03](https://github.com/Unique111/react-netease-music/commit/9336c031f96d6efc8a183d69dace1fbde57efff4))
24+
* add docker and nginx config file ([3f11b0c](https://github.com/Unique111/react-netease-music/commit/3f11b0c085484c877f8bf843584d376ed7a17efd))
25+
* add Header Searcher UI and logic ([e0010aa](https://github.com/Unique111/react-netease-music/commit/e0010aa5575d93becc2bfd4cbcbbaf1e668743ad))
26+
* add LatestMusic Page UI and logic ([2a12151](https://github.com/Unique111/react-netease-music/commit/2a12151e82b6537426eb920d2275d915fdfa086d))
27+
* add Layout, postcss-loader, react-router-dom ([5ab34ee](https://github.com/Unique111/react-netease-music/commit/5ab34ee07d0154f1f8d176d0358d273ec3e070c1))
28+
* add localStorage helper ([41f57e4](https://github.com/Unique111/react-netease-music/commit/41f57e49e719c267f0e85ad78b41b9b7331bd723))
29+
* add login dialog ([95ea239](https://github.com/Unique111/react-netease-music/commit/95ea239fb943d6f9300acb8690f6a11640c48778))
30+
* add login logic, including apis ([1f22155](https://github.com/Unique111/react-netease-music/commit/1f22155be29a416d9fba0257c74aedf9557a546a))
31+
* add logout logic ([d4e22d4](https://github.com/Unique111/react-netease-music/commit/d4e22d429533dbfc9b1ac9a7236fca66a4f4c78b))
32+
* add logReducer, modify login/logout logic ([80de017](https://github.com/Unique111/react-netease-music/commit/80de0174a525acd4311892d438f0e002933491ed))
33+
* add lyric logic ([192be24](https://github.com/Unique111/react-netease-music/commit/192be24d6097676d9a5c4669709a312daac1d814))
34+
* add menu nav logic, favicon etc ([a0d3d01](https://github.com/Unique111/react-netease-music/commit/a0d3d01b93dffa5165ae2a90b4f02fd68e27296f))
35+
* add MusciDetail component, comment, simi songlist, simi songs logic ([a8e11bd](https://github.com/Unique111/react-netease-music/commit/a8e11bdf5e360fd7a630a2536a4fcf912dde7f33))
36+
* add Pagination component ([640815e](https://github.com/Unique111/react-netease-music/commit/640815e0885044414c1723432b109f233d336415))
37+
* add play list logic ([bb29b1e](https://github.com/Unique111/react-netease-music/commit/bb29b1eca27e980f58c88e3b120f21c590fd1c2c))
38+
* add play recode api and ui logic ([2300f9d](https://github.com/Unique111/react-netease-music/commit/2300f9d99e38ef045dfd0eed8604f7f42f232d18))
39+
* add PlayMode, PlayVolume and play logic ([a4d1c1d](https://github.com/Unique111/react-netease-music/commit/a4d1c1d2c1436ff52900d9911c9229f413cb28e5))
40+
* add playMusic reducer, context etc ([599dd16](https://github.com/Unique111/react-netease-music/commit/599dd167ee1013127838dc48e2cb578951455601))
41+
* add ProgressBar ([07d511a](https://github.com/Unique111/react-netease-music/commit/07d511acb67ef33cfc4fd93df6f926b1aa50460c))
42+
* add Recommendation, Banner logic ([5c01f03](https://github.com/Unique111/react-netease-music/commit/5c01f03df4d73afa156530aaaac76aac25fb45f7))
43+
* add Recommendation, Latest music logic ([1e8fbcd](https://github.com/Unique111/react-netease-music/commit/1e8fbcd486f804ec6ad580d96b62d81470f5179a))
44+
* add Recommendation, MV logic ([a5b9210](https://github.com/Unique111/react-netease-music/commit/a5b9210b359c11530ed7a93235d08f2c5c9deb46))
45+
* add Recommendation, Song List logic ([8816f23](https://github.com/Unique111/react-netease-music/commit/8816f238653a2da0d34108f5e140bfdb9f70b622))
46+
* add RecommendDaily page ui and logic ([715b7c5](https://github.com/Unique111/react-netease-music/commit/715b7c5ff2b2fb820e3ee47e368981038dab2900))
47+
* add search Result Page ([f2cf52f](https://github.com/Unique111/react-netease-music/commit/f2cf52f9be4c3d5b4808c6795dd6ef1abf03db68))
48+
* add Search Result Page logic, play music logic ([4f6bf44](https://github.com/Unique111/react-netease-music/commit/4f6bf44b4cd92992fbd4644fd342d3005cf8892b))
49+
* add songlist detail page ui and logic ([2af8d01](https://github.com/Unique111/react-netease-music/commit/2af8d017e6b942eb37d5151bf40828a238cbb5f6))
50+
* add Songlists Page UI and logic ([df9dcce](https://github.com/Unique111/react-netease-music/commit/df9dcceb451403c6a524b9379d1656377ef0cc14))
51+
* add use songlist ui and logic ([0fbe910](https://github.com/Unique111/react-netease-music/commit/0fbe910d1027fdc7b3f7bc0fcc4be5587ee03fa5))
52+
* add useAsyncFn hook ([35eaf2f](https://github.com/Unique111/react-netease-music/commit/35eaf2fd7392faa835e43d04503572087105f887))
53+
* add useAudio hook, refactor playMusic reducer, add audioContext ([a7172a4](https://github.com/Unique111/react-netease-music/commit/a7172a4018855ca59263df23d36328afe855a104))
54+
* add vscode setting ([b48dd4f](https://github.com/Unique111/react-netease-music/commit/b48dd4f3d197ec31139f13af02cb6a3265867252))
55+
* change site title ([be03b7d](https://github.com/Unique111/react-netease-music/commit/be03b7df7d3068f1296d24dc2562d6508d515600))
56+
* initialize project ([2502bc9](https://github.com/Unique111/react-netease-music/commit/2502bc90735dbb84b5b8efc19776167db769828f))
57+
* introduce blueprints react component library ([44fdcdb](https://github.com/Unique111/react-netease-music/commit/44fdcdbe6ce476b63c887b08aa707f6102404707))
58+
* optimize search result ui interaction, play music logic ([46a17ff](https://github.com/Unique111/react-netease-music/commit/46a17ff89d9cbd7e061e29f926297b58688abe63))
59+
* update gitignore ([fe9faac](https://github.com/Unique111/react-netease-music/commit/fe9faac6957f74ad8c26a090eedfe5b07d8789fa))
60+
61+
62+
### Performance Improvements
63+
64+
* optimize webpack bundle size, and build speed, including extract css file, lazy loading etc ([176d8bd](https://github.com/Unique111/react-netease-music/commit/176d8bd2a46df4d69cf301369a58ade9cd8ceab6))
65+
* remove playlist playhistory from reducer state ([96b7f33](https://github.com/Unique111/react-netease-music/commit/96b7f33c1a5bc54a811c21a01d326f6723969480))
66+
* use hook for Layout Footer, add requestAnimationFrame ([3c50e82](https://github.com/Unique111/react-netease-music/commit/3c50e82a5576a07e853ca0d243a272ca63eaec58))
67+
68+
69+

deploy/bash.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
3+
# Author: unique.mo
4+
5+
echo "Start to deploy react-netease-music"
6+
7+
yarn build
8+
cp -r ./dist/** /usr/share/nginx/html
9+
10+
echo "Successfully deploy react-netease-music"

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
{
22
"name": "react-netease-music",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "基于React、TypeScript的高仿网易云mac客户端播放器",
55
"main": "index.js",
66
"scripts": {
77
"dev": "webpack-dev-server --mode=development",
88
"build": "webpack --mode=production",
99
"type-check": "tsc --watch",
10-
"lint": "eslint src --ext .js,.jsx,.ts,.tsx"
10+
"lint": "eslint src --ext .js,.jsx,.ts,.tsx",
11+
"changelog-gen": "conventional-changelog -p angular -i CHAGELOG.md -s",
12+
"release": "./deploy/bash.sh"
1113
},
1214
"repository": {
1315
"type": "git",
@@ -48,6 +50,7 @@
4850
"babel-loader": "^8.1.0",
4951
"babel-plugin-import": "^1.13.0",
5052
"clean-webpack-plugin": "^3.0.0",
53+
"conventional-changelog-cli": "^2.0.34",
5154
"css-loader": "^3.5.2",
5255
"cssnano": "^4.1.10",
5356
"eslint": "^6.8.0",

src/components/Layout/Footer/PlayVolume/index.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ const PlayVolume = () => {
1515
controls?.volume(percent)
1616
}, [controls])
1717

18-
const donePercent = useMemo(() => {
19-
return Number((state?.volume || 0).toFixed(2))
18+
const originDonePercent = useMemo(() => {
19+
const volume = Number((state?.volume || 0).toFixed(2))
20+
return Math.floor(volume * 100)
2021
}, [state?.volume])
2122

2223
return (
@@ -25,7 +26,7 @@ const PlayVolume = () => {
2526
<div className={styles.progress}>
2627
<ProgressBar
2728
className={styles.bar}
28-
donePercent={donePercent}
29+
originDonePercent={originDonePercent}
2930
onBarClick={handleBarClick}
3031
/>
3132
</div>

src/components/MusicList/index.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const MusicList: React.FC<IProps> = ({ data, onPlayAll }) => {
2626
{
2727
title: '',
2828
key: 'name',
29-
width: '100px',
29+
width: '80px',
3030
render: (name: string, record: IMusic, index?: number) => {
3131
return (
3232
<div className={styles.operations}>
@@ -39,7 +39,6 @@ const MusicList: React.FC<IProps> = ({ data, onPlayAll }) => {
3939
{(index || 0) + 1}
4040
</span>
4141
)}
42-
<Icon icon='heart' iconSize={14} />
4342
<Icon icon='import' iconSize={14} />
4443
</div>
4544
)

src/components/MusicList/style.module.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
color: red;
2727
}
2828

29-
span:nth-child(2), span:nth-child(3) {
29+
span:nth-child(2) {
3030
cursor: pointer;
3131

3232
&:hover {

src/components/ProgressBar/index.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
import React from 'react'
22
import cn from 'classnames'
33

4+
import { isNumber } from 'helpers/is'
45
import styles from './style.module.css'
56

67
interface IProps {
78
className?: string,
8-
donePercent: number,
9+
donePercent?: number,
10+
originDonePercent?: number,
911
renderLabel?: () => string,
1012
onBarClick: (donePercent: number) => void
1113
}
1214

1315
const { useRef, useCallback, useMemo } = React
1416

15-
const ProgressBar: React.FC<IProps> = ({ donePercent, renderLabel, onBarClick, className }) => {
17+
const ProgressBar: React.FC<IProps> = ({ donePercent = 0, originDonePercent, renderLabel, onBarClick, className }) => {
1618
const barRef = useRef<HTMLDivElement | null>()
1719
const dotRef = useRef<HTMLDivElement | null>()
1820

@@ -32,7 +34,9 @@ const ProgressBar: React.FC<IProps> = ({ donePercent, renderLabel, onBarClick, c
3234
onBarClick(percent)
3335
}, [getPercent, onBarClick])
3436

35-
const width = useMemo(() => `${Math.floor(donePercent * 100)}%`, [donePercent])
37+
const width = useMemo(() => {
38+
return `${isNumber(originDonePercent) ? originDonePercent : donePercent * 100}%`
39+
}, [donePercent, originDonePercent])
3640

3741
return (
3842
<div

src/helpers/is.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const isNumber = (value: any): boolean => typeof value === 'number'

src/pages/App.tsx

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from 'react'
22
import { BrowserRouter, Switch, Route, Redirect } from 'react-router-dom'
33

4+
import Layout from 'components/Layout'
45
import useAudio from 'hooks/useAudio'
56
import { MODE, playList as playListLocalStorage } from 'helpers/play'
67
import playMusicReducer, { initialState, PlayMusicStateContext, PlayMusicDispatchContext, AudioContext, ACTIONS } from 'reducers/playMusic'
@@ -10,7 +11,6 @@ import ROUTES from 'constants/routes'
1011

1112
const { useReducer, useMemo, useCallback, lazy, Suspense } = React
1213

13-
const Layout = lazy(() => import('components/Layout'))
1414
const Discovery = lazy(() => import('./Discovery'))
1515
const Videos = lazy(() => import('./Videos'))
1616
const Search = lazy(() => import('./Search'))
@@ -74,32 +74,32 @@ const App = () => {
7474
}
7575
}, [musicId, playMode, audioControls, playList])
7676

77-
return (<>
78-
{audio}
79-
<Suspense fallback={null}>
80-
<BrowserRouter>
81-
<LogDispatchContext.Provider value={logDispath}>
82-
<LogStateContext.Provider value={logState}>
83-
<PlayMusicDispatchContext.Provider value={dispatch}>
84-
<PlayMusicStateContext.Provider value={state}>
85-
<AudioContext.Provider value={audioInfo}>
86-
<Layout>
77+
return (
78+
<BrowserRouter>
79+
<LogDispatchContext.Provider value={logDispath}>
80+
<LogStateContext.Provider value={logState}>
81+
<PlayMusicDispatchContext.Provider value={dispatch}>
82+
<PlayMusicStateContext.Provider value={state}>
83+
<AudioContext.Provider value={audioInfo}>
84+
<Layout>
85+
{audio}
86+
<Suspense fallback={null}>
8787
<Switch>
8888
<Route path={ROUTES.DISCOVERY} component={Discovery} />
8989
<Route path={ROUTES.VIDEOS} component={Videos} />
9090
<Route exact path={ROUTES.SEARCH} component={Search} />
9191
<Route exact path={ROUTES.SONG_LIST_DETAIL} component={SonglistDetail} />
9292
<Redirect from={ROUTES.ROOT} to={ROUTES.DEFAULT_ROUTE} />
9393
</Switch>
94-
</Layout>
95-
</AudioContext.Provider>
96-
</PlayMusicStateContext.Provider>
97-
</PlayMusicDispatchContext.Provider>
98-
</LogStateContext.Provider>
99-
</LogDispatchContext.Provider>
100-
</BrowserRouter>
101-
</Suspense>
102-
</>)
94+
</Suspense>
95+
</Layout>
96+
</AudioContext.Provider>
97+
</PlayMusicStateContext.Provider>
98+
</PlayMusicDispatchContext.Provider>
99+
</LogStateContext.Provider>
100+
</LogDispatchContext.Provider>
101+
</BrowserRouter>
102+
)
103103
}
104104

105105
export default App

0 commit comments

Comments
 (0)