Fix explore page being inaccessible when opted-out of trends in web UI (#25716)
This commit is contained in:
		
							parent
							
								
									93e8a15415
								
							
						
					
					
						commit
						ceeb2b8c41
					
				| @ -11,7 +11,7 @@ import { connect } from 'react-redux'; | |||||||
| import Column from 'mastodon/components/column'; | import Column from 'mastodon/components/column'; | ||||||
| import ColumnHeader from 'mastodon/components/column_header'; | import ColumnHeader from 'mastodon/components/column_header'; | ||||||
| import Search from 'mastodon/features/compose/containers/search_container'; | import Search from 'mastodon/features/compose/containers/search_container'; | ||||||
| import { showTrends } from 'mastodon/initial_state'; | import { trendsEnabled } from 'mastodon/initial_state'; | ||||||
| 
 | 
 | ||||||
| import Links from './links'; | import Links from './links'; | ||||||
| import SearchResults from './results'; | import SearchResults from './results'; | ||||||
| @ -26,7 +26,7 @@ const messages = defineMessages({ | |||||||
| 
 | 
 | ||||||
| const mapStateToProps = state => ({ | const mapStateToProps = state => ({ | ||||||
|   layout: state.getIn(['meta', 'layout']), |   layout: state.getIn(['meta', 'layout']), | ||||||
|   isSearching: state.getIn(['search', 'submitted']) || !showTrends, |   isSearching: state.getIn(['search', 'submitted']) || !trendsEnabled, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| class Explore extends PureComponent { | class Explore extends PureComponent { | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ import { Link } from 'react-router-dom'; | |||||||
| 
 | 
 | ||||||
| import { WordmarkLogo } from 'mastodon/components/logo'; | import { WordmarkLogo } from 'mastodon/components/logo'; | ||||||
| import NavigationPortal from 'mastodon/components/navigation_portal'; | import NavigationPortal from 'mastodon/components/navigation_portal'; | ||||||
| import { timelinePreview, showTrends } from 'mastodon/initial_state'; | import { timelinePreview, trendsEnabled } from 'mastodon/initial_state'; | ||||||
| 
 | 
 | ||||||
| import ColumnLink from './column_link'; | import ColumnLink from './column_link'; | ||||||
| import DisabledAccountBanner from './disabled_account_banner'; | import DisabledAccountBanner from './disabled_account_banner'; | ||||||
| @ -65,7 +65,7 @@ class NavigationPanel extends Component { | |||||||
|           </> |           </> | ||||||
|         )} |         )} | ||||||
| 
 | 
 | ||||||
|         {showTrends ? ( |         {trendsEnabled ? ( | ||||||
|           <ColumnLink transparent to='/explore' icon='hashtag' text={intl.formatMessage(messages.explore)} /> |           <ColumnLink transparent to='/explore' icon='hashtag' text={intl.formatMessage(messages.explore)} /> | ||||||
|         ) : ( |         ) : ( | ||||||
|           <ColumnLink transparent to='/search' icon='search' text={intl.formatMessage(messages.search)} /> |           <ColumnLink transparent to='/search' icon='search' text={intl.formatMessage(messages.search)} /> | ||||||
|  | |||||||
| @ -22,7 +22,7 @@ import { clearHeight } from '../../actions/height_cache'; | |||||||
| import { expandNotifications } from '../../actions/notifications'; | import { expandNotifications } from '../../actions/notifications'; | ||||||
| import { fetchServer, fetchServerTranslationLanguages } from '../../actions/server'; | import { fetchServer, fetchServerTranslationLanguages } from '../../actions/server'; | ||||||
| import { expandHomeTimeline } from '../../actions/timelines'; | import { expandHomeTimeline } from '../../actions/timelines'; | ||||||
| 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 BundleColumnError from './components/bundle_column_error'; | ||||||
| import Header from './components/header'; | import Header from './components/header'; | ||||||
| @ -170,7 +170,7 @@ class SwitchingColumnsArea extends PureComponent { | |||||||
|       } |       } | ||||||
|     } else if (singleUserMode && owner && initialState?.accounts[owner]) { |     } else if (singleUserMode && owner && initialState?.accounts[owner]) { | ||||||
|       redirect = <Redirect from='/' to={`/@${initialState.accounts[owner].username}`} exact />; |       redirect = <Redirect from='/' to={`/@${initialState.accounts[owner].username}`} exact />; | ||||||
|     } else if (showTrends && trendsAsLanding) { |     } else if (trendsEnabled && trendsAsLanding) { | ||||||
|       redirect = <Redirect from='/' to='/explore' exact />; |       redirect = <Redirect from='/' to='/explore' exact />; | ||||||
|     } else { |     } else { | ||||||
|       redirect = <Redirect from='/' to='/about' exact />; |       redirect = <Redirect from='/' to='/about' exact />; | ||||||
|  | |||||||
| @ -69,12 +69,13 @@ | |||||||
|  * @property {boolean} reduce_motion |  * @property {boolean} reduce_motion | ||||||
|  * @property {string} repository |  * @property {string} repository | ||||||
|  * @property {boolean} search_enabled |  * @property {boolean} search_enabled | ||||||
|  |  * @property {boolean} trends_enabled | ||||||
|  * @property {boolean} single_user_mode |  * @property {boolean} single_user_mode | ||||||
|  * @property {string} source_url |  * @property {string} source_url | ||||||
|  * @property {string} streaming_api_base_url |  * @property {string} streaming_api_base_url | ||||||
|  * @property {boolean} timeline_preview |  * @property {boolean} timeline_preview | ||||||
|  * @property {string} title |  * @property {string} title | ||||||
|  * @property {boolean} trends |  * @property {boolean} show_trends | ||||||
|  * @property {boolean} trends_as_landing_page |  * @property {boolean} trends_as_landing_page | ||||||
|  * @property {boolean} unfollow_modal |  * @property {boolean} unfollow_modal | ||||||
|  * @property {boolean} use_blurhash |  * @property {boolean} use_blurhash | ||||||
| @ -121,7 +122,8 @@ export const reduceMotion = getMeta('reduce_motion'); | |||||||
| export const registrationsOpen = getMeta('registrations_open'); | export const registrationsOpen = getMeta('registrations_open'); | ||||||
| export const repository = getMeta('repository'); | export const repository = getMeta('repository'); | ||||||
| export const searchEnabled = getMeta('search_enabled'); | 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 singleUserMode = getMeta('single_user_mode'); | ||||||
| export const source_url = getMeta('source_url'); | export const source_url = getMeta('source_url'); | ||||||
| export const timelinePreview = getMeta('timeline_preview'); | export const timelinePreview = getMeta('timeline_preview'); | ||||||
|  | |||||||
| @ -25,7 +25,7 @@ class InitialStateSerializer < ActiveModel::Serializer | |||||||
|       limited_federation_mode: Rails.configuration.x.whitelist_mode, |       limited_federation_mode: Rails.configuration.x.whitelist_mode, | ||||||
|       mascot: instance_presenter.mascot&.file&.url, |       mascot: instance_presenter.mascot&.file&.url, | ||||||
|       profile_directory: Setting.profile_directory, |       profile_directory: Setting.profile_directory, | ||||||
|       trends: Setting.trends, |       trends_enabled: Setting.trends, | ||||||
|       registrations_open: Setting.registrations_mode != 'none' && !Rails.configuration.x.single_user_mode, |       registrations_open: Setting.registrations_mode != 'none' && !Rails.configuration.x.single_user_mode, | ||||||
|       timeline_preview: Setting.timeline_preview, |       timeline_preview: Setting.timeline_preview, | ||||||
|       activity_api_enabled: Setting.activity_api_enabled, |       activity_api_enabled: Setting.activity_api_enabled, | ||||||
| @ -47,7 +47,7 @@ class InitialStateSerializer < ActiveModel::Serializer | |||||||
|       store[:advanced_layout]   = object.current_account.user.setting_advanced_layout |       store[:advanced_layout]   = object.current_account.user.setting_advanced_layout | ||||||
|       store[:use_blurhash]      = object.current_account.user.setting_use_blurhash |       store[:use_blurhash]      = object.current_account.user.setting_use_blurhash | ||||||
|       store[:use_pending_items] = object.current_account.user.setting_use_pending_items |       store[:use_pending_items] = object.current_account.user.setting_use_pending_items | ||||||
|       store[:trends]            = Setting.trends && object.current_account.user.setting_trends |       store[:show_trends]       = Setting.trends && object.current_account.user.setting_trends | ||||||
|       store[:crop_images]       = object.current_account.user.setting_crop_images |       store[:crop_images]       = object.current_account.user.setting_crop_images | ||||||
|     else |     else | ||||||
|       store[:auto_play_gif] = Setting.auto_play_gif |       store[:auto_play_gif] = Setting.auto_play_gif | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user