Files
standardnotes-app-web/app/assets/javascripts/Components/ApplicationGroupView/index.tsx
2022-04-13 22:02:34 +05:30

42 lines
1.1 KiB
TypeScript

import { ApplicationGroup } from '@/UIModels/ApplicationGroup'
import { WebApplication } from '@/UIModels/Application'
import { Component } from 'preact'
import { ApplicationView } from '@/Components/ApplicationView'
type State = {
activeApplication?: WebApplication
}
type Props = {
mainApplicationGroup: ApplicationGroup
}
export class ApplicationGroupView extends Component<Props, State> {
constructor(props: Props) {
super(props)
props.mainApplicationGroup.addApplicationChangeObserver(() => {
const activeApplication = props.mainApplicationGroup.primaryApplication as WebApplication
this.setState({ activeApplication })
})
props.mainApplicationGroup.initialize().catch(console.error)
}
render() {
return (
<>
{this.state.activeApplication && (
<div id={this.state.activeApplication.identifier}>
<ApplicationView
key={this.state.activeApplication.ephemeralIdentifier}
mainApplicationGroup={this.props.mainApplicationGroup}
application={this.state.activeApplication}
/>
</div>
)}
</>
)
}
}