├── .env ├── .eslintrc.json ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .prettierrc ├── Dockerfile ├── LICENSE ├── README.md ├── api └── index.ts ├── app ├── browse │ └── [key] │ │ └── page.tsx ├── favicon.ico ├── globals.css ├── layout.tsx ├── login │ └── page.tsx ├── page.tsx └── settings │ └── page.tsx ├── components.json ├── components ├── appbar.tsx ├── auth-provider.tsx ├── cards │ ├── collection-preview-item.tsx │ ├── element-image-preview-item.tsx │ ├── episode-preview-item.tsx │ ├── metadata-preview-item.tsx │ ├── on-deck-image-preview-item.tsx │ ├── other-image-preview-item.tsx │ └── season-preview-item.tsx ├── carousel │ ├── carousel-item-hover.tsx │ ├── carousel-item.tsx │ ├── carousel.tsx │ └── index.tsx ├── change-server-dialog.tsx ├── hero.tsx ├── hub-slider.tsx ├── providers.tsx ├── screens │ ├── library-screen.tsx │ ├── meta-screen.tsx │ └── watch-screen.tsx ├── search-provider.tsx ├── search.tsx ├── server-provider.tsx ├── settings-provider.tsx ├── theme-provier.tsx └── ui │ ├── avatar.tsx │ ├── button.tsx │ ├── checkbox.tsx │ ├── command.tsx │ ├── context-menu.tsx │ ├── dialog.tsx │ ├── drawer.tsx │ ├── input-otp.tsx │ ├── input.tsx │ ├── label.tsx │ ├── navigation-menu.tsx │ ├── popover.tsx │ ├── progress.tsx │ ├── scroll-area.tsx │ ├── select.tsx │ ├── separator.tsx │ ├── sheet.tsx │ ├── skeleton.tsx │ ├── slider.tsx │ ├── tabs.tsx │ ├── toggle-group.tsx │ ├── toggle.tsx │ └── tooltip.tsx ├── compose.yaml ├── constants.ts ├── demo.gif ├── demo.png ├── fonts ├── NetflixSans-Bold.otf ├── NetflixSans-Light.otf ├── NetflixSans-Medium.otf └── NetflixSans-Regular.otf ├── hooks ├── use-hub-item.ts ├── use-hubs.ts ├── use-is-at-top.ts ├── use-is-scroll-at-top.ts ├── use-is-size.ts ├── use-item-key-metadata.ts ├── use-item-metadata.ts ├── use-preview-muted.tsx └── use-session.tsx ├── lib ├── server.ts └── utils.ts ├── next.config.mjs ├── package.json ├── plex.d.ts ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public ├── favicon.ico ├── plex.png └── plexIcon.png ├── tailwind.config.ts ├── tsconfig.json ├── type.ts └── window.d.ts /.env: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/.prettierrc -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/README.md -------------------------------------------------------------------------------- /api/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/api/index.ts -------------------------------------------------------------------------------- /app/browse/[key]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/app/browse/[key]/page.tsx -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/app/globals.css -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /app/login/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/app/login/page.tsx -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/app/page.tsx -------------------------------------------------------------------------------- /app/settings/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/app/settings/page.tsx -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components.json -------------------------------------------------------------------------------- /components/appbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/appbar.tsx -------------------------------------------------------------------------------- /components/auth-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/auth-provider.tsx -------------------------------------------------------------------------------- /components/cards/collection-preview-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/cards/collection-preview-item.tsx -------------------------------------------------------------------------------- /components/cards/element-image-preview-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/cards/element-image-preview-item.tsx -------------------------------------------------------------------------------- /components/cards/episode-preview-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/cards/episode-preview-item.tsx -------------------------------------------------------------------------------- /components/cards/metadata-preview-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/cards/metadata-preview-item.tsx -------------------------------------------------------------------------------- /components/cards/on-deck-image-preview-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/cards/on-deck-image-preview-item.tsx -------------------------------------------------------------------------------- /components/cards/other-image-preview-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/cards/other-image-preview-item.tsx -------------------------------------------------------------------------------- /components/cards/season-preview-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/cards/season-preview-item.tsx -------------------------------------------------------------------------------- /components/carousel/carousel-item-hover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/carousel/carousel-item-hover.tsx -------------------------------------------------------------------------------- /components/carousel/carousel-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/carousel/carousel-item.tsx -------------------------------------------------------------------------------- /components/carousel/carousel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/carousel/carousel.tsx -------------------------------------------------------------------------------- /components/carousel/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/carousel/index.tsx -------------------------------------------------------------------------------- /components/change-server-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/change-server-dialog.tsx -------------------------------------------------------------------------------- /components/hero.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/hero.tsx -------------------------------------------------------------------------------- /components/hub-slider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/hub-slider.tsx -------------------------------------------------------------------------------- /components/providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/providers.tsx -------------------------------------------------------------------------------- /components/screens/library-screen.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/screens/library-screen.tsx -------------------------------------------------------------------------------- /components/screens/meta-screen.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/screens/meta-screen.tsx -------------------------------------------------------------------------------- /components/screens/watch-screen.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/screens/watch-screen.tsx -------------------------------------------------------------------------------- /components/search-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/search-provider.tsx -------------------------------------------------------------------------------- /components/search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/search.tsx -------------------------------------------------------------------------------- /components/server-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/server-provider.tsx -------------------------------------------------------------------------------- /components/settings-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/settings-provider.tsx -------------------------------------------------------------------------------- /components/theme-provier.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/theme-provier.tsx -------------------------------------------------------------------------------- /components/ui/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/avatar.tsx -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/button.tsx -------------------------------------------------------------------------------- /components/ui/checkbox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/checkbox.tsx -------------------------------------------------------------------------------- /components/ui/command.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/command.tsx -------------------------------------------------------------------------------- /components/ui/context-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/context-menu.tsx -------------------------------------------------------------------------------- /components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/dialog.tsx -------------------------------------------------------------------------------- /components/ui/drawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/drawer.tsx -------------------------------------------------------------------------------- /components/ui/input-otp.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/input-otp.tsx -------------------------------------------------------------------------------- /components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/input.tsx -------------------------------------------------------------------------------- /components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/label.tsx -------------------------------------------------------------------------------- /components/ui/navigation-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/navigation-menu.tsx -------------------------------------------------------------------------------- /components/ui/popover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/popover.tsx -------------------------------------------------------------------------------- /components/ui/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/progress.tsx -------------------------------------------------------------------------------- /components/ui/scroll-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/scroll-area.tsx -------------------------------------------------------------------------------- /components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/select.tsx -------------------------------------------------------------------------------- /components/ui/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/separator.tsx -------------------------------------------------------------------------------- /components/ui/sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/sheet.tsx -------------------------------------------------------------------------------- /components/ui/skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/skeleton.tsx -------------------------------------------------------------------------------- /components/ui/slider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/slider.tsx -------------------------------------------------------------------------------- /components/ui/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/tabs.tsx -------------------------------------------------------------------------------- /components/ui/toggle-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/toggle-group.tsx -------------------------------------------------------------------------------- /components/ui/toggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/toggle.tsx -------------------------------------------------------------------------------- /components/ui/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/components/ui/tooltip.tsx -------------------------------------------------------------------------------- /compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/compose.yaml -------------------------------------------------------------------------------- /constants.ts: -------------------------------------------------------------------------------- 1 | export const PLEX = { 2 | application: "plexy", 3 | }; 4 | -------------------------------------------------------------------------------- /demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/demo.gif -------------------------------------------------------------------------------- /demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/demo.png -------------------------------------------------------------------------------- /fonts/NetflixSans-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/fonts/NetflixSans-Bold.otf -------------------------------------------------------------------------------- /fonts/NetflixSans-Light.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/fonts/NetflixSans-Light.otf -------------------------------------------------------------------------------- /fonts/NetflixSans-Medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/fonts/NetflixSans-Medium.otf -------------------------------------------------------------------------------- /fonts/NetflixSans-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/fonts/NetflixSans-Regular.otf -------------------------------------------------------------------------------- /hooks/use-hub-item.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-hub-item.ts -------------------------------------------------------------------------------- /hooks/use-hubs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-hubs.ts -------------------------------------------------------------------------------- /hooks/use-is-at-top.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-is-at-top.ts -------------------------------------------------------------------------------- /hooks/use-is-scroll-at-top.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-is-scroll-at-top.ts -------------------------------------------------------------------------------- /hooks/use-is-size.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-is-size.ts -------------------------------------------------------------------------------- /hooks/use-item-key-metadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-item-key-metadata.ts -------------------------------------------------------------------------------- /hooks/use-item-metadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-item-metadata.ts -------------------------------------------------------------------------------- /hooks/use-preview-muted.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-preview-muted.tsx -------------------------------------------------------------------------------- /hooks/use-session.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/hooks/use-session.tsx -------------------------------------------------------------------------------- /lib/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/lib/server.ts -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/lib/utils.ts -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/package.json -------------------------------------------------------------------------------- /plex.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/plex.d.ts -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/plex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/public/plex.png -------------------------------------------------------------------------------- /public/plexIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/public/plexIcon.png -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/tsconfig.json -------------------------------------------------------------------------------- /type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricoloic/plexy/HEAD/type.ts -------------------------------------------------------------------------------- /window.d.ts: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------