From 3aee462b5ca9640c43609b288da16eec5394b382 Mon Sep 17 00:00:00 2001
From: Vitaly Takmazov
Date: Mon, 18 Jun 2018 23:27:23 +0300
Subject: fix tags navigation
---
vnext/src/components/Feeds.js | 29 ++++++++++++++++++++++-------
vnext/src/components/Message.js | 6 ++++--
2 files changed, 26 insertions(+), 9 deletions(-)
diff --git a/vnext/src/components/Feeds.js b/vnext/src/components/Feeds.js
index b8367de4..0216a1b4 100644
--- a/vnext/src/components/Feeds.js
+++ b/vnext/src/components/Feeds.js
@@ -1,21 +1,22 @@
import React from 'react';
import PropTypes from 'prop-types';
+import { Link } from 'react-router-dom';
import * as qs from 'query-string';
import Message from './Message';
import Spinner from './Spinner';
export function Discover(props) {
- return ()
+ return ()
}
export function Discussions(props) {
- return ()
+ return ()
}
export function Blog(props) {
const { user } = props.match.params;
- return ()
+ return ()
}
export function Tag(props) {
@@ -34,7 +35,7 @@ class Feed extends React.Component {
componentDidMount() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
- this.loadMessages(this.props.visitor.hash);
+ this.loadMessages(this.props.visitor.hash, this.props.location.search);
}
componentWillReceiveProps(nextProps) {
if (this.props.location.search != nextProps.location.search
@@ -67,9 +68,23 @@ class Feed extends React.Component {
}
render() {
- var nodes = this.state.msgs.map(msg => {
- return ();
- });
+ const { tag } = qs.parse(this.props.location.search || {});
+ const nodes = (
+
+ {
+ tag && (
+
+
+ ← All posts with tag {tag}
+
+
+ )
+ }
+ {this.state.msgs.map(msg =>
+ )
+ }
+
+ );
return this.state.msgs.length > 0 ? (
{nodes}
) :
;
diff --git a/vnext/src/components/Message.js b/vnext/src/components/Message.js
index 5667047c..9a15d512 100644
--- a/vnext/src/components/Message.js
+++ b/vnext/src/components/Message.js
@@ -1,5 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
+import { Link } from 'react-router-dom';
import moment from 'moment';
import { UserType } from './Types';
@@ -27,7 +28,7 @@ export default function Message(props) {
-
+
@@ -96,7 +97,7 @@ export default function Message(props) {
function Tags(props) {
return props.data && props.data.map(tag => {
- return (
{tag})
+ return (
{tag})
})
}
@@ -111,6 +112,7 @@ Message.propTypes = {
};
Tags.propTypes = {
+ user: UserType.isRequired,
data: PropTypes.array
}
--
cgit v1.2.3