gitextract_90coe0g6/ ├── .eslintrc.json ├── .gitignore ├── .husky/ │ └── pre-commit ├── .prettierignore ├── .prettierrc ├── LICENSE.txt ├── README.md ├── app/ │ ├── assets/ │ │ ├── icons/ │ │ │ ├── AnilistStatIcon.tsx │ │ │ ├── AnimeIcon.tsx │ │ │ ├── ArrowIcon.tsx │ │ │ ├── BrushIcon.tsx │ │ │ ├── CategoryIcon.tsx │ │ │ ├── ChevronDownIcon.tsx │ │ │ ├── ChevronLeftIcon.tsx │ │ │ ├── ChevronRightIcon.tsx │ │ │ ├── ChevronUpIcon.tsx │ │ │ ├── CloseIcon.tsx │ │ │ ├── DiscoverIcon.tsx │ │ │ ├── ExpandIcon.tsx │ │ │ ├── FilterIcon.tsx │ │ │ ├── FlipIcon.tsx │ │ │ ├── GlobalIcon.tsx │ │ │ ├── HistoryIcon.tsx │ │ │ ├── HomeIcon.tsx │ │ │ ├── InfoIcon.tsx │ │ │ ├── LibraryIcon.tsx │ │ │ ├── LogInIcon.tsx │ │ │ ├── LogOutIcon.tsx │ │ │ ├── MailEditIcon.tsx │ │ │ ├── MenuIcon.tsx │ │ │ ├── MoonIcon.tsx │ │ │ ├── MovieIcon.tsx │ │ │ ├── NextIcon.tsx │ │ │ ├── PaperPlusIcon.tsx │ │ │ ├── Password.tsx │ │ │ ├── PauseIcon.tsx │ │ │ ├── PhotoIcon.tsx │ │ │ ├── PlayIcon.tsx │ │ │ ├── PreviousIcon.tsx │ │ │ ├── RatioIcon.tsx │ │ │ ├── RefreshIcon.tsx │ │ │ ├── SearchIcon.tsx │ │ │ ├── SettingsIcon.tsx │ │ │ ├── ShareIcon.tsx │ │ │ ├── SortIcon.tsx │ │ │ ├── StarIcon.tsx │ │ │ ├── StopIcon.tsx │ │ │ ├── SubtitleIcon.tsx │ │ │ ├── SunIcon.tsx │ │ │ ├── TickIcon.tsx │ │ │ ├── TrendingUpIcon.tsx │ │ │ ├── TvIcon.tsx │ │ │ ├── TwoUsersIcon.tsx │ │ │ ├── UserIcon.tsx │ │ │ ├── ViewGridCardIcon.tsx │ │ │ ├── ViewGridDetailIcon.tsx │ │ │ ├── ViewGridTableIcon.tsx │ │ │ ├── VolumeOffIcon.tsx │ │ │ └── VolumeUpIcon.tsx │ │ └── lotties/ │ │ ├── external-link-black.json │ │ ├── external-link-white.json │ │ ├── lottieflow-arrow-08-1-000000-easey.json │ │ ├── lottieflow-arrow-08-1-0072F5-easey.json │ │ ├── lottieflow-arrow-08-1-FFFFFF-easey.json │ │ ├── lottieflow-arrow-08-2-000000-easey.json │ │ ├── lottieflow-arrow-08-2-FFFFFF-easey.json │ │ ├── lottieflow-dropdown-03-0072F5-easey.json │ │ ├── lottieflow-dropdown-08-0072F5-easey.json │ │ ├── lottieflow-menu-nav-11-6-000000-easey.json │ │ ├── lottieflow-menu-nav-11-6-FFFFFF-easey.json │ │ ├── lottieflow-social-networks-15-10-000000-easey.json │ │ ├── lottieflow-social-networks-15-10-FFFFFF-easey.json │ │ ├── lottieflow-social-networks-15-4-000000-easey.json │ │ ├── lottieflow-social-networks-15-4-FFFFFF-easey.json │ │ ├── lottieflow-social-networks-15-5-000000-easey.json │ │ └── lottieflow-social-networks-15-5-FFFFFF-easey.json │ ├── components/ │ │ ├── elements/ │ │ │ ├── AspectRatio.tsx │ │ │ ├── Breadcrumb.tsx │ │ │ ├── Dialog.tsx │ │ │ ├── Image.tsx │ │ │ ├── NavigationMenu.tsx │ │ │ ├── Popover.tsx │ │ │ ├── ScrollArea.tsx │ │ │ ├── SearchForm.tsx │ │ │ ├── Select.tsx │ │ │ ├── Sheet.tsx │ │ │ ├── Slider.tsx │ │ │ ├── dialog/ │ │ │ │ ├── AddSubtitleDialog.tsx │ │ │ │ ├── SearchSubtitleDialog.tsx │ │ │ │ ├── SelectProviderDialog.tsx │ │ │ │ └── WatchTrailerDialog.tsx │ │ │ ├── player/ │ │ │ │ ├── ArtPlayer.tsx │ │ │ │ ├── PlayerError.tsx │ │ │ │ ├── PlayerHotkey.ts │ │ │ │ ├── PlayerSettings.tsx │ │ │ │ └── playerStyles.ts │ │ │ ├── shared/ │ │ │ │ ├── AuthForm.tsx │ │ │ │ ├── ErrorBoundaryView.tsx │ │ │ │ ├── Filter.tsx │ │ │ │ ├── ListEpisodes.tsx │ │ │ │ ├── ListViewChangeButton.tsx │ │ │ │ ├── Rating.tsx │ │ │ │ ├── ResizablePanel.tsx │ │ │ │ └── WatchDetail.tsx │ │ │ └── tab/ │ │ │ ├── TabLink.tsx │ │ │ └── Tabs.tsx │ │ ├── layouts/ │ │ │ ├── ActionButtons.tsx │ │ │ ├── BottomNav.tsx │ │ │ ├── ControlNavigation.tsx │ │ │ ├── GlobalPlayer.tsx │ │ │ ├── Header.tsx │ │ │ ├── Layout.tsx │ │ │ ├── MobileHeader.tsx │ │ │ ├── MultiLevelDropdown.tsx │ │ │ ├── SideBar.tsx │ │ │ └── TailwindIndicator.tsx │ │ ├── media/ │ │ │ ├── MediaDetail.tsx │ │ │ ├── MediaList.tsx │ │ │ ├── PeopleDetail.tsx │ │ │ ├── item/ │ │ │ │ ├── BannerItem.tsx │ │ │ │ ├── BannerItemCompact.tsx │ │ │ │ ├── BannerItemDesktop.tsx │ │ │ │ ├── BannerItemMobile.tsx │ │ │ │ ├── CardItem.tsx │ │ │ │ ├── HistoryItem.tsx │ │ │ │ └── index.tsx │ │ │ └── list/ │ │ │ ├── MediaListBanner.tsx │ │ │ ├── MediaListCard.tsx │ │ │ ├── MediaListGrid.tsx │ │ │ └── index.tsx │ │ └── styles/ │ │ ├── nprogress.css │ │ └── primitives.ts │ ├── constants/ │ │ ├── episodeTypes.ts │ │ ├── featuredList.ts │ │ ├── filterItems.ts │ │ ├── languages.ts │ │ ├── settings.ts │ │ └── tabLinks.ts │ ├── context/ │ │ └── isbot.context.tsx │ ├── entry.client.tsx │ ├── entry.server.tsx │ ├── entry.worker.ts │ ├── root.tsx │ ├── routes/ │ │ ├── [manifest.webmanifest].ts │ │ ├── _auth+/ │ │ │ ├── sign-in.tsx │ │ │ ├── sign-out.tsx │ │ │ └── sign-up.tsx │ │ ├── _index.tsx │ │ ├── admin+/ │ │ │ ├── cache.tsx │ │ │ └── cache_.$cacheKey.ts │ │ ├── anime+/ │ │ │ ├── $animeId+/ │ │ │ │ ├── _index.tsx │ │ │ │ ├── characters.tsx │ │ │ │ ├── episodes.tsx │ │ │ │ └── staff.tsx │ │ │ ├── $animeId.tsx │ │ │ ├── $animeId_.episode.$episodeId.watch.tsx │ │ │ ├── _index.tsx │ │ │ ├── popular.tsx │ │ │ ├── random.tsx │ │ │ ├── recent-episodes.tsx │ │ │ └── trending.tsx │ │ ├── anime.tsx │ │ ├── api+/ │ │ │ ├── color-palette.ts │ │ │ ├── history.ts │ │ │ ├── image.ts │ │ │ ├── media.ts │ │ │ ├── ogimage.tsx │ │ │ ├── provider.ts │ │ │ ├── subtitles.download.ts │ │ │ ├── subtitles.search.ts │ │ │ └── youtube-video.ts │ │ ├── design-system+/ │ │ │ ├── accordion.tsx │ │ │ ├── avatar.tsx │ │ │ ├── badge.tsx │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ ├── colors.tsx │ │ │ ├── dialog.tsx │ │ │ ├── divider.tsx │ │ │ ├── icons.tsx │ │ │ ├── image.tsx │ │ │ ├── input.tsx │ │ │ ├── pagination.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── select.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── slider.tsx │ │ │ ├── switch.tsx │ │ │ ├── tabs.tsx │ │ │ ├── toast.tsx │ │ │ ├── tooltip.tsx │ │ │ ├── typography.tsx │ │ │ └── video-player.tsx │ │ ├── design-system.tsx │ │ ├── discover+/ │ │ │ ├── _index.tsx │ │ │ ├── anime.tsx │ │ │ ├── movies.tsx │ │ │ └── tv-shows.tsx │ │ ├── discover.tsx │ │ ├── genres+/ │ │ │ ├── anime.tsx │ │ │ ├── movie.tsx │ │ │ └── tv.tsx │ │ ├── genres.tsx │ │ ├── lists+/ │ │ │ ├── $listId.tsx │ │ │ └── _index.tsx │ │ ├── movies+/ │ │ │ ├── $movieId+/ │ │ │ │ ├── _index.tsx │ │ │ │ ├── cast.tsx │ │ │ │ ├── crew.tsx │ │ │ │ ├── photos.tsx │ │ │ │ ├── recommendations.tsx │ │ │ │ ├── similar.tsx │ │ │ │ └── videos.tsx │ │ │ ├── $movieId.tsx │ │ │ ├── $movieId_.watch.tsx │ │ │ ├── _index.tsx │ │ │ ├── now-playing.tsx │ │ │ ├── popular.tsx │ │ │ ├── top-rated.tsx │ │ │ └── upcoming.tsx │ │ ├── movies.tsx │ │ ├── people+/ │ │ │ ├── $peopleId+/ │ │ │ │ ├── _index.tsx │ │ │ │ ├── credits.tsx │ │ │ │ └── media.tsx │ │ │ ├── $peopleId.tsx │ │ │ └── _index.tsx │ │ ├── robots[.txt].tsx │ │ ├── search+/ │ │ │ ├── _index.tsx │ │ │ ├── anime+/ │ │ │ │ ├── $animeKeyword.tsx │ │ │ │ └── _index.tsx │ │ │ ├── movie+/ │ │ │ │ ├── $movieKeyword.tsx │ │ │ │ └── _index.tsx │ │ │ ├── people+/ │ │ │ │ ├── $peopleKeyword.tsx │ │ │ │ └── _index.tsx │ │ │ └── tv+/ │ │ │ ├── $tvKeyword.tsx │ │ │ └── _index.tsx │ │ ├── search.tsx │ │ ├── settings.tsx │ │ ├── sitemap[.]xml.tsx │ │ ├── test.tsx │ │ ├── trending+/ │ │ │ ├── $mediaType+/ │ │ │ │ ├── today.tsx │ │ │ │ └── week.tsx │ │ │ ├── $mediaType.tsx │ │ │ └── _index.tsx │ │ ├── trending.tsx │ │ ├── tv-shows+/ │ │ │ ├── $tvId+/ │ │ │ │ ├── _index.tsx │ │ │ │ ├── cast.tsx │ │ │ │ ├── crew.tsx │ │ │ │ ├── photos.tsx │ │ │ │ ├── recommendations.tsx │ │ │ │ ├── similar.tsx │ │ │ │ └── videos.tsx │ │ │ ├── $tvId.tsx │ │ │ ├── $tvId_.season.$seasonId+/ │ │ │ │ ├── _index.tsx │ │ │ │ ├── cast.tsx │ │ │ │ ├── crew.tsx │ │ │ │ ├── photos.tsx │ │ │ │ └── videos.tsx │ │ │ ├── $tvId_.season.$seasonId.tsx │ │ │ ├── $tvId_.season.$seasonId_.episode.$episodeId.watch.tsx │ │ │ ├── _index.tsx │ │ │ ├── airing-today.tsx │ │ │ ├── on-the-air.tsx │ │ │ ├── popular.tsx │ │ │ └── top-rated.tsx │ │ ├── tv-shows.tsx │ │ └── watch-history.tsx │ ├── services/ │ │ ├── aniskip/ │ │ │ └── aniskip.server.ts │ │ ├── configs.server.ts │ │ ├── consumet/ │ │ │ ├── anilist/ │ │ │ │ ├── anilist.server.ts │ │ │ │ ├── anilist.types.ts │ │ │ │ └── utils.server.ts │ │ │ └── bilibili/ │ │ │ ├── bilibili.server.ts │ │ │ ├── bilibili.types.ts │ │ │ └── utils.server.ts │ │ ├── i18n/ │ │ │ ├── i18n.config.ts │ │ │ ├── i18next.server.ts │ │ │ └── index.ts │ │ ├── kisskh/ │ │ │ ├── kisskh.server.ts │ │ │ ├── kisskh.types.ts │ │ │ └── utils.server.ts │ │ ├── loklok/ │ │ │ ├── index.ts │ │ │ ├── loklok.type.ts │ │ │ ├── media.server.ts │ │ │ ├── movie.server.ts │ │ │ ├── tv.server.ts │ │ │ └── utils.server.ts │ │ ├── open-subtitles/ │ │ │ ├── open-subtitles.server.ts │ │ │ ├── open-subtitles.types.ts │ │ │ └── utils.server.ts │ │ ├── provider.server.ts │ │ ├── supabase/ │ │ │ ├── auth.server.ts │ │ │ ├── client.server.ts │ │ │ ├── cookie.server.ts │ │ │ ├── index.ts │ │ │ ├── table.server.ts │ │ │ └── tables.sql │ │ ├── tmdb/ │ │ │ ├── tmdb.server.ts │ │ │ ├── tmdb.types.ts │ │ │ └── utils.server.ts │ │ └── youtube/ │ │ ├── utils.server.ts │ │ ├── youtube.server.ts │ │ └── youtube.types.ts │ ├── store/ │ │ ├── card/ │ │ │ └── useCardHoverStore.ts │ │ ├── layout/ │ │ │ ├── useHeaderStyle.ts │ │ │ ├── useHistoryStack.ts │ │ │ └── useLayout.ts │ │ └── player/ │ │ └── usePlayerState.ts │ ├── styles/ │ │ ├── tailwind.css │ │ └── themes.config.ts │ ├── types/ │ │ ├── handle.ts │ │ └── media.ts │ └── utils/ │ ├── client/ │ │ ├── gtags.client.ts │ │ ├── meta-tags.client.ts │ │ └── update-history.ts │ ├── encode.ts │ ├── file.ts │ ├── function.ts │ ├── index.ts │ ├── media.ts │ ├── merge-meta.ts │ ├── misc.ts │ ├── object.ts │ ├── react/ │ │ ├── ClientOnly.tsx │ │ └── hooks/ │ │ ├── useColorDarkenLighten.ts │ │ ├── useGlobalNavigationState.ts │ │ ├── useHeader.ts │ │ ├── useHydrated.ts │ │ ├── useIsomorphicLayoutEffect.ts │ │ ├── useLocalStorage.ts │ │ ├── useSplitArrayIntoPage.ts │ │ ├── useToast.ts │ │ └── useTypedRouteLoaderData.ts │ └── server/ │ ├── cache.server.ts │ ├── http.ts │ ├── og.server.tsx │ ├── singleton.server.ts │ └── toast-session.server.ts ├── package.json ├── postcss.config.js ├── public/ │ └── locales/ │ ├── en/ │ │ ├── auth.json │ │ ├── common.json │ │ ├── discover.json │ │ ├── genres.json │ │ ├── header.json │ │ ├── settings.json │ │ └── sidebar.json │ ├── fr/ │ │ ├── auth.json │ │ ├── common.json │ │ ├── discover.json │ │ ├── genres.json │ │ ├── header.json │ │ ├── settings.json │ │ └── sidebar.json │ └── vi/ │ ├── auth.json │ ├── common.json │ ├── discover.json │ ├── genres.json │ ├── header.json │ ├── settings.json │ └── sidebar.json ├── remix.config.js ├── remix.env.d.ts ├── tailwind.config.js ├── tsconfig.json └── vercel.json