Add option to opt out of unread notification markers (#15842)
Fixes #15133
This commit is contained in:
		
							parent
							
								
									9aaaa96d2f
								
							
						
					
					
						commit
						55ac2b9c60
					
				| 
						 | 
					@ -55,6 +55,16 @@ export default class ColumnSettings extends React.PureComponent {
 | 
				
			||||||
          <ClearColumnButton onClick={onClear} />
 | 
					          <ClearColumnButton onClick={onClear} />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div role='group' aria-labelledby='notifications-unread-markers'>
 | 
				
			||||||
 | 
					          <span id='notifications-unread-markers' className='column-settings__section'>
 | 
				
			||||||
 | 
					            <FormattedMessage id='notifications.column_settings.unread_markers.category' defaultMessage='Unread notification markers' />
 | 
				
			||||||
 | 
					          </span>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <div className='column-settings__row'>
 | 
				
			||||||
 | 
					            <SettingToggle id='unread-notification-markers' prefix='notifications' settings={settings} settingPath={['showUnread']} onChange={onChange} label={filterShowStr} />
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div role='group' aria-labelledby='notifications-filter-bar'>
 | 
					        <div role='group' aria-labelledby='notifications-filter-bar'>
 | 
				
			||||||
          <span id='notifications-filter-bar' className='column-settings__section'>
 | 
					          <span id='notifications-filter-bar' className='column-settings__section'>
 | 
				
			||||||
            <FormattedMessage id='notifications.column_settings.filter_bar.category' defaultMessage='Quick filter bar' />
 | 
					            <FormattedMessage id='notifications.column_settings.filter_bar.category' defaultMessage='Quick filter bar' />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -60,8 +60,8 @@ const mapStateToProps = state => ({
 | 
				
			||||||
  isUnread: state.getIn(['notifications', 'unread']) > 0 || state.getIn(['notifications', 'pendingItems']).size > 0,
 | 
					  isUnread: state.getIn(['notifications', 'unread']) > 0 || state.getIn(['notifications', 'pendingItems']).size > 0,
 | 
				
			||||||
  hasMore: state.getIn(['notifications', 'hasMore']),
 | 
					  hasMore: state.getIn(['notifications', 'hasMore']),
 | 
				
			||||||
  numPending: state.getIn(['notifications', 'pendingItems'], ImmutableList()).size,
 | 
					  numPending: state.getIn(['notifications', 'pendingItems'], ImmutableList()).size,
 | 
				
			||||||
  lastReadId: state.getIn(['notifications', 'readMarkerId']),
 | 
					  lastReadId: state.getIn(['settings', 'notifications', 'showUnread']) ? state.getIn(['notifications', 'readMarkerId']) : '0',
 | 
				
			||||||
  canMarkAsRead: state.getIn(['notifications', 'readMarkerId']) !== '0' && getNotifications(state).some(item => item !== null && compareId(item.get('id'), state.getIn(['notifications', 'readMarkerId'])) > 0),
 | 
					  canMarkAsRead: state.getIn(['settings', 'notifications', 'showUnread']) && state.getIn(['notifications', 'readMarkerId']) !== '0' && getNotifications(state).some(item => item !== null && compareId(item.get('id'), state.getIn(['notifications', 'readMarkerId'])) > 0),
 | 
				
			||||||
  needsNotificationPermission: state.getIn(['settings', 'notifications', 'alerts']).includes(true) && state.getIn(['notifications', 'browserSupport']) && state.getIn(['notifications', 'browserPermission']) === 'default' && !state.getIn(['settings', 'notifications', 'dismissPermissionBanner']),
 | 
					  needsNotificationPermission: state.getIn(['settings', 'notifications', 'alerts']).includes(true) && state.getIn(['notifications', 'browserSupport']) && state.getIn(['notifications', 'browserPermission']) === 'default' && !state.getIn(['settings', 'notifications', 'dismissPermissionBanner']),
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,6 +45,7 @@ const initialState = ImmutableMap({
 | 
				
			||||||
    }),
 | 
					    }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dismissPermissionBanner: false,
 | 
					    dismissPermissionBanner: false,
 | 
				
			||||||
 | 
					    showUnread: true,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    shows: ImmutableMap({
 | 
					    shows: ImmutableMap({
 | 
				
			||||||
      follow: true,
 | 
					      follow: true,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue