From f0c43c34d916eefcc2f5404f8a5fa44f31f6bd75 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 4 Jan 2022 01:14:50 -0500 Subject: [PATCH] category dropdown wip --- .../tts_model_list/MultiDropdownSearch.tsx | 92 +++++++++++++++++++ .../tts/tts_model_list/TtsModelListFc.tsx | 12 ++- 2 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 fakeyou/src/v2/view/tts/tts_model_list/MultiDropdownSearch.tsx diff --git a/fakeyou/src/v2/view/tts/tts_model_list/MultiDropdownSearch.tsx b/fakeyou/src/v2/view/tts/tts_model_list/MultiDropdownSearch.tsx new file mode 100644 index 0000000000..5bdc34f915 --- /dev/null +++ b/fakeyou/src/v2/view/tts/tts_model_list/MultiDropdownSearch.tsx @@ -0,0 +1,92 @@ +import React, { useEffect, useCallback, useState } from 'react'; +import { TtsCategory } from '../../../api/category/ListTtsCategories'; +import { TtsModelListItem } from '../../../api/tts/ListTtsModels'; + +interface Props { + allTtsCategories: TtsCategory[], + //allTtsModels: TtsModelListItem[], +} + +//interface TtsModelLite { +// ttsModelToken: string, +// categoryTokens: string[], +//} +// +//interface CategoryLite { +// categoryToken: string, +// maybeParentCategoryToken?: string, +//} + +/* +rootCat + .children[] + .allVoices[] + +rootCat + .children[] + .allVoices[] +*/ + +export function MultiDropdownSearch(props: Props) { + const { allTtsCategories } = props; + + // [dropdownLevel][categories] + // Outer array has length of at least one, one element per {dropdownOptions}); + } + + return ( +
+ {dropdowns} +
+ ) +} \ No newline at end of file diff --git a/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListFc.tsx b/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListFc.tsx index 8c686a30c5..89fdafe2be 100644 --- a/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListFc.tsx +++ b/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListFc.tsx @@ -15,6 +15,7 @@ import { ListTtsModels, TtsModelListItem } from '../../../api/tts/ListTtsModels' import { GravatarFc } from '../../_common/GravatarFc'; import { TtsModelListNotice } from './TtsModelListNotice'; import { ListTtsCategories, ListTtsCategoriesIsError, ListTtsCategoriesIsOk, TtsCategory } from '../../../api/category/ListTtsCategories'; +import { MultiDropdownSearch } from './MultiDropdownSearch'; export interface EnqueueJobResponsePayload { @@ -224,12 +225,17 @@ function TtsModelListFc(props: Props) {
+ +
+
- +
+
+