From 6d5e8905d6a676ca966fa32f6823ebc1409caabe Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Wed, 19 Jun 2019 20:11:45 +0300 Subject: Post: user tags --- vnext/src/ui/Post.js | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'vnext/src/ui/Post.js') diff --git a/vnext/src/ui/Post.js b/vnext/src/ui/Post.js index dc1c7a9d..662f9f78 100644 --- a/vnext/src/ui/Post.js +++ b/vnext/src/ui/Post.js @@ -1,16 +1,18 @@ -import React, { memo } from 'react'; +import React, { useState } from 'react'; import ReactRouterPropTypes from 'react-router-prop-types'; import { UserType } from './Types'; import qs from 'qs'; +import Button from './Button'; import MessageInput from './MessageInput'; import { post, update } from '../api'; -function PostComponent({ location, visitor, history }) { +export default function Post({ location, visitor, history }) { let draftMessage = (location.state || {}).draft || {}; + let [draft, setDraft] = useState(draftMessage.body); let params = qs.parse(window.location.search.substring(1)); let postMessage = (template) => { const { attach, body } = template; @@ -23,18 +25,32 @@ function PostComponent({ location, visitor, history }) { } }).catch(console.log); }; + let appendTag = (tag) => { + setDraft(prevDraft => { + return `${prevDraft || ''} *${tag} `; + }); + }; return (
- + *weather It is very cold today! - + + { + visitor.tagStats && +
+

Tags:

+ { + visitor.tagStats.map(t => { + return (); + }) + } +
+ }
); } -export default memo(PostComponent); - -PostComponent.propTypes = { +Post.propTypes = { location: ReactRouterPropTypes.location, history: ReactRouterPropTypes.history.isRequired, visitor: UserType -- cgit v1.2.3