├── .gitignore ├── README.md ├── app ├── actions.ts ├── api │ └── audio │ │ └── [filename] │ │ └── route.ts ├── favicon.ico ├── globals.css ├── hooks │ ├── use-keyboard-navigation.ts │ └── use-playlist.tsx ├── layout.tsx ├── manifest.ts ├── now-playing.tsx ├── optimistic-playlists.tsx ├── p │ └── [id] │ │ ├── cover-image.tsx │ │ ├── editable-title.tsx │ │ ├── page.tsx │ │ └── track-table.tsx ├── page.tsx ├── playback-context.tsx ├── playback-controls.tsx └── search.tsx ├── components.json ├── components └── ui │ ├── button.tsx │ ├── dropdown-menu.tsx │ ├── input.tsx │ └── scroll-area.tsx ├── drizzle.config.ts ├── lib ├── db │ ├── drizzle.ts │ ├── enhance-metadata.ts │ ├── migrate.ts │ ├── migrations │ │ ├── 0000_marvelous_human_robot.sql │ │ └── meta │ │ │ ├── 0000_snapshot.json │ │ │ └── _journal.json │ ├── queries.ts │ ├── schema.ts │ ├── seed.ts │ ├── setup.ts │ └── types.ts └── utils.tsx ├── next.config.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public ├── icon-192x192.png ├── icon-512x512.png └── placeholder.svg ├── tailwind.config.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/README.md -------------------------------------------------------------------------------- /app/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/actions.ts -------------------------------------------------------------------------------- /app/api/audio/[filename]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/api/audio/[filename]/route.ts -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/globals.css -------------------------------------------------------------------------------- /app/hooks/use-keyboard-navigation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/hooks/use-keyboard-navigation.ts -------------------------------------------------------------------------------- /app/hooks/use-playlist.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/hooks/use-playlist.tsx -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /app/manifest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/manifest.ts -------------------------------------------------------------------------------- /app/now-playing.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/now-playing.tsx -------------------------------------------------------------------------------- /app/optimistic-playlists.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/optimistic-playlists.tsx -------------------------------------------------------------------------------- /app/p/[id]/cover-image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/p/[id]/cover-image.tsx -------------------------------------------------------------------------------- /app/p/[id]/editable-title.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/p/[id]/editable-title.tsx -------------------------------------------------------------------------------- /app/p/[id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/p/[id]/page.tsx -------------------------------------------------------------------------------- /app/p/[id]/track-table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/p/[id]/track-table.tsx -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/page.tsx -------------------------------------------------------------------------------- /app/playback-context.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/playback-context.tsx -------------------------------------------------------------------------------- /app/playback-controls.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/playback-controls.tsx -------------------------------------------------------------------------------- /app/search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/app/search.tsx -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/components.json -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/components/ui/button.tsx -------------------------------------------------------------------------------- /components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/components/ui/input.tsx -------------------------------------------------------------------------------- /components/ui/scroll-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/components/ui/scroll-area.tsx -------------------------------------------------------------------------------- /drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/drizzle.config.ts -------------------------------------------------------------------------------- /lib/db/drizzle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/drizzle.ts -------------------------------------------------------------------------------- /lib/db/enhance-metadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/enhance-metadata.ts -------------------------------------------------------------------------------- /lib/db/migrate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/migrate.ts -------------------------------------------------------------------------------- /lib/db/migrations/0000_marvelous_human_robot.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/migrations/0000_marvelous_human_robot.sql -------------------------------------------------------------------------------- /lib/db/migrations/meta/0000_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/migrations/meta/0000_snapshot.json -------------------------------------------------------------------------------- /lib/db/migrations/meta/_journal.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/migrations/meta/_journal.json -------------------------------------------------------------------------------- /lib/db/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/queries.ts -------------------------------------------------------------------------------- /lib/db/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/schema.ts -------------------------------------------------------------------------------- /lib/db/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/seed.ts -------------------------------------------------------------------------------- /lib/db/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/setup.ts -------------------------------------------------------------------------------- /lib/db/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/db/types.ts -------------------------------------------------------------------------------- /lib/utils.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/lib/utils.tsx -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/next.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /public/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/public/icon-192x192.png -------------------------------------------------------------------------------- /public/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/public/icon-512x512.png -------------------------------------------------------------------------------- /public/placeholder.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/public/placeholder.svg -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leerob/next-music-player/HEAD/tsconfig.json --------------------------------------------------------------------------------