[Glitch] Add notification grouping for follow notifications
Port d6f5ee75ab to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
			
			
This commit is contained in:
		
							parent
							
								
									36ce5813cb
								
							
						
					
					
						commit
						5716ebf390
					
				| 
						 | 
				
			
			@ -68,10 +68,15 @@ function dispatchAssociatedRecords(
 | 
			
		|||
    dispatch(importFetchedStatuses(fetchedStatuses));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const supportedGroupedNotificationTypes = ['favourite', 'reblog'];
 | 
			
		||||
 | 
			
		||||
export const fetchNotifications = createDataLoadingThunk(
 | 
			
		||||
  'notificationGroups/fetch',
 | 
			
		||||
  async (_params, { getState }) =>
 | 
			
		||||
    apiFetchNotificationGroups({ exclude_types: getExcludedTypes(getState()) }),
 | 
			
		||||
    apiFetchNotificationGroups({
 | 
			
		||||
      grouped_types: supportedGroupedNotificationTypes,
 | 
			
		||||
      exclude_types: getExcludedTypes(getState()),
 | 
			
		||||
    }),
 | 
			
		||||
  ({ notifications, accounts, statuses }, { dispatch }) => {
 | 
			
		||||
    dispatch(importFetchedAccounts(accounts));
 | 
			
		||||
    dispatch(importFetchedStatuses(statuses));
 | 
			
		||||
| 
						 | 
				
			
			@ -93,6 +98,7 @@ export const fetchNotificationsGap = createDataLoadingThunk(
 | 
			
		|||
  'notificationGroups/fetchGap',
 | 
			
		||||
  async (params: { gap: NotificationGap }, { getState }) =>
 | 
			
		||||
    apiFetchNotificationGroups({
 | 
			
		||||
      grouped_types: supportedGroupedNotificationTypes,
 | 
			
		||||
      max_id: params.gap.maxId,
 | 
			
		||||
      exclude_types: getExcludedTypes(getState()),
 | 
			
		||||
    }),
 | 
			
		||||
| 
						 | 
				
			
			@ -109,6 +115,7 @@ export const pollRecentNotifications = createDataLoadingThunk(
 | 
			
		|||
  'notificationGroups/pollRecentNotifications',
 | 
			
		||||
  async (_params, { getState }) => {
 | 
			
		||||
    return apiFetchNotificationGroups({
 | 
			
		||||
      grouped_types: supportedGroupedNotificationTypes,
 | 
			
		||||
      max_id: undefined,
 | 
			
		||||
      exclude_types: getExcludedTypes(getState()),
 | 
			
		||||
      // In slow mode, we don't want to include notifications that duplicate the already-displayed ones
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,7 @@ export const apiFetchNotifications = async (
 | 
			
		|||
 | 
			
		||||
export const apiFetchNotificationGroups = async (params?: {
 | 
			
		||||
  url?: string;
 | 
			
		||||
  grouped_types?: string[];
 | 
			
		||||
  exclude_types?: string[];
 | 
			
		||||
  max_id?: string;
 | 
			
		||||
  since_id?: string;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue