├── .codesandbox └── ci.json ├── .eslintignore ├── .eslintrc.cjs ├── .github ├── FUNDING.yml └── workflows │ └── ci.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── demo ├── index.html └── index.tsx ├── docs ├── .gitignore ├── components │ └── Demo.tsx ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages │ ├── _app.tsx │ ├── _meta.json │ ├── docs │ │ ├── _meta.json │ │ ├── api.mdx │ │ └── index.mdx │ └── index.mdx ├── pnpm-lock.yaml ├── postcss.config.cjs ├── theme.config.jsx └── tsconfig.json ├── package.json ├── pnpm-lock.yaml ├── postcss.config.cjs ├── renovate.json ├── screenshot.png ├── src ├── assets │ ├── loading.svg │ ├── loop-all.svg │ ├── loop-none.svg │ ├── loop-one.svg │ ├── lrc.svg │ ├── menu.svg │ ├── order-list.svg │ ├── order-random.svg │ ├── pause.svg │ ├── play.svg │ ├── right.svg │ ├── skip.svg │ ├── volume-down.svg │ ├── volume-off.svg │ └── volume-up.svg ├── components │ ├── controller.tsx │ ├── list.test.tsx │ ├── list.tsx │ ├── lyrics.test.tsx │ ├── lyrics.tsx │ ├── player.tsx │ ├── progress.tsx │ └── volume.tsx ├── constants.ts ├── hooks │ ├── useAudioControl.ts │ ├── useNotice.test.ts │ ├── useNotice.ts │ ├── usePlaylist.test.ts │ ├── usePlaylist.ts │ ├── useSetTimeout.test.ts │ ├── useSetTimeout.ts │ ├── useThemeColor.test.ts │ └── useThemeColor.ts ├── index.ts ├── styles │ └── main.css ├── types.ts └── utils │ ├── computePercentage.test.ts │ ├── computePercentage.ts │ ├── formatAudioDuration.test.ts │ ├── formatAudioDuration.ts │ ├── getImageColor.ts │ └── shuffle.ts ├── tsconfig.json ├── tsup.config.ts ├── vite.config.ts └── vitest.config.ts /.codesandbox/ci.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/.codesandbox/ci.json -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | docs 3 | postcss.config.cjs 4 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/.eslintrc.cjs -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: SevenOutman 2 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | *.log 5 | coverage 6 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist 2 | pnpm-lock.yaml -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/.prettierrc -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/README.md -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/demo/index.html -------------------------------------------------------------------------------- /demo/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/demo/index.tsx -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | .next -------------------------------------------------------------------------------- /docs/components/Demo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/components/Demo.tsx -------------------------------------------------------------------------------- /docs/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/next-env.d.ts -------------------------------------------------------------------------------- /docs/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/next.config.js -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/pages/_app.tsx -------------------------------------------------------------------------------- /docs/pages/_meta.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/pages/_meta.json -------------------------------------------------------------------------------- /docs/pages/docs/_meta.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/pages/docs/_meta.json -------------------------------------------------------------------------------- /docs/pages/docs/api.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/pages/docs/api.mdx -------------------------------------------------------------------------------- /docs/pages/docs/index.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/pages/docs/index.mdx -------------------------------------------------------------------------------- /docs/pages/index.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/pages/index.mdx -------------------------------------------------------------------------------- /docs/pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/pnpm-lock.yaml -------------------------------------------------------------------------------- /docs/postcss.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/postcss.config.cjs -------------------------------------------------------------------------------- /docs/theme.config.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/theme.config.jsx -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/docs/tsconfig.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/postcss.config.cjs -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["config:base"] 3 | } 4 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/screenshot.png -------------------------------------------------------------------------------- /src/assets/loading.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/loading.svg -------------------------------------------------------------------------------- /src/assets/loop-all.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/loop-all.svg -------------------------------------------------------------------------------- /src/assets/loop-none.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/loop-none.svg -------------------------------------------------------------------------------- /src/assets/loop-one.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/loop-one.svg -------------------------------------------------------------------------------- /src/assets/lrc.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/lrc.svg -------------------------------------------------------------------------------- /src/assets/menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/menu.svg -------------------------------------------------------------------------------- /src/assets/order-list.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/order-list.svg -------------------------------------------------------------------------------- /src/assets/order-random.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/order-random.svg -------------------------------------------------------------------------------- /src/assets/pause.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/pause.svg -------------------------------------------------------------------------------- /src/assets/play.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/play.svg -------------------------------------------------------------------------------- /src/assets/right.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/right.svg -------------------------------------------------------------------------------- /src/assets/skip.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/skip.svg -------------------------------------------------------------------------------- /src/assets/volume-down.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/volume-down.svg -------------------------------------------------------------------------------- /src/assets/volume-off.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/volume-off.svg -------------------------------------------------------------------------------- /src/assets/volume-up.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/assets/volume-up.svg -------------------------------------------------------------------------------- /src/components/controller.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/components/controller.tsx -------------------------------------------------------------------------------- /src/components/list.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/components/list.test.tsx -------------------------------------------------------------------------------- /src/components/list.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/components/list.tsx -------------------------------------------------------------------------------- /src/components/lyrics.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/components/lyrics.test.tsx -------------------------------------------------------------------------------- /src/components/lyrics.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/components/lyrics.tsx -------------------------------------------------------------------------------- /src/components/player.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/components/player.tsx -------------------------------------------------------------------------------- /src/components/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/components/progress.tsx -------------------------------------------------------------------------------- /src/components/volume.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/components/volume.tsx -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- 1 | export const defaultThemeColor = "#ebd0c2"; 2 | -------------------------------------------------------------------------------- /src/hooks/useAudioControl.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/useAudioControl.ts -------------------------------------------------------------------------------- /src/hooks/useNotice.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/useNotice.test.ts -------------------------------------------------------------------------------- /src/hooks/useNotice.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/useNotice.ts -------------------------------------------------------------------------------- /src/hooks/usePlaylist.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/usePlaylist.test.ts -------------------------------------------------------------------------------- /src/hooks/usePlaylist.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/usePlaylist.ts -------------------------------------------------------------------------------- /src/hooks/useSetTimeout.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/useSetTimeout.test.ts -------------------------------------------------------------------------------- /src/hooks/useSetTimeout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/useSetTimeout.ts -------------------------------------------------------------------------------- /src/hooks/useThemeColor.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/useThemeColor.test.ts -------------------------------------------------------------------------------- /src/hooks/useThemeColor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/hooks/useThemeColor.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/styles/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/styles/main.css -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/utils/computePercentage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/utils/computePercentage.test.ts -------------------------------------------------------------------------------- /src/utils/computePercentage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/utils/computePercentage.ts -------------------------------------------------------------------------------- /src/utils/formatAudioDuration.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/utils/formatAudioDuration.test.ts -------------------------------------------------------------------------------- /src/utils/formatAudioDuration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/utils/formatAudioDuration.ts -------------------------------------------------------------------------------- /src/utils/getImageColor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/utils/getImageColor.ts -------------------------------------------------------------------------------- /src/utils/shuffle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/src/utils/shuffle.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/tsup.config.ts -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/vite.config.ts -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SevenOutman/aplayer-react/HEAD/vitest.config.ts --------------------------------------------------------------------------------