import React from "react"; import * as GQL from "src/core/generated-graphql"; import { LoadingIndicator } from "src/components/Shared"; import { SettingSection } from "./SettingSection"; import { BooleanSetting, ModalSetting, NumberSetting, SelectSetting, StringListSetting, StringSetting, } from "./Inputs"; import { SettingStateContext } from "./context"; import { VideoPreviewInput, VideoPreviewSettingsInput, } from "./GeneratePreviewOptions"; export const SettingsConfigurationPanel: React.FC = () => { const { general, loading, error, saveGeneral } = React.useContext( SettingStateContext ); const transcodeQualities = [ GQL.StreamingResolutionEnum.Low, GQL.StreamingResolutionEnum.Standard, GQL.StreamingResolutionEnum.StandardHd, GQL.StreamingResolutionEnum.FullHd, GQL.StreamingResolutionEnum.FourK, GQL.StreamingResolutionEnum.Original, ].map(resolutionToString); function resolutionToString(r: GQL.StreamingResolutionEnum | undefined) { switch (r) { case GQL.StreamingResolutionEnum.Low: return "240p"; case GQL.StreamingResolutionEnum.Standard: return "480p"; case GQL.StreamingResolutionEnum.StandardHd: return "720p"; case GQL.StreamingResolutionEnum.FullHd: return "1080p"; case GQL.StreamingResolutionEnum.FourK: return "4k"; case GQL.StreamingResolutionEnum.Original: return "Original"; } return "Original"; } function translateQuality(quality: string) { switch (quality) { case "240p": return GQL.StreamingResolutionEnum.Low; case "480p": return GQL.StreamingResolutionEnum.Standard; case "720p": return GQL.StreamingResolutionEnum.StandardHd; case "1080p": return GQL.StreamingResolutionEnum.FullHd; case "4k": return GQL.StreamingResolutionEnum.FourK; case "Original": return GQL.StreamingResolutionEnum.Original; } return GQL.StreamingResolutionEnum.Original; } const namingHashAlgorithms = [ GQL.HashAlgorithm.Md5, GQL.HashAlgorithm.Oshash, ].map(namingHashToString); function namingHashToString(value: GQL.HashAlgorithm | undefined) { switch (value) { case GQL.HashAlgorithm.Oshash: return "oshash"; case GQL.HashAlgorithm.Md5: return "MD5"; } return "MD5"; } function translateNamingHash(value: string) { switch (value) { case "oshash": return GQL.HashAlgorithm.Oshash; case "MD5": return GQL.HashAlgorithm.Md5; } return GQL.HashAlgorithm.Md5; } if (error) return