[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));
 | 
					    dispatch(importFetchedStatuses(fetchedStatuses));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const supportedGroupedNotificationTypes = ['favourite', 'reblog'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const fetchNotifications = createDataLoadingThunk(
 | 
					export const fetchNotifications = createDataLoadingThunk(
 | 
				
			||||||
  'notificationGroups/fetch',
 | 
					  'notificationGroups/fetch',
 | 
				
			||||||
  async (_params, { getState }) =>
 | 
					  async (_params, { getState }) =>
 | 
				
			||||||
    apiFetchNotificationGroups({ exclude_types: getExcludedTypes(getState()) }),
 | 
					    apiFetchNotificationGroups({
 | 
				
			||||||
 | 
					      grouped_types: supportedGroupedNotificationTypes,
 | 
				
			||||||
 | 
					      exclude_types: getExcludedTypes(getState()),
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
  ({ notifications, accounts, statuses }, { dispatch }) => {
 | 
					  ({ notifications, accounts, statuses }, { dispatch }) => {
 | 
				
			||||||
    dispatch(importFetchedAccounts(accounts));
 | 
					    dispatch(importFetchedAccounts(accounts));
 | 
				
			||||||
    dispatch(importFetchedStatuses(statuses));
 | 
					    dispatch(importFetchedStatuses(statuses));
 | 
				
			||||||
| 
						 | 
					@ -93,6 +98,7 @@ export const fetchNotificationsGap = createDataLoadingThunk(
 | 
				
			||||||
  'notificationGroups/fetchGap',
 | 
					  'notificationGroups/fetchGap',
 | 
				
			||||||
  async (params: { gap: NotificationGap }, { getState }) =>
 | 
					  async (params: { gap: NotificationGap }, { getState }) =>
 | 
				
			||||||
    apiFetchNotificationGroups({
 | 
					    apiFetchNotificationGroups({
 | 
				
			||||||
 | 
					      grouped_types: supportedGroupedNotificationTypes,
 | 
				
			||||||
      max_id: params.gap.maxId,
 | 
					      max_id: params.gap.maxId,
 | 
				
			||||||
      exclude_types: getExcludedTypes(getState()),
 | 
					      exclude_types: getExcludedTypes(getState()),
 | 
				
			||||||
    }),
 | 
					    }),
 | 
				
			||||||
| 
						 | 
					@ -109,6 +115,7 @@ export const pollRecentNotifications = createDataLoadingThunk(
 | 
				
			||||||
  'notificationGroups/pollRecentNotifications',
 | 
					  'notificationGroups/pollRecentNotifications',
 | 
				
			||||||
  async (_params, { getState }) => {
 | 
					  async (_params, { getState }) => {
 | 
				
			||||||
    return apiFetchNotificationGroups({
 | 
					    return apiFetchNotificationGroups({
 | 
				
			||||||
 | 
					      grouped_types: supportedGroupedNotificationTypes,
 | 
				
			||||||
      max_id: undefined,
 | 
					      max_id: undefined,
 | 
				
			||||||
      exclude_types: getExcludedTypes(getState()),
 | 
					      exclude_types: getExcludedTypes(getState()),
 | 
				
			||||||
      // In slow mode, we don't want to include notifications that duplicate the already-displayed ones
 | 
					      // 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?: {
 | 
					export const apiFetchNotificationGroups = async (params?: {
 | 
				
			||||||
  url?: string;
 | 
					  url?: string;
 | 
				
			||||||
 | 
					  grouped_types?: string[];
 | 
				
			||||||
  exclude_types?: string[];
 | 
					  exclude_types?: string[];
 | 
				
			||||||
  max_id?: string;
 | 
					  max_id?: string;
 | 
				
			||||||
  since_id?: string;
 | 
					  since_id?: string;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue