Show local-only posts in “All” by default, and add back option to toggle it

local
Claire 11 months ago
parent 587ddc2c7f
commit 9f3c3f5209
  1. 16
      app/javascript/flavours/glitch/features/firehose/index.jsx
  2. 1
      app/javascript/flavours/glitch/locales/en.json
  3. 1
      app/javascript/flavours/glitch/reducers/settings.js

@ -49,6 +49,12 @@ const ColumnSettings = () => {
onChange={onChange}
label={<FormattedMessage id='community.column_settings.media_only' defaultMessage='Media only' />}
/>
<SettingToggle
settings={settings}
settingPath={['allowLocalOnly']}
onChange={onChange}
label={<FormattedMessage id='firehose.column_settings.allow_local_only' defaultMessage='Show local-only posts in "All"' />}
/>
</div>
</div>
);
@ -63,6 +69,8 @@ const Firehose = ({ feedType, multiColumn }) => {
const onlyMedia = useAppSelector((state) => state.getIn(['settings', 'firehose', 'onlyMedia'], false));
const hasUnread = useAppSelector((state) => state.getIn(['timelines', `${feedType}${onlyMedia ? ':media' : ''}`, 'unread'], 0) > 0);
const allowLocalOnly = useAppSelector((state) => state.getIn(['settings', 'firehose', 'allowLocalOnly']));
const handlePin = useCallback(
() => {
switch(feedType) {
@ -70,14 +78,14 @@ const Firehose = ({ feedType, multiColumn }) => {
dispatch(addColumn('COMMUNITY', { other: { onlyMedia } }));
break;
case 'public':
dispatch(addColumn('PUBLIC', { other: { onlyMedia } }));
dispatch(addColumn('PUBLIC', { other: { onlyMedia, allowLocalOnly } }));
break;
case 'public:remote':
dispatch(addColumn('REMOTE', { other: { onlyMedia, onlyRemote: true } }));
break;
}
},
[dispatch, onlyMedia, feedType],
[dispatch, onlyMedia, feedType, allowLocalOnly],
);
const handleLoadMore = useCallback(
@ -87,7 +95,7 @@ const Firehose = ({ feedType, multiColumn }) => {
dispatch(expandCommunityTimeline({ onlyMedia }));
break;
case 'public':
dispatch(expandPublicTimeline({ maxId, onlyMedia }));
dispatch(expandPublicTimeline({ maxId, onlyMedia, allowLocalOnly }));
break;
case 'public:remote':
dispatch(expandPublicTimeline({ maxId, onlyMedia, onlyRemote: true }));
@ -112,7 +120,7 @@ const Firehose = ({ feedType, multiColumn }) => {
case 'public':
dispatch(expandPublicTimeline({ onlyMedia }));
if (signedIn) {
disconnect = dispatch(connectPublicStream({ onlyMedia }));
disconnect = dispatch(connectPublicStream({ onlyMedia, allowLocalOnly }));
}
break;
case 'public:remote':

@ -52,6 +52,7 @@
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"endorsed_accounts_editor.endorsed_accounts": "Featured accounts",
"favourite_modal.combo": "You can press {combo} to skip this next time",
"firehose.column_settings.allow_local_only": "Show local-only posts in \"All\"",
"follow_recommendations.done": "Done",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",

@ -86,6 +86,7 @@ const initialState = ImmutableMap({
firehose: ImmutableMap({
onlyMedia: false,
allowLocalOnly: true,
}),
community: ImmutableMap({

Loading…
Cancel
Save