Change "Explore" to "Trending" and remove explanation banners (#34985)

This commit is contained in:
Eugen Rochko 2025-06-12 10:29:42 +02:00 committed by GitHub
parent 0ea4267839
commit d1fb957361
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 9 additions and 35 deletions

View File

@ -5,7 +5,7 @@ import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
import { Helmet } from 'react-helmet'; import { Helmet } from 'react-helmet';
import { NavLink, Switch, Route } from 'react-router-dom'; import { NavLink, Switch, Route } from 'react-router-dom';
import ExploreIcon from '@/material-icons/400-24px/explore.svg?react'; import TrendingUpIcon from '@/material-icons/400-24px/trending_up.svg?react';
import { Column } from 'mastodon/components/column'; import { Column } from 'mastodon/components/column';
import type { ColumnRef } from 'mastodon/components/column'; import type { ColumnRef } from 'mastodon/components/column';
import { ColumnHeader } from 'mastodon/components/column_header'; import { ColumnHeader } from 'mastodon/components/column_header';
@ -20,7 +20,7 @@ import Suggestions from './suggestions';
import Tags from './tags'; import Tags from './tags';
const messages = defineMessages({ const messages = defineMessages({
title: { id: 'explore.title', defaultMessage: 'Explore' }, title: { id: 'explore.title', defaultMessage: 'Trending' },
}); });
const Explore: React.FC<{ multiColumn: boolean }> = ({ multiColumn }) => { const Explore: React.FC<{ multiColumn: boolean }> = ({ multiColumn }) => {
@ -41,7 +41,7 @@ const Explore: React.FC<{ multiColumn: boolean }> = ({ multiColumn }) => {
> >
<ColumnHeader <ColumnHeader
icon={'explore'} icon={'explore'}
iconComponent={logoRequired ? SymbolLogo : ExploreIcon} iconComponent={logoRequired ? SymbolLogo : TrendingUpIcon}
title={intl.formatMessage(messages.title)} title={intl.formatMessage(messages.title)}
onClick={handleHeaderClick} onClick={handleHeaderClick}
multiColumn={multiColumn} multiColumn={multiColumn}

View File

@ -43,17 +43,9 @@ class Links extends PureComponent {
render () { render () {
const { isLoading, links } = this.props; const { isLoading, links } = this.props;
const banner = (
<DismissableBanner id='explore/links'>
<FormattedMessage id='dismissable_banner.explore_links' defaultMessage='These news stories are being shared the most on the fediverse today. Newer news stories posted by more different people are ranked higher.' />
</DismissableBanner>
);
if (!isLoading && links.isEmpty()) { if (!isLoading && links.isEmpty()) {
return ( return (
<div className='explore__links scrollable scrollable--flex'> <div className='explore__links scrollable scrollable--flex'>
{banner}
<div className='empty-column-indicator'> <div className='empty-column-indicator'>
<FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' /> <FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' />
</div> </div>
@ -63,8 +55,6 @@ class Links extends PureComponent {
return ( return (
<div className='explore__links scrollable' data-nosnippet> <div className='explore__links scrollable' data-nosnippet>
{banner}
{isLoading ? (<LoadingIndicator />) : links.map((link, i) => ( {isLoading ? (<LoadingIndicator />) : links.map((link, i) => (
<Story <Story
key={link.get('id')} key={link.get('id')}

View File

@ -58,7 +58,6 @@ class Statuses extends PureComponent {
return ( return (
<StatusList <StatusList
trackScroll trackScroll
prepend={<DismissableBanner id='explore/statuses'><FormattedMessage id='dismissable_banner.explore_statuses' defaultMessage='These posts from across the fediverse are gaining traction today. Newer posts with more boosts and favorites are ranked higher.' /></DismissableBanner>}
alwaysPrepend alwaysPrepend
timelineId='explore' timelineId='explore'
statusIds={statusIds} statusIds={statusIds}

View File

@ -42,17 +42,9 @@ class Tags extends PureComponent {
render () { render () {
const { isLoading, hashtags } = this.props; const { isLoading, hashtags } = this.props;
const banner = (
<DismissableBanner id='explore/tags'>
<FormattedMessage id='dismissable_banner.explore_tags' defaultMessage='These hashtags are gaining traction on the fediverse today. Hashtags that are used by more different people are ranked higher.' />
</DismissableBanner>
);
if (!isLoading && hashtags.isEmpty()) { if (!isLoading && hashtags.isEmpty()) {
return ( return (
<div className='explore__links scrollable scrollable--flex'> <div className='explore__links scrollable scrollable--flex'>
{banner}
<div className='empty-column-indicator'> <div className='empty-column-indicator'>
<FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' /> <FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' />
</div> </div>
@ -62,8 +54,6 @@ class Tags extends PureComponent {
return ( return (
<div className='scrollable explore__links' data-nosnippet> <div className='scrollable explore__links' data-nosnippet>
{banner}
{isLoading ? (<LoadingIndicator />) : hashtags.map(hashtag => ( {isLoading ? (<LoadingIndicator />) : hashtags.map(hashtag => (
<Hashtag key={hashtag.get('name')} hashtag={hashtag} /> <Hashtag key={hashtag.get('name')} hashtag={hashtag} />
))} ))}

View File

@ -3,7 +3,7 @@ import { useRef, useEffect, useCallback } from 'react';
import { Helmet } from 'react-helmet'; import { Helmet } from 'react-helmet';
import { useParams } from 'react-router-dom'; import { useParams } from 'react-router-dom';
import ExploreIcon from '@/material-icons/400-24px/explore.svg?react'; import TrendingUpIcon from '@/material-icons/400-24px/trending_up.svg?react';
import { expandLinkTimeline } from 'mastodon/actions/timelines'; import { expandLinkTimeline } from 'mastodon/actions/timelines';
import { Column } from 'mastodon/components/column'; import { Column } from 'mastodon/components/column';
import type { ColumnRef } from 'mastodon/components/column'; import type { ColumnRef } from 'mastodon/components/column';
@ -50,7 +50,7 @@ export const LinkTimeline: React.FC<{
<Column bindToDocument={!multiColumn} ref={columnRef} label={story?.title}> <Column bindToDocument={!multiColumn} ref={columnRef} label={story?.title}>
<ColumnHeader <ColumnHeader
icon='explore' icon='explore'
iconComponent={ExploreIcon} iconComponent={TrendingUpIcon}
title={story?.title} title={story?.title}
onClick={handleHeaderClick} onClick={handleHeaderClick}
multiColumn={multiColumn} multiColumn={multiColumn}

View File

@ -14,8 +14,6 @@ import AddIcon from '@/material-icons/400-24px/add.svg?react';
import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react';
import BookmarksActiveIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react'; import BookmarksActiveIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react';
import BookmarksIcon from '@/material-icons/400-24px/bookmarks.svg?react'; import BookmarksIcon from '@/material-icons/400-24px/bookmarks.svg?react';
import ExploreActiveIcon from '@/material-icons/400-24px/explore-fill.svg?react';
import ExploreIcon from '@/material-icons/400-24px/explore.svg?react';
import HomeActiveIcon from '@/material-icons/400-24px/home-fill.svg?react'; import HomeActiveIcon from '@/material-icons/400-24px/home-fill.svg?react';
import HomeIcon from '@/material-icons/400-24px/home.svg?react'; import HomeIcon from '@/material-icons/400-24px/home.svg?react';
import InfoIcon from '@/material-icons/400-24px/info.svg?react'; import InfoIcon from '@/material-icons/400-24px/info.svg?react';
@ -28,6 +26,7 @@ import SearchIcon from '@/material-icons/400-24px/search.svg?react';
import SettingsIcon from '@/material-icons/400-24px/settings.svg?react'; import SettingsIcon from '@/material-icons/400-24px/settings.svg?react';
import StarActiveIcon from '@/material-icons/400-24px/star-fill.svg?react'; import StarActiveIcon from '@/material-icons/400-24px/star-fill.svg?react';
import StarIcon from '@/material-icons/400-24px/star.svg?react'; import StarIcon from '@/material-icons/400-24px/star.svg?react';
import TrendingUpIcon from '@/material-icons/400-24px/trending_up.svg?react';
import { fetchFollowRequests } from 'mastodon/actions/accounts'; import { fetchFollowRequests } from 'mastodon/actions/accounts';
import { openNavigation, closeNavigation } from 'mastodon/actions/navigation'; import { openNavigation, closeNavigation } from 'mastodon/actions/navigation';
import { Account } from 'mastodon/components/account'; import { Account } from 'mastodon/components/account';
@ -53,7 +52,7 @@ const messages = defineMessages({
id: 'tabs_bar.notifications', id: 'tabs_bar.notifications',
defaultMessage: 'Notifications', defaultMessage: 'Notifications',
}, },
explore: { id: 'explore.title', defaultMessage: 'Explore' }, explore: { id: 'explore.title', defaultMessage: 'Trending' },
firehose: { id: 'column.firehose', defaultMessage: 'Live feeds' }, firehose: { id: 'column.firehose', defaultMessage: 'Live feeds' },
direct: { id: 'navigation_bar.direct', defaultMessage: 'Private mentions' }, direct: { id: 'navigation_bar.direct', defaultMessage: 'Private mentions' },
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favorites' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favorites' },
@ -181,8 +180,7 @@ const SearchLink: React.FC = () => {
transparent transparent
to='/explore' to='/explore'
icon='explore' icon='explore'
iconComponent={ExploreIcon} iconComponent={TrendingUpIcon}
activeIconComponent={ExploreActiveIcon}
text={intl.formatMessage(messages.explore)} text={intl.formatMessage(messages.explore)}
/> />
); );

View File

@ -266,9 +266,6 @@
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being shared the most on the fediverse today. Newer news stories posted by more different people are ranked higher.",
"dismissable_banner.explore_statuses": "These posts from across the fediverse are gaining traction today. Newer posts with more boosts and favorites are ranked higher.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction on the fediverse today. Hashtags that are used by more different people are ranked higher.",
"dismissable_banner.public_timeline": "These are the most recent public posts from people on the fediverse that people on {domain} follow.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on the fediverse that people on {domain} follow.",
"domain_block_modal.block": "Block server", "domain_block_modal.block": "Block server",
"domain_block_modal.block_account_instead": "Block @{name} instead", "domain_block_modal.block_account_instead": "Block @{name} instead",
@ -340,7 +337,7 @@
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
"errors.unexpected_crash.report_issue": "Report issue", "errors.unexpected_crash.report_issue": "Report issue",
"explore.suggested_follows": "People", "explore.suggested_follows": "People",
"explore.title": "Explore", "explore.title": "Trending",
"explore.trending_links": "News", "explore.trending_links": "News",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "Posts",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "Hashtags",