From 910d03067e56122709f798286d7e57b18aa400b4 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 17 Aug 2021 01:29:04 -0400 Subject: [PATCH] edit model visibility --- .../v2/tts/tts_model_edit/TtsModelEditFc.tsx | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/vocodes/src/v2/tts/tts_model_edit/TtsModelEditFc.tsx b/vocodes/src/v2/tts/tts_model_edit/TtsModelEditFc.tsx index bb23b8ecdc..f178753705 100644 --- a/vocodes/src/v2/tts/tts_model_edit/TtsModelEditFc.tsx +++ b/vocodes/src/v2/tts/tts_model_edit/TtsModelEditFc.tsx @@ -6,6 +6,10 @@ import { SessionWrapper } from '../../../session/SessionWrapper'; import { TtsInferenceJob } from '../../../App'; import { useParams, Link, useHistory } from 'react-router-dom'; import { FrontendUrlConfig } from '../../../common/FrontendUrlConfig'; +import { VisibleIconFc } from '../../../icons/VisibleIconFc'; +import { HiddenIconFc } from '../../../icons/HiddenIconFc'; + +const DEFAULT_VISIBILITY = 'public'; interface TtsModelViewResponsePayload { success: boolean, @@ -22,6 +26,7 @@ interface TtsModel { creator_display_name: string, description_markdown: string, description_rendered_html: string, + creator_set_visibility: string, updatable_slug: string, created_at: string, updated_at: string, @@ -49,6 +54,7 @@ function TtsModelEditFc(props: Props) { const [ttsModel, setTtsModel] = useState(undefined); const [title, setTitle] = useState(""); const [descriptionMarkdown, setDescriptionMarkdown] = useState(""); + const [visibility, setVisibility] = useState(DEFAULT_VISIBILITY); const getModel = useCallback((token) => { const api = new ApiConfig(); @@ -70,6 +76,7 @@ function TtsModelEditFc(props: Props) { setTitle(modelsResponse.model.title || "") setDescriptionMarkdown(modelsResponse.model.description_markdown || "") + setVisibility(modelsResponse.model.creator_set_visibility || DEFAULT_VISIBILITY); setTtsModel(modelsResponse.model); }) .catch(e => {}); @@ -94,6 +101,10 @@ function TtsModelEditFc(props: Props) { return false; }; + const handleVisibilityChange = (ev: React.FormEvent) => { + setVisibility((ev.target as HTMLSelectElement).value) + }; + const modelLink = FrontendUrlConfig.ttsModelPage(token); const handleFormSubmit = (ev: React.FormEvent) => { @@ -115,6 +126,7 @@ function TtsModelEditFc(props: Props) { const request = { title: title, description_markdown: descriptionMarkdown, + creator_set_visibility: visibility || DEFAULT_VISIBILITY, } fetch(endpointUrl, { @@ -143,6 +155,8 @@ function TtsModelEditFc(props: Props) { let isDisabled = ttsModel === undefined; + const visibilityIcon = (visibility === 'public') ? : ; + return (

Edit Model

@@ -186,6 +200,22 @@ function TtsModelEditFc(props: Props) {
+
+ +
+ +
+
+