├── .eslintrc.json ├── .gitignore ├── LICENSE ├── README.md ├── actions ├── getActiveProductsWithPrices.ts ├── getLikedSongs.ts ├── getSongs.ts ├── getSongsByArtist.ts ├── getSongsByTitle.ts └── getSongsByUserId.ts ├── app ├── (site) │ ├── components │ │ ├── PageContent.tsx │ │ └── Welcome.tsx │ ├── error.tsx │ ├── loading.tsx │ └── page.tsx ├── account │ ├── components │ │ └── AccountContent.tsx │ ├── error.tsx │ ├── loading.tsx │ └── page.tsx ├── api │ ├── create-checkout-session │ │ └── route.ts │ ├── create-portal-link │ │ └── route.ts │ └── webhooks │ │ └── route.ts ├── favorites │ ├── components │ │ └── FavoriteContent.tsx │ ├── error.tsx │ ├── loading.tsx │ └── page.tsx ├── globals.css ├── icon.ico ├── layout.tsx └── search │ ├── components │ └── SearchContent.tsx │ ├── error.tsx │ ├── loading.tsx │ └── page.tsx ├── components ├── Box.tsx ├── Button.tsx ├── Header.tsx ├── Input.tsx ├── Library.tsx ├── LikeButton.tsx ├── ListItem.tsx ├── MediaItem.tsx ├── PlayButton.tsx ├── Player.tsx ├── PlayerContent.tsx ├── SearchInput.tsx ├── Seekbar.tsx ├── Sidebar.tsx ├── SidebarItem.tsx ├── Slider.tsx ├── SongItem.tsx └── modals │ ├── AuthModal.tsx │ ├── Modal.tsx │ ├── PlayerModal.tsx │ ├── SubscribeModal.tsx │ └── UploadModal.tsx ├── hooks ├── useAuthModal.ts ├── useDebounce.ts ├── useGetSongById.ts ├── useLoadImage.ts ├── useLoadSong.ts ├── useOnPlay.ts ├── usePlayer.tsx ├── usePlayerModal.ts ├── useSubscribeModal.ts ├── useUploadModal.ts └── useUser.tsx ├── libs ├── helpers.ts ├── stripe.ts ├── stripeClient.ts └── supabaseAdmin.ts ├── middleware └── middleware.ts ├── next.config.js ├── package.json ├── postcss.config.js ├── providers ├── ModalProvider.tsx ├── SupabaseProvider.tsx ├── ToasterProvider.tsx └── UserProvider.tsx ├── public ├── images │ └── liked.png ├── next.svg └── vercel.svg ├── screenshots ├── homepage.png ├── mobileplayer.jpg └── stripe.png ├── tailwind.config.js ├── tsconfig.json ├── types.ts └── types_db.ts /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/README.md -------------------------------------------------------------------------------- /actions/getActiveProductsWithPrices.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/actions/getActiveProductsWithPrices.ts -------------------------------------------------------------------------------- /actions/getLikedSongs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/actions/getLikedSongs.ts -------------------------------------------------------------------------------- /actions/getSongs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/actions/getSongs.ts -------------------------------------------------------------------------------- /actions/getSongsByArtist.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/actions/getSongsByArtist.ts -------------------------------------------------------------------------------- /actions/getSongsByTitle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/actions/getSongsByTitle.ts -------------------------------------------------------------------------------- /actions/getSongsByUserId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/actions/getSongsByUserId.ts -------------------------------------------------------------------------------- /app/(site)/components/PageContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/(site)/components/PageContent.tsx -------------------------------------------------------------------------------- /app/(site)/components/Welcome.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/(site)/components/Welcome.tsx -------------------------------------------------------------------------------- /app/(site)/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/(site)/error.tsx -------------------------------------------------------------------------------- /app/(site)/loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/(site)/loading.tsx -------------------------------------------------------------------------------- /app/(site)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/(site)/page.tsx -------------------------------------------------------------------------------- /app/account/components/AccountContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/account/components/AccountContent.tsx -------------------------------------------------------------------------------- /app/account/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/account/error.tsx -------------------------------------------------------------------------------- /app/account/loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/account/loading.tsx -------------------------------------------------------------------------------- /app/account/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/account/page.tsx -------------------------------------------------------------------------------- /app/api/create-checkout-session/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/api/create-checkout-session/route.ts -------------------------------------------------------------------------------- /app/api/create-portal-link/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/api/create-portal-link/route.ts -------------------------------------------------------------------------------- /app/api/webhooks/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/api/webhooks/route.ts -------------------------------------------------------------------------------- /app/favorites/components/FavoriteContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/favorites/components/FavoriteContent.tsx -------------------------------------------------------------------------------- /app/favorites/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/favorites/error.tsx -------------------------------------------------------------------------------- /app/favorites/loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/favorites/loading.tsx -------------------------------------------------------------------------------- /app/favorites/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/favorites/page.tsx -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/globals.css -------------------------------------------------------------------------------- /app/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/icon.ico -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /app/search/components/SearchContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/search/components/SearchContent.tsx -------------------------------------------------------------------------------- /app/search/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/search/error.tsx -------------------------------------------------------------------------------- /app/search/loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/search/loading.tsx -------------------------------------------------------------------------------- /app/search/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/app/search/page.tsx -------------------------------------------------------------------------------- /components/Box.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Box.tsx -------------------------------------------------------------------------------- /components/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Button.tsx -------------------------------------------------------------------------------- /components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Header.tsx -------------------------------------------------------------------------------- /components/Input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Input.tsx -------------------------------------------------------------------------------- /components/Library.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Library.tsx -------------------------------------------------------------------------------- /components/LikeButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/LikeButton.tsx -------------------------------------------------------------------------------- /components/ListItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/ListItem.tsx -------------------------------------------------------------------------------- /components/MediaItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/MediaItem.tsx -------------------------------------------------------------------------------- /components/PlayButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/PlayButton.tsx -------------------------------------------------------------------------------- /components/Player.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Player.tsx -------------------------------------------------------------------------------- /components/PlayerContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/PlayerContent.tsx -------------------------------------------------------------------------------- /components/SearchInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/SearchInput.tsx -------------------------------------------------------------------------------- /components/Seekbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Seekbar.tsx -------------------------------------------------------------------------------- /components/Sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Sidebar.tsx -------------------------------------------------------------------------------- /components/SidebarItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/SidebarItem.tsx -------------------------------------------------------------------------------- /components/Slider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/Slider.tsx -------------------------------------------------------------------------------- /components/SongItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/SongItem.tsx -------------------------------------------------------------------------------- /components/modals/AuthModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/modals/AuthModal.tsx -------------------------------------------------------------------------------- /components/modals/Modal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/modals/Modal.tsx -------------------------------------------------------------------------------- /components/modals/PlayerModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/modals/PlayerModal.tsx -------------------------------------------------------------------------------- /components/modals/SubscribeModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/modals/SubscribeModal.tsx -------------------------------------------------------------------------------- /components/modals/UploadModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/components/modals/UploadModal.tsx -------------------------------------------------------------------------------- /hooks/useAuthModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useAuthModal.ts -------------------------------------------------------------------------------- /hooks/useDebounce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useDebounce.ts -------------------------------------------------------------------------------- /hooks/useGetSongById.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useGetSongById.ts -------------------------------------------------------------------------------- /hooks/useLoadImage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useLoadImage.ts -------------------------------------------------------------------------------- /hooks/useLoadSong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useLoadSong.ts -------------------------------------------------------------------------------- /hooks/useOnPlay.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useOnPlay.ts -------------------------------------------------------------------------------- /hooks/usePlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/usePlayer.tsx -------------------------------------------------------------------------------- /hooks/usePlayerModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/usePlayerModal.ts -------------------------------------------------------------------------------- /hooks/useSubscribeModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useSubscribeModal.ts -------------------------------------------------------------------------------- /hooks/useUploadModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useUploadModal.ts -------------------------------------------------------------------------------- /hooks/useUser.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/hooks/useUser.tsx -------------------------------------------------------------------------------- /libs/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/libs/helpers.ts -------------------------------------------------------------------------------- /libs/stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/libs/stripe.ts -------------------------------------------------------------------------------- /libs/stripeClient.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/libs/stripeClient.ts -------------------------------------------------------------------------------- /libs/supabaseAdmin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/libs/supabaseAdmin.ts -------------------------------------------------------------------------------- /middleware/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/middleware/middleware.ts -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/package.json -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/postcss.config.js -------------------------------------------------------------------------------- /providers/ModalProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/providers/ModalProvider.tsx -------------------------------------------------------------------------------- /providers/SupabaseProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/providers/SupabaseProvider.tsx -------------------------------------------------------------------------------- /providers/ToasterProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/providers/ToasterProvider.tsx -------------------------------------------------------------------------------- /providers/UserProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/providers/UserProvider.tsx -------------------------------------------------------------------------------- /public/images/liked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/public/images/liked.png -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/public/next.svg -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /screenshots/homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/screenshots/homepage.png -------------------------------------------------------------------------------- /screenshots/mobileplayer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/screenshots/mobileplayer.jpg -------------------------------------------------------------------------------- /screenshots/stripe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/screenshots/stripe.png -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/types.ts -------------------------------------------------------------------------------- /types_db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kpirabaharan/Spotify-Clone/HEAD/types_db.ts --------------------------------------------------------------------------------