├── .eslintrc.json ├── .gitignore ├── README.md ├── components.json ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public ├── images │ ├── OctaveBanner.png │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── black_logo.png │ ├── defaultPlaylistImage.png │ ├── defaultSongImage.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon.ico │ ├── liked-songs.webp │ ├── pixelcut-export.png │ └── site.webmanifest ├── manifest.json ├── placeholder.svg ├── sw.js └── workbox-4754cb34.js ├── src ├── app │ ├── Loading.tsx │ ├── error.tsx │ ├── fonts │ │ ├── GeistMonoVF.woff │ │ └── GeistVF.woff │ ├── globals.css │ ├── layout.tsx │ └── page.tsx ├── components │ ├── common │ │ ├── CustomContextMenu.tsx │ │ ├── SplashScreen.tsx │ │ └── TrackItem.tsx │ ├── index.tsx │ ├── layout │ │ ├── DesktopLayout.tsx │ │ └── MobileLayout.tsx │ ├── onboarding │ │ ├── Onboarding.tsx │ │ └── SpotifyToDeezer.tsx │ ├── players │ │ ├── DesktopPlayer.tsx │ │ └── mobilePlayer.tsx │ ├── service │ │ └── ServiceWorkerRegistration.tsx │ └── ui │ │ └── Avatar.tsx └── lib │ ├── api │ ├── lastfm.ts │ └── lyrics.ts │ ├── hooks │ ├── useAudio.ts │ ├── useIsMobile.ts │ └── useMediaSession.ts │ ├── managers │ ├── audioManager.ts │ ├── autoPlay.ts │ └── idbWrapper.ts │ ├── types │ └── types.ts │ └── utils │ └── utils.ts ├── tailwind.config.ts ├── tsconfig.json ├── types └── index.d.ts └── wrangler.toml /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/README.md -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/components.json -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /public/images/OctaveBanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/OctaveBanner.png -------------------------------------------------------------------------------- /public/images/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/images/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/images/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/apple-touch-icon.png -------------------------------------------------------------------------------- /public/images/black_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/black_logo.png -------------------------------------------------------------------------------- /public/images/defaultPlaylistImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/defaultPlaylistImage.png -------------------------------------------------------------------------------- /public/images/defaultSongImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/defaultSongImage.png -------------------------------------------------------------------------------- /public/images/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/favicon-16x16.png -------------------------------------------------------------------------------- /public/images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/favicon-32x32.png -------------------------------------------------------------------------------- /public/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/favicon.ico -------------------------------------------------------------------------------- /public/images/liked-songs.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/liked-songs.webp -------------------------------------------------------------------------------- /public/images/pixelcut-export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/pixelcut-export.png -------------------------------------------------------------------------------- /public/images/site.webmanifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/images/site.webmanifest -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/manifest.json -------------------------------------------------------------------------------- /public/placeholder.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/placeholder.svg -------------------------------------------------------------------------------- /public/sw.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/sw.js -------------------------------------------------------------------------------- /public/workbox-4754cb34.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/public/workbox-4754cb34.js -------------------------------------------------------------------------------- /src/app/Loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/app/Loading.tsx -------------------------------------------------------------------------------- /src/app/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/app/error.tsx -------------------------------------------------------------------------------- /src/app/fonts/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/app/fonts/GeistMonoVF.woff -------------------------------------------------------------------------------- /src/app/fonts/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/app/fonts/GeistVF.woff -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/app/globals.css -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/app/page.tsx -------------------------------------------------------------------------------- /src/components/common/CustomContextMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/common/CustomContextMenu.tsx -------------------------------------------------------------------------------- /src/components/common/SplashScreen.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/common/SplashScreen.tsx -------------------------------------------------------------------------------- /src/components/common/TrackItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/common/TrackItem.tsx -------------------------------------------------------------------------------- /src/components/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/index.tsx -------------------------------------------------------------------------------- /src/components/layout/DesktopLayout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/layout/DesktopLayout.tsx -------------------------------------------------------------------------------- /src/components/layout/MobileLayout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/layout/MobileLayout.tsx -------------------------------------------------------------------------------- /src/components/onboarding/Onboarding.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/onboarding/Onboarding.tsx -------------------------------------------------------------------------------- /src/components/onboarding/SpotifyToDeezer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/onboarding/SpotifyToDeezer.tsx -------------------------------------------------------------------------------- /src/components/players/DesktopPlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/players/DesktopPlayer.tsx -------------------------------------------------------------------------------- /src/components/players/mobilePlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/players/mobilePlayer.tsx -------------------------------------------------------------------------------- /src/components/service/ServiceWorkerRegistration.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/service/ServiceWorkerRegistration.tsx -------------------------------------------------------------------------------- /src/components/ui/Avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/components/ui/Avatar.tsx -------------------------------------------------------------------------------- /src/lib/api/lastfm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/api/lastfm.ts -------------------------------------------------------------------------------- /src/lib/api/lyrics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/api/lyrics.ts -------------------------------------------------------------------------------- /src/lib/hooks/useAudio.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/hooks/useAudio.ts -------------------------------------------------------------------------------- /src/lib/hooks/useIsMobile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/hooks/useIsMobile.ts -------------------------------------------------------------------------------- /src/lib/hooks/useMediaSession.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/hooks/useMediaSession.ts -------------------------------------------------------------------------------- /src/lib/managers/audioManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/managers/audioManager.ts -------------------------------------------------------------------------------- /src/lib/managers/autoPlay.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/managers/autoPlay.ts -------------------------------------------------------------------------------- /src/lib/managers/idbWrapper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/managers/idbWrapper.ts -------------------------------------------------------------------------------- /src/lib/types/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/types/types.ts -------------------------------------------------------------------------------- /src/lib/utils/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/src/lib/utils/utils.ts -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/types/index.d.ts -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/octave-music/frontend/HEAD/wrangler.toml --------------------------------------------------------------------------------