├── .dockerignore ├── .env.example ├── .eslintrc.js ├── .github ├── banner.jpg └── workflows │ └── deploy.yml ├── .gitignore ├── .gitpod.Dockerfile ├── .gitpod.yml ├── .prettierignore ├── Dockerfile ├── README.md ├── app ├── components │ ├── autocomplete.tsx │ ├── icons │ │ ├── corner-down-left.tsx │ │ ├── play.tsx │ │ └── spinner.tsx │ ├── image-with-loader.tsx │ ├── logos │ │ └── webflix.tsx │ ├── video-with-preview.tsx │ ├── virtual-search-box.tsx │ └── youtube-video.tsx ├── constants.ts ├── db.server.ts ├── entry.client.tsx ├── entry.server.tsx ├── hooks │ └── useHotkeys.ts ├── images │ └── background.jpg ├── layout │ └── main.tsx ├── models │ ├── note.server.ts │ ├── show.server.ts │ └── user.server.ts ├── root.tsx ├── routes │ ├── healthcheck.tsx │ ├── index.tsx │ ├── join.tsx │ ├── login.tsx │ ├── logout.tsx │ ├── search.tsx │ └── watch │ │ └── show │ │ └── $itemId.tsx ├── search-client.ts ├── session.server.ts ├── styles │ └── app.css ├── types │ ├── Actor.ts │ ├── ActorItem.ts │ ├── AffinityMap.ts │ ├── Director.ts │ ├── MovieItem.ts │ ├── PropsWithChildrenFunction.ts │ ├── ShowItem.ts │ └── Video.ts ├── utils.test.ts └── utils.ts ├── cypress.json ├── cypress ├── .eslintrc.js ├── e2e │ └── smoke.ts ├── fixtures │ └── example.json ├── plugins │ └── index.ts ├── support │ ├── commands.ts │ ├── create-user.ts │ ├── delete-user.ts │ └── index.ts └── tsconfig.json ├── fly.toml ├── mocks ├── README.md ├── index.js └── start.ts ├── package.json ├── prisma ├── fixtures │ └── shows.json ├── migrations │ ├── 20220307190657_init │ │ └── migration.sql │ ├── 20220514183337_models │ │ └── migration.sql │ ├── 20220515012952_viewed_episodes │ │ └── migration.sql │ ├── 20220520220024_remove_notes │ │ └── migration.sql │ └── migration_lock.toml ├── schema.prisma └── seed.ts ├── public └── favicon.ico ├── remix.config.js ├── remix.env.d.ts ├── remix.init ├── gitignore ├── index.js ├── package-lock.json └── package.json ├── start.sh ├── tailwind.config.js ├── test └── setup-test-env.ts ├── tsconfig.json ├── vitest.config.ts └── yarn.lock /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.github/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.github/banner.jpg -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitpod.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.gitpod.Dockerfile -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.gitpod.yml -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/.prettierignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/README.md -------------------------------------------------------------------------------- /app/components/autocomplete.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/autocomplete.tsx -------------------------------------------------------------------------------- /app/components/icons/corner-down-left.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/icons/corner-down-left.tsx -------------------------------------------------------------------------------- /app/components/icons/play.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/icons/play.tsx -------------------------------------------------------------------------------- /app/components/icons/spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/icons/spinner.tsx -------------------------------------------------------------------------------- /app/components/image-with-loader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/image-with-loader.tsx -------------------------------------------------------------------------------- /app/components/logos/webflix.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/logos/webflix.tsx -------------------------------------------------------------------------------- /app/components/video-with-preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/video-with-preview.tsx -------------------------------------------------------------------------------- /app/components/virtual-search-box.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/virtual-search-box.tsx -------------------------------------------------------------------------------- /app/components/youtube-video.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/components/youtube-video.tsx -------------------------------------------------------------------------------- /app/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/constants.ts -------------------------------------------------------------------------------- /app/db.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/db.server.ts -------------------------------------------------------------------------------- /app/entry.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/entry.client.tsx -------------------------------------------------------------------------------- /app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/entry.server.tsx -------------------------------------------------------------------------------- /app/hooks/useHotkeys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/hooks/useHotkeys.ts -------------------------------------------------------------------------------- /app/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/images/background.jpg -------------------------------------------------------------------------------- /app/layout/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/layout/main.tsx -------------------------------------------------------------------------------- /app/models/note.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/models/note.server.ts -------------------------------------------------------------------------------- /app/models/show.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/models/show.server.ts -------------------------------------------------------------------------------- /app/models/user.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/models/user.server.ts -------------------------------------------------------------------------------- /app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/root.tsx -------------------------------------------------------------------------------- /app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/routes/index.tsx -------------------------------------------------------------------------------- /app/routes/join.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/routes/join.tsx -------------------------------------------------------------------------------- /app/routes/login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/routes/login.tsx -------------------------------------------------------------------------------- /app/routes/logout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/routes/logout.tsx -------------------------------------------------------------------------------- /app/routes/search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/routes/search.tsx -------------------------------------------------------------------------------- /app/routes/watch/show/$itemId.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/routes/watch/show/$itemId.tsx -------------------------------------------------------------------------------- /app/search-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/search-client.ts -------------------------------------------------------------------------------- /app/session.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/session.server.ts -------------------------------------------------------------------------------- /app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/styles/app.css -------------------------------------------------------------------------------- /app/types/Actor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/types/Actor.ts -------------------------------------------------------------------------------- /app/types/ActorItem.ts: -------------------------------------------------------------------------------- 1 | export type ActorItem = { label: string }; 2 | -------------------------------------------------------------------------------- /app/types/AffinityMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/types/AffinityMap.ts -------------------------------------------------------------------------------- /app/types/Director.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/types/Director.ts -------------------------------------------------------------------------------- /app/types/MovieItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/types/MovieItem.ts -------------------------------------------------------------------------------- /app/types/PropsWithChildrenFunction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/types/PropsWithChildrenFunction.ts -------------------------------------------------------------------------------- /app/types/ShowItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/types/ShowItem.ts -------------------------------------------------------------------------------- /app/types/Video.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/types/Video.ts -------------------------------------------------------------------------------- /app/utils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/utils.test.ts -------------------------------------------------------------------------------- /app/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/app/utils.ts -------------------------------------------------------------------------------- /cypress.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /cypress/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/.eslintrc.js -------------------------------------------------------------------------------- /cypress/e2e/smoke.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/e2e/smoke.ts -------------------------------------------------------------------------------- /cypress/fixtures/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/fixtures/example.json -------------------------------------------------------------------------------- /cypress/plugins/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/plugins/index.ts -------------------------------------------------------------------------------- /cypress/support/commands.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/support/commands.ts -------------------------------------------------------------------------------- /cypress/support/create-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/support/create-user.ts -------------------------------------------------------------------------------- /cypress/support/delete-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/support/delete-user.ts -------------------------------------------------------------------------------- /cypress/support/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/support/index.ts -------------------------------------------------------------------------------- /cypress/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/cypress/tsconfig.json -------------------------------------------------------------------------------- /fly.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/fly.toml -------------------------------------------------------------------------------- /mocks/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/mocks/README.md -------------------------------------------------------------------------------- /mocks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/mocks/index.js -------------------------------------------------------------------------------- /mocks/start.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/mocks/start.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/package.json -------------------------------------------------------------------------------- /prisma/fixtures/shows.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/prisma/fixtures/shows.json -------------------------------------------------------------------------------- /prisma/migrations/20220307190657_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/prisma/migrations/20220307190657_init/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20220514183337_models/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/prisma/migrations/20220514183337_models/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20220515012952_viewed_episodes/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/prisma/migrations/20220515012952_viewed_episodes/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20220520220024_remove_notes/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/prisma/migrations/20220520220024_remove_notes/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /prisma/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/prisma/seed.ts -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /remix.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/remix.config.js -------------------------------------------------------------------------------- /remix.env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/remix.env.d.ts -------------------------------------------------------------------------------- /remix.init/gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/remix.init/gitignore -------------------------------------------------------------------------------- /remix.init/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/remix.init/index.js -------------------------------------------------------------------------------- /remix.init/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/remix.init/package-lock.json -------------------------------------------------------------------------------- /remix.init/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/remix.init/package.json -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/start.sh -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /test/setup-test-env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/test/setup-test-env.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/vitest.config.ts -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarahdayan/webflix/HEAD/yarn.lock --------------------------------------------------------------------------------