gitextract_xgcv7u9v/ ├── .codesandbox/ │ └── ci.json ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── config.yml │ └── workflows/ │ └── main.yml ├── .gitignore ├── .husky/ │ ├── post-merge │ └── pre-commit ├── .prettierignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── demo/ │ ├── package.json │ ├── public/ │ │ ├── index.html │ │ └── manifest.json │ ├── src/ │ │ ├── App.tsx │ │ ├── GitHubRepo.tsx │ │ ├── components/ │ │ │ ├── GlobalStyles.tsx │ │ │ ├── Player.tsx │ │ │ ├── RepeatButton.tsx │ │ │ └── ShuffleButton.tsx │ │ ├── index.tsx │ │ ├── modules/ │ │ │ ├── helpers.ts │ │ │ └── theme.ts │ │ └── types.ts │ └── tsconfig.json ├── package.json ├── sonar-project.properties ├── src/ │ ├── components/ │ │ ├── Actions.tsx │ │ ├── ClickOutside.tsx │ │ ├── Controls.tsx │ │ ├── Devices.tsx │ │ ├── ErrorMessage.tsx │ │ ├── Info.tsx │ │ ├── Loader.tsx │ │ ├── Player.tsx │ │ ├── Slider.tsx │ │ ├── SpotifyLogo.tsx │ │ ├── Volume.tsx │ │ ├── Wrapper.tsx │ │ └── icons/ │ │ ├── Devices.tsx │ │ ├── DevicesComputer.tsx │ │ ├── DevicesMobile.tsx │ │ ├── DevicesSpeaker.tsx │ │ ├── Favorite.tsx │ │ ├── FavoriteOutline.tsx │ │ ├── Next.tsx │ │ ├── Pause.tsx │ │ ├── Play.tsx │ │ ├── Previous.tsx │ │ ├── VolumeHigh.tsx │ │ ├── VolumeLow.tsx │ │ ├── VolumeMid.tsx │ │ └── VolumeMute.tsx │ ├── constants.ts │ ├── index.tsx │ ├── modules/ │ │ ├── getters.ts │ │ ├── helpers.ts │ │ ├── hooks.ts │ │ ├── spotify.ts │ │ └── styled.tsx │ └── types/ │ ├── common.ts │ ├── index.ts │ └── spotify.ts ├── test/ │ ├── __setup__/ │ │ ├── global.d.ts │ │ └── vitest.setup.ts │ ├── __snapshots__/ │ │ ├── constants.spec.ts.snap │ │ └── index.spec.tsx.snap │ ├── constants.spec.ts │ ├── fixtures/ │ │ ├── data.ts │ │ └── helpers.ts │ ├── index.spec.tsx │ ├── modules/ │ │ ├── __snapshots__/ │ │ │ └── getters.spec.ts.snap │ │ ├── getters.spec.ts │ │ ├── helpers.spec.ts │ │ └── spotify.spec.ts │ └── tsconfig.json ├── tsconfig.json └── vitest.config.mts