consoloidated providers in app.tsx to CoreServicesProvider

This commit is contained in:
Victor committed 2024-03-09 14:26:01 -08:00
1 parent e9ed1532e1
commit 2ac001cfdd
4 files changed
+165 -145

No files matched your search

+127 -144
View File
@@ -60,9 +60,7 @@ import { VoiceConversionModelUploadJob } from "@storyteller/components/src/jobs/
import { VoiceConversionModelListItem } from "@storyteller/components/src/api/voice_conversion/ListVoiceConversionModels";
import HttpBackend from "i18next-http-backend";
import { InferenceJobsProvider, NotificationProvider, SessionProvider } from "components/providers";
//this caused an error for me (Bombay) so i had to import it as a default
import ModalProvider from "components/providers/ModalProvider";
import { CoreServicesProvider } from "components/providers";
// NB: We're transitioning over to this instance of i18n-next that loads translations over HTTP from Json Files.
// The old i18n-next instance (see below) bakes in translations into the compiled javascript blob.
@@ -850,147 +848,132 @@ class App extends React.Component<Props, State> {
*/}
<div className="migrationComponentWrapper">
<NotificationProvider>
<InferenceJobsProvider
{...{ // I intend to consolidate these providers into a grouped provider for cleanliness -v
enqueue: this.enqueueInferenceJob,
byCategory: this.state.inferenceJobsByCategory,
inferenceJobs: this.state.inferenceJobs,
}}
>
<SessionProvider
{...{
querySession: this.querySession,
querySubscriptions: this.querySessionSubscriptions,
sessionSubscriptions: this.state.sessionSubscriptionsWrapper,
sessionWrapper: this.state.sessionWrapper,
sessionFetched: this.state.sessionFetched,
}}
>
<ModalProvider>
<Switch>
<Route path="/">
<PageContainer
sessionWrapper={this.state.sessionWrapper}
querySessionAction={this.querySession}
sessionSubscriptionsWrapper={
this.state.sessionSubscriptionsWrapper
}
querySessionSubscriptionsAction={
this.querySessionSubscriptions
}
isShowingVocodesNotice={
this.state.isShowingVocodesNotice
}
clearVocodesNotice={this.clearVocodesNotice}
isShowingLangaugeNotice={
this.state.isShowingLanguageNotice
}
clearLanguageNotice={this.clearLanguageNotice}
displayLanguage={this.state.displayLanguage}
primaryLanguageCode={this.state.primaryLanguageCode}
isShowingTwitchTtsNotice={
this.state.isShowingTwitchTtsNotice
}
clearTwitchTtsNotice={this.clearTwitchTtsNotice}
isShowingPleaseFollowNotice={
this.state.isShowingPleaseFollowNotice
}
clearPleaseFollowNotice={this.clearPleaseFollowNotice}
isShowingBootstrapLanguageNotice={
this.state.isShowingBootstrapLanguageNotice
}
clearBootstrapLanguageNotice={
this.clearBootstrapLanguageNotice
}
enqueueInferenceJob={this.enqueueInferenceJob}
inferenceJobs={this.state.inferenceJobs}
inferenceJobsByCategory={
this.state.inferenceJobsByCategory
}
enqueueTtsJob={this.enqueueTtsJob}
ttsInferenceJobs={this.state.ttsInferenceJobs}
enqueueW2lJob={this.enqueueW2lJob}
w2lInferenceJobs={this.state.w2lInferenceJobs}
enqueueTtsModelUploadJob={
this.enqueueTtsModelUploadJob
}
ttsModelUploadJobs={this.state.ttsModelUploadJobs}
enqueueW2lTemplateUploadJob={
this.enqueueW2lTemplateUploadJob
}
w2lTemplateUploadJobs={
this.state.w2lTemplateUploadJobs
}
enqueueVocoderUploadJob={this.enqueueVocoderUploadJob}
vocoderUploadJobs={this.state.vocoderUploadJobs}
enqueueVoiceConversionModelUploadJob={
this.enqueueVoiceConversionModelUploadJob
}
voiceConversionModelUploadJobs={
this.state.voiceConversionModelUploadJobs
}
textBuffer={this.state.textBuffer}
setTextBuffer={this.setTextBuffer}
clearTextBuffer={this.clearTextBuffer}
ttsModels={this.props.allTtsModels}
setTtsModels={this.props.setAllTtsModels}
allTtsCategories={this.props.allTtsCategories}
setAllTtsCategories={this.props.setAllTtsCategories}
computedTtsCategoryAssignments={
this.props.computedTtsCategoryAssignments
}
setComputedTtsCategoryAssignments={
this.props.setComputedTtsCategoryAssignments
}
allTtsCategoriesByTokenMap={
this.props.allTtsCategoriesByTokenMap
}
allTtsModelsByTokenMap={
this.props.allTtsModelsByTokenMap
}
ttsModelsByCategoryToken={
this.props.ttsModelsByCategoryToken
}
dropdownCategories={this.props.dropdownCategories}
setDropdownCategories={
this.props.setDropdownCategories
}
selectedCategories={this.props.selectedCategories}
setSelectedCategories={
this.props.setSelectedCategories
}
maybeSelectedTtsModel={
this.props.maybeSelectedTtsModel
}
setMaybeSelectedTtsModel={
this.props.setMaybeSelectedTtsModel
}
selectedTtsLanguageScope={
this.props.selectedTtsLanguageScope
}
setSelectedTtsLanguageScope={
this.props.setSelectedTtsLanguageScope
}
voiceConversionModels={
this.state.voiceConversionModels
}
setVoiceConversionModels={
this.setAllVoiceConversionModels
}
maybeSelectedVoiceConversionModel={
this.state.maybeSelectedVoiceConversionModel
}
setMaybeSelectedVoiceConversionModel={
this.setMaybeSelectedVoiceConversionModel
}
/>
</Route>
</Switch>
</ModalProvider>
</SessionProvider>
</InferenceJobsProvider>
</NotificationProvider>
<CoreServicesProvider {...{
enqueue: this.enqueueInferenceJob,
querySession: this.querySession,
querySubscriptions: this.querySessionSubscriptions,
state: this.state
}}>
<Switch>
<Route path="/">
<PageContainer
sessionWrapper={this.state.sessionWrapper}
querySessionAction={this.querySession}
sessionSubscriptionsWrapper={
this.state.sessionSubscriptionsWrapper
}
querySessionSubscriptionsAction={
this.querySessionSubscriptions
}
isShowingVocodesNotice={
this.state.isShowingVocodesNotice
}
clearVocodesNotice={this.clearVocodesNotice}
isShowingLangaugeNotice={
this.state.isShowingLanguageNotice
}
clearLanguageNotice={this.clearLanguageNotice}
displayLanguage={this.state.displayLanguage}
primaryLanguageCode={this.state.primaryLanguageCode}
isShowingTwitchTtsNotice={
this.state.isShowingTwitchTtsNotice
}
clearTwitchTtsNotice={this.clearTwitchTtsNotice}
isShowingPleaseFollowNotice={
this.state.isShowingPleaseFollowNotice
}
clearPleaseFollowNotice={this.clearPleaseFollowNotice}
isShowingBootstrapLanguageNotice={
this.state.isShowingBootstrapLanguageNotice
}
clearBootstrapLanguageNotice={
this.clearBootstrapLanguageNotice
}
enqueueInferenceJob={this.enqueueInferenceJob}
inferenceJobs={this.state.inferenceJobs}
inferenceJobsByCategory={
this.state.inferenceJobsByCategory
}
enqueueTtsJob={this.enqueueTtsJob}
ttsInferenceJobs={this.state.ttsInferenceJobs}
enqueueW2lJob={this.enqueueW2lJob}
w2lInferenceJobs={this.state.w2lInferenceJobs}
enqueueTtsModelUploadJob={
this.enqueueTtsModelUploadJob
}
ttsModelUploadJobs={this.state.ttsModelUploadJobs}
enqueueW2lTemplateUploadJob={
this.enqueueW2lTemplateUploadJob
}
w2lTemplateUploadJobs={
this.state.w2lTemplateUploadJobs
}
enqueueVocoderUploadJob={this.enqueueVocoderUploadJob}
vocoderUploadJobs={this.state.vocoderUploadJobs}
enqueueVoiceConversionModelUploadJob={
this.enqueueVoiceConversionModelUploadJob
}
voiceConversionModelUploadJobs={
this.state.voiceConversionModelUploadJobs
}
textBuffer={this.state.textBuffer}
setTextBuffer={this.setTextBuffer}
clearTextBuffer={this.clearTextBuffer}
ttsModels={this.props.allTtsModels}
setTtsModels={this.props.setAllTtsModels}
allTtsCategories={this.props.allTtsCategories}
setAllTtsCategories={this.props.setAllTtsCategories}
computedTtsCategoryAssignments={
this.props.computedTtsCategoryAssignments
}
setComputedTtsCategoryAssignments={
this.props.setComputedTtsCategoryAssignments
}
allTtsCategoriesByTokenMap={
this.props.allTtsCategoriesByTokenMap
}
allTtsModelsByTokenMap={
this.props.allTtsModelsByTokenMap
}
ttsModelsByCategoryToken={
this.props.ttsModelsByCategoryToken
}
dropdownCategories={this.props.dropdownCategories}
setDropdownCategories={
this.props.setDropdownCategories
}
selectedCategories={this.props.selectedCategories}
setSelectedCategories={
this.props.setSelectedCategories
}
maybeSelectedTtsModel={
this.props.maybeSelectedTtsModel
}
setMaybeSelectedTtsModel={
this.props.setMaybeSelectedTtsModel
}
selectedTtsLanguageScope={
this.props.selectedTtsLanguageScope
}
setSelectedTtsLanguageScope={
this.props.setSelectedTtsLanguageScope
}
voiceConversionModels={
this.state.voiceConversionModels
}
setVoiceConversionModels={
this.setAllVoiceConversionModels
}
maybeSelectedVoiceConversionModel={
this.state.maybeSelectedVoiceConversionModel
}
setMaybeSelectedVoiceConversionModel={
this.setMaybeSelectedVoiceConversionModel
}
/>
</Route>
</Switch>
</CoreServicesProvider>
</div>
</div>
</div>
@@ -0,0 +1,35 @@
import React from 'react';
import { InferenceJobsProvider, ModalProvider, NotificationProvider, SessionProvider } from "components/providers";
interface Props {
children?: any,
enqueue: any
querySession: any,
querySubscriptions: any,
state: any,
}
export default function CoreServicesProvider({ children, enqueue, querySession, querySubscriptions, state }: Props) {
const sessionProps = {
querySession: querySession,
querySubscriptions,
sessionSubscriptions: state.sessionSubscriptionsWrapper,
sessionWrapper: state.sessionWrapper,
sessionFetched: state.sessionFetched,
};
const inferenceJobsProps = {
enqueue,
byCategory: state.inferenceJobsByCategory,
inferenceJobs: state.inferenceJobs,
};
return <SessionProvider {...sessionProps} >
<InferenceJobsProvider {...inferenceJobsProps}>
<NotificationProvider>
<ModalProvider>
{ children }
</ModalProvider>
</NotificationProvider>
</InferenceJobsProvider>
</SessionProvider>;
};
@@ -0,0 +1 @@
export { default } from "./CoreServicesProvider";
@@ -1,7 +1,8 @@
import AccountModalProvider from "./AccountModalProvider";
import CoreServicesProvider from "./CoreServicesProvider"
import InferenceJobsProvider from "./InferenceJobsProvider";
import ModalProvider from "./ModalProvider/ModalProvider";
import NotificationProvider from "./NotificationProvider";
import SessionProvider from "./SessionProvider";
export { AccountModalProvider, InferenceJobsProvider, ModalProvider, NotificationProvider, SessionProvider };
export { AccountModalProvider, CoreServicesProvider, InferenceJobsProvider, ModalProvider, NotificationProvider, SessionProvider };