import classNames from "classnames";
import { useMemo } from "react";
import { Trans, useTranslation } from "react-i18next";
import { useNavigate } from "react-router-dom";
import { getAllProviders, getProviders } from "@/backend/providers/providers";
import { Button } from "@/components/buttons/Button";
import { Toggle } from "@/components/buttons/Toggle";
import { FlagIcon } from "@/components/FlagIcon";
import { Dropdown } from "@/components/form/Dropdown";
import { SortableList } from "@/components/form/SortableList";
import { Heading1 } from "@/components/utils/Text";
import { appLanguageOptions } from "@/setup/i18n";
import { isAutoplayAllowed } from "@/utils/autoplay";
import { getLocaleInfo, sortLangCodes } from "@/utils/language";
export function PreferencesPart(props: {
language: string;
setLanguage: (l: string) => void;
enableThumbnails: boolean;
setEnableThumbnails: (v: boolean) => void;
enableAutoplay: boolean;
setEnableAutoplay: (v: boolean) => void;
enableSkipCredits: boolean;
setEnableSkipCredits: (v: boolean) => void;
sourceOrder: string[];
setSourceOrder: (v: string[]) => void;
enableSourceOrder: boolean;
setenableSourceOrder: (v: boolean) => void;
}) {
const { t } = useTranslation();
const sorted = sortLangCodes(appLanguageOptions.map((item) => item.code));
const allowAutoplay = isAutoplayAllowed();
const options = appLanguageOptions
.sort((a, b) => sorted.indexOf(a.code) - sorted.indexOf(b.code))
.map((opt) => ({
id: opt.code,
name: `${opt.name}${opt.nativeName ? ` — ${opt.nativeName}` : ""}`,
leftIcon:
{t("settings.preferences.language")}
{t("settings.preferences.languageDescription")}
{t("settings.preferences.thumbnail")}
{t("settings.preferences.thumbnailDescription")}
{t("settings.preferences.thumbnailLabel")}
{t("settings.preferences.autoplay")}
{t("settings.preferences.autoplayDescription")}
{t("settings.preferences.autoplayLabel")}
{t("settings.preferences.skipCredits")}
{t("settings.preferences.skipCreditsDescription")}
{t("settings.preferences.skipCreditsLabel")}
{t("settings.preferences.sourceOrder")}
{t("settings.preferences.sourceOrderEnableLabel")}