From 997fba3a42f36b21156fc49f5cf4f4d5fca42bba Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 1 Mar 2022 06:49:41 -0500 Subject: [PATCH] editing works --- .../tts/tts_model_edit/TtsModelEditFc.tsx | 54 ++++++++++++++----- .../tts/tts_model_view/TtsModelViewFc.tsx | 2 +- 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/packages/fakeyou/src/v2/view/tts/tts_model_edit/TtsModelEditFc.tsx b/packages/fakeyou/src/v2/view/tts/tts_model_edit/TtsModelEditFc.tsx index 384dbcc88d..48c94cda34 100644 --- a/packages/fakeyou/src/v2/view/tts/tts_model_edit/TtsModelEditFc.tsx +++ b/packages/fakeyou/src/v2/view/tts/tts_model_edit/TtsModelEditFc.tsx @@ -9,8 +9,8 @@ import { HiddenIconFc } from '../../_icons/HiddenIcon'; import { GetTtsModel, GetTtsModelIsErr, GetTtsModelIsOk, TtsModel, TtsModelLookupError } from '@storyteller/components/src/api/tts/GetTtsModel'; import { BackLink } from '../../_common/BackLink'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faHeadphones, faHome } from '@fortawesome/free-solid-svg-icons'; -import { faTwitch } from '@fortawesome/free-brands-svg-icons'; +import { faHeadphones, faHome, faRobot } from '@fortawesome/free-solid-svg-icons'; +import { faDiscord, faTwitch } from '@fortawesome/free-brands-svg-icons'; import { DEFAULT_MODEL_LANGUAGE, SUPPORTED_MODEL_LANGUAGE_TAG_TO_FULL } from '@storyteller/components/src/i18n/SupportedModelLanguages'; const DEFAULT_VISIBILITY = 'public'; @@ -33,13 +33,14 @@ function TtsModelEditFc(props: Props) { const [notFoundState, setNotFoundState] = useState(false); // Fields - const [title, setTitle] = useState(""); - const [descriptionMarkdown, setDescriptionMarkdown] = useState(""); - const [fullLanguageTag, setFullLanguageTag] = useState(""); // NB: Should be full IETF, eg. ["en", "en-US", "es-419", etc.] - const [visibility, setVisibility] = useState(DEFAULT_VISIBILITY); - const [defaultPretrainedVocoder, setDefaultPretrainedVocoder] = useState(DEFAULT_PRETRAINED_VOCODER); - const [isFrontPageFeatured, setIsFrontPageFeatured] = useState(false); - const [isTwitchFeatured, setIsTwitchFeatured] = useState(false); + const [title, setTitle] = useState(""); + const [descriptionMarkdown, setDescriptionMarkdown] = useState(""); + const [fullLanguageTag, setFullLanguageTag] = useState(""); // NB: Should be full IETF, eg. ["en", "en-US", "es-419", etc.] + const [visibility, setVisibility] = useState(DEFAULT_VISIBILITY); + const [defaultPretrainedVocoder, setDefaultPretrainedVocoder] = useState(DEFAULT_PRETRAINED_VOCODER); + const [isFrontPageFeatured, setIsFrontPageFeatured] = useState(false); + const [isTwitchFeatured, setIsTwitchFeatured] = useState(false); + const [suggestedUniqueBotCommand, setSuggestedUniqueBotCommand] = useState(""); const getModel = useCallback(async (token) => { const model = await GetTtsModel(token); @@ -54,6 +55,7 @@ function TtsModelEditFc(props: Props) { setDefaultPretrainedVocoder(model.maybe_default_pretrained_vocoder || DEFAULT_PRETRAINED_VOCODER); setIsFrontPageFeatured(model.is_front_page_featured|| false); setIsTwitchFeatured(model.is_twitch_featured || false); + setSuggestedUniqueBotCommand(model.maybe_suggested_unique_bot_command || ""); } else if (GetTtsModelIsErr(model)) { switch(model) { @@ -105,6 +107,12 @@ function TtsModelEditFc(props: Props) { setIsTwitchFeatured(value); }; + const handleBotCommandChange = (ev: React.FormEvent) => { + const value = (ev.target as HTMLInputElement).value; + const command = value.trim(); + setSuggestedUniqueBotCommand(command); + }; + const modelLink = FrontendUrlConfig.ttsModelPage(token); const isModerator = props.sessionWrapper.canEditOtherUsersTtsModels(); @@ -136,6 +144,9 @@ function TtsModelEditFc(props: Props) { if (isModerator) { request.is_front_page_featured = isFrontPageFeatured; request.is_twitch_featured = isTwitchFeatured; + if (!!suggestedUniqueBotCommand) { + request.maybe_suggested_unique_bot_command = suggestedUniqueBotCommand; + } } fetch(endpointUrl, { @@ -198,6 +209,7 @@ function TtsModelEditFc(props: Props) { +
@@ -217,6 +229,23 @@ function TtsModelEditFc(props: Props) {
+ +
+ +
+ + + + +
+ {/*

{invalidReason}

*/} +
); } @@ -273,9 +302,10 @@ function TtsModelEditFc(props: Props) { value={fullLanguageTag} > {Array.from(SUPPORTED_MODEL_LANGUAGE_TAG_TO_FULL, ([languageTag, description]) => { - return (<> - - ); + return })} diff --git a/packages/fakeyou/src/v2/view/tts/tts_model_view/TtsModelViewFc.tsx b/packages/fakeyou/src/v2/view/tts/tts_model_view/TtsModelViewFc.tsx index e12c0a3e69..cef43a8221 100644 --- a/packages/fakeyou/src/v2/view/tts/tts_model_view/TtsModelViewFc.tsx +++ b/packages/fakeyou/src/v2/view/tts/tts_model_view/TtsModelViewFc.tsx @@ -369,7 +369,7 @@ function TtsModelViewFc(props: Props) { const language = LanguageCodeToDescriptionWithDefault(ttsModel?.ietf_language_tag) const discordCommand = !!ttsModel?.maybe_suggested_unique_bot_command ? - <>{ttsModel?.maybe_suggested_unique_bot_command} : + <>/tts {ttsModel?.maybe_suggested_unique_bot_command} : <>not set (ask a moderator in ) ; return (