diff options
author | Dessalines <tyhou13@gmx.com> | 2020-01-22 16:35:29 -0500 |
---|---|---|
committer | Dessalines <tyhou13@gmx.com> | 2020-01-22 16:38:16 -0500 |
commit | 253bc3e0afb6adf64b79f334a8bc1f972aa45eba (patch) | |
tree | bdbbb36ee59ea4331c7bf7cf89e8ef554eb2d63e /ui/src/components/create-private-message.tsx | |
parent | a964b4ce21cc19eb42ae4da1a1aef8bfc0a1df5c (diff) |
Adding private messaging, and matrix user ids.
- Fixes #244
Diffstat (limited to 'ui/src/components/create-private-message.tsx')
-rw-r--r-- | ui/src/components/create-private-message.tsx | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ui/src/components/create-private-message.tsx b/ui/src/components/create-private-message.tsx new file mode 100644 index 00000000..f74d5e9f --- /dev/null +++ b/ui/src/components/create-private-message.tsx @@ -0,0 +1,52 @@ +import { Component } from 'inferno'; +import { PrivateMessageForm } from './private-message-form'; +import { WebSocketService } from '../services'; +import { PrivateMessageFormParams } from '../interfaces'; +import { i18n } from '../i18next'; + +export class CreatePrivateMessage extends Component<any, any> { + constructor(props: any, context: any) { + super(props, context); + this.handlePrivateMessageCreate = this.handlePrivateMessageCreate.bind( + this + ); + } + + componentDidMount() { + document.title = `${i18n.t('create_private_message')} - ${ + WebSocketService.Instance.site.name + }`; + } + + render() { + return ( + <div class="container"> + <div class="row"> + <div class="col-12 col-lg-6 offset-lg-3 mb-4"> + <h5>{i18n.t('create_private_message')}</h5> + <PrivateMessageForm + onCreate={this.handlePrivateMessageCreate} + params={this.params} + /> + </div> + </div> + </div> + ); + } + + get params(): PrivateMessageFormParams { + let urlParams = new URLSearchParams(this.props.location.search); + let params: PrivateMessageFormParams = { + recipient_id: Number(urlParams.get('recipient_id')), + }; + + return params; + } + + handlePrivateMessageCreate() { + alert(i18n.t('message_sent')); + + // Navigate to the front + this.props.history.push(`/`); + } +} |