gitextract_zji3jkza/ ├── .babelrc ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── release.yaml │ └── workflows/ │ ├── continuous-integration.yml │ ├── release.yml │ └── winget-releaser.yml ├── .gitignore ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── biome.json ├── index.html ├── latest.json ├── package.json ├── pnpm-workspace.yaml ├── renovate.json ├── src/ │ ├── components/ │ │ ├── Slider/ │ │ │ ├── index.tsx │ │ │ └── style.scss │ │ ├── addServerDialog/ │ │ │ └── index.tsx │ │ ├── albumMusicTrack/ │ │ │ ├── albumMusicTrack.scss │ │ │ └── index.tsx │ │ ├── alphaSelector/ │ │ │ ├── alphaSelector.scss │ │ │ └── index.tsx │ │ ├── appBar/ │ │ │ ├── appBar.scss │ │ │ ├── appBar.tsx │ │ │ ├── backOnly.tsx │ │ │ └── navigationDrawer.tsx │ │ ├── avatar/ │ │ │ ├── avatar.module.scss │ │ │ └── avatar.tsx │ │ ├── backdrop/ │ │ │ └── index.tsx │ │ ├── blurhash-canvas/ │ │ │ └── index.tsx │ │ ├── buttons/ │ │ │ ├── backButton.tsx │ │ │ ├── likeButton.tsx │ │ │ ├── markPlayedButton.tsx │ │ │ ├── playButton.tsx │ │ │ ├── playNextButton.tsx │ │ │ ├── playPreviousButtom.tsx │ │ │ ├── queueButton.scss │ │ │ ├── queueButton.tsx │ │ │ ├── quickConnectButton.tsx │ │ │ └── trailerButton.tsx │ │ ├── card/ │ │ │ ├── card.scss │ │ │ └── card.tsx │ │ ├── cardScroller/ │ │ │ ├── cardScroller.scss │ │ │ └── cardScroller.tsx │ │ ├── carousel/ │ │ │ ├── carousel.scss │ │ │ ├── index.tsx │ │ │ └── tickers.tsx │ │ ├── carouselSlide/ │ │ │ └── index.tsx │ │ ├── circularPageLoadingAnimation/ │ │ │ └── index.tsx │ │ ├── filtersDialog/ │ │ │ └── index.tsx │ │ ├── iconLink/ │ │ │ └── index.tsx │ │ ├── itemBackdrop/ │ │ │ └── index.tsx │ │ ├── itemHeader/ │ │ │ ├── index.tsx │ │ │ └── itemHeader.scss │ │ ├── layouts/ │ │ │ ├── artist/ │ │ │ │ ├── albumArtist.scss │ │ │ │ └── artistAlbum.tsx │ │ │ └── homeSection/ │ │ │ └── latestMediaSection.tsx │ │ ├── libraryHeader/ │ │ │ ├── index.tsx │ │ │ └── libraryHeader.scss │ │ ├── libraryItemsGrid/ │ │ │ ├── index.tsx │ │ │ └── libraryItemsGrid.scss │ │ ├── listItemLink/ │ │ │ └── index.tsx │ │ ├── musicTrack/ │ │ │ ├── index.tsx │ │ │ └── musicTrack.scss │ │ ├── nProgress/ │ │ │ └── index.tsx │ │ ├── notices/ │ │ │ ├── emptyNotice/ │ │ │ │ └── emptyNotice.tsx │ │ │ └── errorNotice/ │ │ │ └── errorNotice.tsx │ │ ├── outroCard/ │ │ │ ├── index.tsx │ │ │ └── outroCard.scss │ │ ├── playback/ │ │ │ ├── audioPlayer/ │ │ │ │ ├── audioPlayer.scss │ │ │ │ ├── components/ │ │ │ │ │ ├── LyricsPanel.tsx │ │ │ │ │ ├── PlayerActions.tsx │ │ │ │ │ ├── PlayerControls.tsx │ │ │ │ │ ├── PlayerInfo.tsx │ │ │ │ │ ├── PlayerProgress.tsx │ │ │ │ │ ├── PlayerVolume.tsx │ │ │ │ │ ├── QueuePanel.tsx │ │ │ │ │ └── StatsPanel.tsx │ │ │ │ └── index.tsx │ │ │ └── videoPlayer/ │ │ │ ├── EndsAtDisplay.tsx │ │ │ ├── ErrorDisplay.tsx │ │ │ ├── LoadingIndicator.tsx │ │ │ ├── ProgressDisplay.tsx │ │ │ ├── StatsForNerds.tsx │ │ │ ├── VolumeChangeOverlay.tsx │ │ │ ├── bubbleSlider/ │ │ │ │ └── index.tsx │ │ │ ├── buttons/ │ │ │ │ ├── CaptionsButton.tsx │ │ │ │ ├── ChaptersListButton.tsx │ │ │ │ ├── ForwardButton.tsx │ │ │ │ ├── FullscreenButton.tsx │ │ │ │ ├── NextChapterButton.tsx │ │ │ │ ├── PlayPauseButton.tsx │ │ │ │ ├── PrevChapterButton.tsx │ │ │ │ ├── RewindButton.tsx │ │ │ │ └── SkipSegmentButton.tsx │ │ │ ├── controls.scss │ │ │ ├── controls.tsx │ │ │ ├── settingsMenu.tsx │ │ │ ├── upNextFlyout.scss │ │ │ └── upNextFlyout.tsx │ │ ├── queueListItem/ │ │ │ └── index.tsx │ │ ├── queueTrack/ │ │ │ └── index.tsx │ │ ├── routerLoading/ │ │ │ └── index.tsx │ │ ├── search/ │ │ │ ├── index.tsx │ │ │ └── item.tsx │ │ ├── settingOption/ │ │ │ └── index.tsx │ │ ├── settingOptionSelect/ │ │ │ └── index.tsx │ │ ├── showMoreText/ │ │ │ └── index.tsx │ │ ├── skeleton/ │ │ │ ├── cards.tsx │ │ │ ├── carousel.tsx │ │ │ ├── episode.tsx │ │ │ ├── item.tsx │ │ │ ├── libraryItems.tsx │ │ │ └── seasonSelector.tsx │ │ ├── tagChip/ │ │ │ ├── index.tsx │ │ │ └── tagChip.scss │ │ ├── updater/ │ │ │ └── index.tsx │ │ ├── userAvatarMenu/ │ │ │ └── index.tsx │ │ └── utils/ │ │ ├── easterEgg.tsx │ │ └── iconsCollection.tsx │ ├── global.d.ts │ ├── main.tsx │ ├── palette.module.scss │ ├── routeTree.gen.ts │ ├── routes/ │ │ ├── __root.tsx │ │ ├── _api/ │ │ │ ├── album/ │ │ │ │ ├── $id.tsx │ │ │ │ └── album.scss │ │ │ ├── artist/ │ │ │ │ ├── $id.tsx │ │ │ │ └── artist.scss │ │ │ ├── boxset/ │ │ │ │ ├── $id.tsx │ │ │ │ └── boxset.scss │ │ │ ├── episode/ │ │ │ │ ├── $id.tsx │ │ │ │ └── episode.scss │ │ │ ├── favorite/ │ │ │ │ ├── favorite.scss │ │ │ │ └── index.tsx │ │ │ ├── home/ │ │ │ │ ├── home.scss │ │ │ │ └── index.tsx │ │ │ ├── item/ │ │ │ │ ├── $id.tsx │ │ │ │ └── item.scss │ │ │ ├── library/ │ │ │ │ ├── $id.tsx │ │ │ │ └── library.scss │ │ │ ├── login/ │ │ │ │ ├── $userId.$userName.tsx │ │ │ │ ├── list.tsx │ │ │ │ ├── login.scss │ │ │ │ └── manual.tsx │ │ │ ├── login.tsx │ │ │ ├── person/ │ │ │ │ ├── $id.tsx │ │ │ │ └── person.scss │ │ │ ├── player/ │ │ │ │ ├── audio.scss │ │ │ │ ├── audio.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── photos.scss │ │ │ │ ├── photos.tsx │ │ │ │ └── videoPlayer.scss │ │ │ ├── playlist/ │ │ │ │ ├── $id.tsx │ │ │ │ └── playlist.scss │ │ │ ├── search/ │ │ │ │ ├── index.tsx │ │ │ │ └── search.scss │ │ │ ├── series/ │ │ │ │ ├── $id.tsx │ │ │ │ └── series.scss │ │ │ ├── settings/ │ │ │ │ ├── about.scss │ │ │ │ ├── about.tsx │ │ │ │ ├── changeServer/ │ │ │ │ │ └── index.tsx │ │ │ │ └── preferences.tsx │ │ │ ├── settings.scss │ │ │ └── settings.tsx │ │ ├── _api.tsx │ │ ├── error/ │ │ │ └── $code.tsx │ │ ├── index.tsx │ │ └── setup/ │ │ ├── server.add.tsx │ │ ├── server.error.scss │ │ ├── server.error.tsx │ │ ├── server.list.tsx │ │ ├── server.scss │ │ └── serverList.scss │ ├── styles/ │ │ ├── global.scss │ │ └── variables.scss │ ├── theme.ts │ └── utils/ │ ├── browser-detection.ts │ ├── constants/ │ │ └── library.ts │ ├── date/ │ │ ├── formateDate.ts │ │ └── time.ts │ ├── hooks/ │ │ ├── useDebounce.ts │ │ ├── useDefaultSeason.ts │ │ ├── useInterval.tsx │ │ ├── useKeyPress.tsx │ │ └── useParallax.tsx │ ├── methods/ │ │ ├── getImageUrlsApi.ts │ │ ├── getSubtitles.ts │ │ ├── playback.ts │ │ └── ticksDisplay.ts │ ├── misc/ │ │ ├── debug.ts │ │ ├── konami.ts │ │ └── relaunch.ts │ ├── navigation.ts │ ├── playback-profiles/ │ │ ├── README.md │ │ ├── directplay-profile.ts │ │ ├── helpers/ │ │ │ ├── audio-formats.ts │ │ │ ├── codec-profiles.ts │ │ │ ├── fmp4-audio-formats.ts │ │ │ ├── fmp4-video-formats.ts │ │ │ ├── hls-formats.ts │ │ │ ├── mp4-audio-formats.ts │ │ │ ├── mp4-video-formats.ts │ │ │ ├── transcoding-formats.ts │ │ │ ├── ts-audio-formats.ts │ │ │ ├── ts-video-formats.ts │ │ │ ├── webm-audio-formats.ts │ │ │ └── webm-video-formats.ts │ │ ├── index.ts │ │ ├── response-profile.ts │ │ ├── subtitle-profile.ts │ │ └── transcoding-profile.ts │ ├── queries/ │ │ ├── about.ts │ │ ├── items.ts │ │ ├── library.ts │ │ └── libraryItems.ts │ ├── reducers/ │ │ └── videoPlayerReducer.ts │ ├── schema/ │ │ └── librarySearch.ts │ ├── storage/ │ │ ├── player.ts │ │ ├── servers.ts │ │ ├── settings.ts │ │ └── user.ts │ ├── store/ │ │ ├── api.tsx │ │ ├── audioPlayback.ts │ │ ├── backdrop.tsx │ │ ├── carousel.ts │ │ ├── central.tsx │ │ ├── drawer.ts │ │ ├── header.ts │ │ ├── libraryDraft.ts │ │ ├── libraryState.ts │ │ ├── photosPlayback.ts │ │ ├── playback.ts │ │ ├── queue.ts │ │ ├── search.tsx │ │ └── settings.tsx │ ├── types/ │ │ ├── audioPlaybackInfo.ts │ │ ├── introMediaInfo.ts │ │ ├── mediaQualityInfo.ts │ │ ├── playResult.ts │ │ ├── seriesBackdrop.ts │ │ └── subtitlePlaybackInfo.ts │ └── workers/ │ └── backdrop.worker.ts ├── src-tauri/ │ ├── .gitignore │ ├── Cargo.toml │ ├── build.rs │ ├── capabilities/ │ │ ├── desktop.json │ │ ├── main.json │ │ └── migrated.json │ ├── gen/ │ │ └── schemas/ │ │ ├── acl-manifests.json │ │ ├── capabilities.json │ │ ├── desktop-schema.json │ │ └── windows-schema.json │ ├── icons/ │ │ └── icon.icns │ ├── src/ │ │ └── main.rs │ └── tauri.conf.json ├── tsconfig.json └── vite.config.ts