diff --git a/app/javascript/flavours/glitch/components/hashtag.js b/app/javascript/flavours/glitch/components/hashtag.js
index e54cba5c4..085591439 100644
--- a/app/javascript/flavours/glitch/components/hashtag.js
+++ b/app/javascript/flavours/glitch/components/hashtag.js
@@ -65,23 +65,35 @@ ImmutableHashtag.propTypes = {
hashtag: ImmutablePropTypes.map.isRequired,
};
-const Hashtag = ({ name, href, to, people, history, className }) => (
+const Hashtag = ({ name, href, to, people, uses, history, className, description, withGraph }) => (
-
-
-
{intl.formatMessage(messages.hashtag_all)}
- {!suspended && featuredTags.map(featuredTag => {
- const name = featuredTag.get('name');
- const url = featuredTag.get('url');
- const to = `/@${account.get('acct')}/tagged/${name}`;
- const desc = intl.formatMessage(messages.hashtag_select_description, { name });
- const count = featuredTag.get('statuses_count');
+
+
}} />
- return (
-
- #{name} ({})
-
- );
- })}
-
-
+ {featuredTags.map(featuredTag => (
+
0) ? intl.formatMessage(messages.lastStatusAt, { date: intl.formatDate(featuredTag.get('last_status_at'), { month: 'short', day: '2-digit' }) }) : intl.formatMessage(messages.empty)}
+ />
+ ))}
);
}
diff --git a/app/javascript/flavours/glitch/features/account/containers/featured_tags_container.js b/app/javascript/flavours/glitch/features/account/containers/featured_tags_container.js
new file mode 100644
index 000000000..6f0b06941
--- /dev/null
+++ b/app/javascript/flavours/glitch/features/account/containers/featured_tags_container.js
@@ -0,0 +1,15 @@
+import { connect } from 'react-redux';
+import FeaturedTags from '../components/featured_tags';
+import { makeGetAccount } from 'flavours/glitch/selectors';
+import { List as ImmutableList } from 'immutable';
+
+const mapStateToProps = () => {
+ const getAccount = makeGetAccount();
+
+ return (state, { accountId }) => ({
+ account: getAccount(state, accountId),
+ featuredTags: state.getIn(['user_lists', 'featured_tags', accountId, 'items'], ImmutableList()),
+ });
+};
+
+export default connect(mapStateToProps)(FeaturedTags);
diff --git a/app/javascript/flavours/glitch/features/account/navigation.js b/app/javascript/flavours/glitch/features/account/navigation.js
new file mode 100644
index 000000000..ebd37ec14
--- /dev/null
+++ b/app/javascript/flavours/glitch/features/account/navigation.js
@@ -0,0 +1,51 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { connect } from 'react-redux';
+import FeaturedTags from 'flavours/glitch/features/account/containers/featured_tags_container';
+
+const mapStateToProps = (state, { match: { params: { acct } } }) => {
+ const accountId = state.getIn(['accounts_map', acct]);
+
+ if (!accountId) {
+ return {
+ isLoading: true,
+ };
+ }
+
+ return {
+ accountId,
+ isLoading: false,
+ };
+};
+
+export default @connect(mapStateToProps)
+class AccountNavigation extends React.PureComponent {
+
+ static propTypes = {
+ match: PropTypes.shape({
+ params: PropTypes.shape({
+ acct: PropTypes.string,
+ tagged: PropTypes.string,
+ }).isRequired,
+ }).isRequired,
+
+ accountId: PropTypes.string,
+ isLoading: PropTypes.bool,
+ };
+
+ render () {
+ const { accountId, isLoading, match: { params: { tagged } } } = this.props;
+
+ if (isLoading) {
+ return null;
+ }
+
+ return (
+ <>
+
+
+ >
+ );
+ }
+
+}
diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/header.js b/app/javascript/flavours/glitch/features/account_timeline/components/header.js
index 3a4008310..eb332e296 100644
--- a/app/javascript/flavours/glitch/features/account_timeline/components/header.js
+++ b/app/javascript/flavours/glitch/features/account_timeline/components/header.js
@@ -28,7 +28,6 @@ export default class Header extends ImmutablePureComponent {
hideTabs: PropTypes.bool,
domain: PropTypes.string.isRequired,
hidden: PropTypes.bool,
- tagged: PropTypes.string,
};
static contextTypes = {
@@ -104,7 +103,7 @@ export default class Header extends ImmutablePureComponent {
}
render () {
- const { account, hidden, hideTabs, tagged } = this.props;
+ const { account, hidden, hideTabs } = this.props;
if (account === null) {
return null;
diff --git a/app/javascript/flavours/glitch/features/ui/components/navigation_panel.js b/app/javascript/flavours/glitch/features/ui/components/navigation_panel.js
index d7d3b8257..7c8da46bd 100644
--- a/app/javascript/flavours/glitch/features/ui/components/navigation_panel.js
+++ b/app/javascript/flavours/glitch/features/ui/components/navigation_panel.js
@@ -2,14 +2,14 @@ import React from 'react';
import PropTypes from 'prop-types';
import { defineMessages, injectIntl } from 'react-intl';
import { Link } from 'react-router-dom';
-import TrendsContainer from 'flavours/glitch/features/getting_started/containers/trends_container';
-import { showTrends, timelinePreview } from 'flavours/glitch/initial_state';
+import { timelinePreview } from 'flavours/glitch/initial_state';
import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
import FollowRequestsColumnLink from './follow_requests_column_link';
import ListPanel from './list_panel';
import NotificationsCounterIcon from './notifications_counter_icon';
import SignInBanner from './sign_in_banner';
import { preferencesLink, relationshipsLink } from 'flavours/glitch/utils/backend_links';
+import NavigationPortal from 'flavours/glitch/components/navigation_portal';
const messages = defineMessages({
home: { id: 'tabs_bar.home', defaultMessage: 'Home' },
@@ -89,13 +89,7 @@ class NavigationPanel extends React.Component {
- {showTrends && (
-