diff --git a/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.tsx b/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.tsx
index 021eae0a98..f20189a8db 100644
--- a/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.tsx
+++ b/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.tsx
@@ -51,6 +51,19 @@ export const ColumnSettings: React.FC = () => {
}
/>
+
+ }
+ />
+
createSelector([
if (id === null || id === 'inline-follow-suggestions') return true;
const statusForId = statuses.get(id);
- let showStatus = true;
if (statusForId.get('account') === me) return true;
- if (columnSettings.getIn(['shows', 'reblog']) === false) {
- showStatus = showStatus && statusForId.get('reblog') === null;
+ if (columnSettings.getIn(['shows', 'reblog']) === false && statusForId.get('reblog') !== null) {
+ return false;
}
- if (columnSettings.getIn(['shows', 'reply']) === false) {
- showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me);
+ if (columnSettings.getIn(['shows', 'reply']) === false && statusForId.get('in_reply_to_id') !== null && statusForId.get('in_reply_to_account_id') !== me) {
+ return false;
}
- if (columnSettings.getIn(['shows', 'direct']) === false) {
- showStatus = showStatus && statusForId.get('visibility') !== 'direct';
+ if (columnSettings.getIn(['shows', 'quote']) === false && statusForId.get('quote') !== null) {
+ return false;
}
- if (showStatus && regex) {
- const searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');
- showStatus = !regex.test(searchIndex);
+ if (columnSettings.getIn(['shows', 'direct']) === false && statusForId.get('visibility') === 'direct') {
+ return false;
}
- return showStatus;
+ const searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');
+ if (regex && !regex.test(searchIndex)) {
+ return false;
+ }
+
+ return true;
});
});
diff --git a/app/javascript/flavours/glitch/reducers/settings.js b/app/javascript/flavours/glitch/reducers/settings.js
index bfea4abe44..65e086ff26 100644
--- a/app/javascript/flavours/glitch/reducers/settings.js
+++ b/app/javascript/flavours/glitch/reducers/settings.js
@@ -20,6 +20,7 @@ const initialState = ImmutableMap({
home: ImmutableMap({
shows: ImmutableMap({
+ quote: true,
reblog: true,
reply: true,
direct: true,