From fbeb8de2a0745ad760eec9b7c5d439257eadd37a Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Wed, 11 Aug 2021 16:00:49 -0500 Subject: [PATCH] AccountTimeline: pinned post column settings --- app/soapbox/actions/settings.js | 1 + .../components/column_settings.js | 15 ++++++++++++++- app/soapbox/features/account_timeline/index.js | 4 +++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/soapbox/actions/settings.js b/app/soapbox/actions/settings.js index d04a0ed40..5beba817a 100644 --- a/app/soapbox/actions/settings.js +++ b/app/soapbox/actions/settings.js @@ -130,6 +130,7 @@ export const defaultSettings = ImmutableMap({ account_timeline: ImmutableMap({ shows: ImmutableMap({ reblog: true, + pinned: true, }), }), diff --git a/app/soapbox/features/account_timeline/components/column_settings.js b/app/soapbox/features/account_timeline/components/column_settings.js index c19e7f76f..7836c01f0 100644 --- a/app/soapbox/features/account_timeline/components/column_settings.js +++ b/app/soapbox/features/account_timeline/components/column_settings.js @@ -19,7 +19,20 @@ class ColumnSettings extends React.PureComponent { return (
- } /> + } + /> + } + />
); diff --git a/app/soapbox/features/account_timeline/index.js b/app/soapbox/features/account_timeline/index.js index d84d3b703..ba0040623 100644 --- a/app/soapbox/features/account_timeline/index.js +++ b/app/soapbox/features/account_timeline/index.js @@ -17,6 +17,7 @@ import MissingIndicator from 'soapbox/components/missing_indicator'; import { NavLink } from 'react-router-dom'; import { fetchPatronAccount } from '../../actions/patron'; import { getSoapboxConfig } from 'soapbox/actions/soapbox'; +import { getSettings } from 'soapbox/actions/settings'; import { makeGetStatusIds } from 'soapbox/selectors'; import classNames from 'classnames'; @@ -46,6 +47,7 @@ const makeMapStateToProps = () => { const isBlocked = state.getIn(['relationships', accountId, 'blocked_by'], false); const unavailable = (me === accountId) ? false : isBlocked; + const showPins = getSettings(state).getIn(['account_timeline', 'shows', 'pinned']) && !withReplies; return { accountId, @@ -54,7 +56,7 @@ const makeMapStateToProps = () => { accountApId, isAccount: !!state.getIn(['accounts', accountId]), statusIds: getStatusIds(state, { type: `account:${path}`, prefix: 'account_timeline' }), - featuredStatusIds: withReplies ? ImmutableOrderedSet() : getStatusIds(state, { type: `account:${accountId}:pinned`, prefix: 'account_timeline' }), + featuredStatusIds: showPins ? getStatusIds(state, { type: `account:${accountId}:pinned`, prefix: 'account_timeline' }) : ImmutableOrderedSet(), isLoading: state.getIn(['timelines', `account:${path}`, 'isLoading']), hasMore: state.getIn(['timelines', `account:${path}`, 'hasMore']), me,