~cytrogen/masto-fe

c250b37f0afe0efdf6b979b17cac09ec925f0d6e — Eugen Rochko 2 years ago 82eebd0
[Glitch] Fix explore page being inaccessible when opted-out of trends in web UI

Port ceeb2b8c419bce653fd9296c42ab655aa6a816f3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
M app/javascript/flavours/glitch/features/explore/index.jsx => app/javascript/flavours/glitch/features/explore/index.jsx +2 -2
@@ 11,7 11,7 @@ import { connect } from 'react-redux';
import Column from 'flavours/glitch/components/column';
import ColumnHeader from 'flavours/glitch/components/column_header';
import Search from 'flavours/glitch/features/compose/containers/search_container';
import { showTrends } from 'flavours/glitch/initial_state';
import { trendsEnabled } from 'flavours/glitch/initial_state';

import Links from './links';
import SearchResults from './results';


@@ 28,7 28,7 @@ const messages = defineMessages({

const mapStateToProps = state => ({
  layout: state.getIn(['meta', 'layout']),
  isSearching: state.getIn(['search', 'submitted']) || !showTrends,
  isSearching: state.getIn(['search', 'submitted']) || !trendsEnabled,
});

class Explore extends PureComponent {

M app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx => app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx +2 -2
@@ 4,7 4,7 @@ import { Component } from 'react';
import { defineMessages, injectIntl } from 'react-intl';

import NavigationPortal from 'flavours/glitch/components/navigation_portal';
import { timelinePreview, showTrends } from 'flavours/glitch/initial_state';
import { timelinePreview, trendsEnabled } from 'flavours/glitch/initial_state';
import { preferencesLink } from 'flavours/glitch/utils/backend_links';

import ColumnLink from './column_link';


@@ 60,7 60,7 @@ class NavigationPanel extends Component {
          </>
        )}

        {showTrends ? (
        {trendsEnabled ? (
          <ColumnLink transparent to='/explore' icon='hashtag' text={intl.formatMessage(messages.explore)} />
        ) : (
          <ColumnLink transparent to='/search' icon='search' text={intl.formatMessage(messages.search)} />

M app/javascript/flavours/glitch/features/ui/index.jsx => app/javascript/flavours/glitch/features/ui/index.jsx +2 -2
@@ 23,7 23,7 @@ import PermaLink from 'flavours/glitch/components/permalink';
import PictureInPicture from 'flavours/glitch/features/picture_in_picture';
import { layoutFromWindow } from 'flavours/glitch/is_mobile';

import initialState, { me, owner, singleUserMode, showTrends, trendsAsLanding } from '../../initial_state';
import initialState, { me, owner, singleUserMode, trendsEnabled, trendsAsLanding } from '../../initial_state';

import BundleColumnError from './components/bundle_column_error';
import Header from './components/header';


@@ 178,7 178,7 @@ class SwitchingColumnsArea extends PureComponent {
      }
    } else if (singleUserMode && owner && initialState?.accounts[owner]) {
      redirect = <Redirect from='/' to={`/@${initialState.accounts[owner].username}`} exact />;
    } else if (showTrends && trendsAsLanding) {
    } else if (trendsEnabled && trendsAsLanding) {
      redirect = <Redirect from='/' to='/explore' exact />;
    } else {
      redirect = <Redirect from='/' to='/about' exact />;

M app/javascript/flavours/glitch/initial_state.js => app/javascript/flavours/glitch/initial_state.js +4 -2
@@ 70,12 70,13 @@
 * @property {boolean} reduce_motion
 * @property {string} repository
 * @property {boolean} search_enabled
 * @property {boolean} trends_enabled
 * @property {boolean} single_user_mode
 * @property {string} source_url
 * @property {string} streaming_api_base_url
 * @property {boolean} timeline_preview
 * @property {string} title
 * @property {boolean} trends
 * @property {boolean} show_trends
 * @property {boolean} trends_as_landing_page
 * @property {boolean} unfollow_modal
 * @property {boolean} use_blurhash


@@ 139,7 140,8 @@ export const reduceMotion = getMeta('reduce_motion');
export const registrationsOpen = getMeta('registrations_open');
export const repository = getMeta('repository');
export const searchEnabled = getMeta('search_enabled');
export const showTrends = getMeta('trends');
export const trendsEnabled = getMeta('trends_enabled');
export const showTrends = getMeta('show_trends');
export const singleUserMode = getMeta('single_user_mode');
export const source_url = getMeta('source_url');
export const timelinePreview = getMeta('timeline_preview');