[Glitch] Fix reporting from profile
Port b7cf11d5a93530f736b1584f0d13d8fe50f45ccf to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
		
							parent
							
								
									fc2c65d79f
								
							
						
					
					
						commit
						ae3cd3b84c
					
				| @ -8,7 +8,7 @@ export const REPORT_SUBMIT_FAIL    = 'REPORT_SUBMIT_FAIL'; | ||||
| export const initReport = (account, status) => dispatch => | ||||
|   dispatch(openModal('REPORT', { | ||||
|     accountId: account.get('id'), | ||||
|     statusId: status.get('id'), | ||||
|     statusId: status?.get('id'), | ||||
|   })); | ||||
| 
 | ||||
| export const submitReport = (params, onSuccess, onFail) => (dispatch, getState) => { | ||||
|  | ||||
| @ -17,7 +17,6 @@ import push_notifications from './push_notifications'; | ||||
| import status_lists from './status_lists'; | ||||
| import mutes from './mutes'; | ||||
| import blocks from './blocks'; | ||||
| // import reports from './reports';
 | ||||
| import rules from './rules'; | ||||
| import boosts from './boosts'; | ||||
| import contexts from './contexts'; | ||||
| @ -65,7 +64,6 @@ const reducers = { | ||||
|   push_notifications, | ||||
|   mutes, | ||||
|   blocks, | ||||
|   // reports,
 | ||||
|   rules, | ||||
|   boosts, | ||||
|   contexts, | ||||
|  | ||||
| @ -1,77 +0,0 @@ | ||||
| import { | ||||
|   REPORT_INIT, | ||||
|   REPORT_SUBMIT_REQUEST, | ||||
|   REPORT_SUBMIT_SUCCESS, | ||||
|   REPORT_SUBMIT_FAIL, | ||||
|   REPORT_CANCEL, | ||||
|   REPORT_STATUS_TOGGLE, | ||||
|   REPORT_COMMENT_CHANGE, | ||||
|   REPORT_FORWARD_CHANGE, | ||||
| } from 'flavours/glitch/actions/reports'; | ||||
| import { | ||||
|   TIMELINE_DELETE, | ||||
| } from 'flavours/glitch/actions/timelines'; | ||||
| import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable'; | ||||
| 
 | ||||
| const initialState = ImmutableMap({ | ||||
|   new: ImmutableMap({ | ||||
|     isSubmitting: false, | ||||
|     account_id: null, | ||||
|     status_ids: ImmutableSet(), | ||||
|     comment: '', | ||||
|     forward: false, | ||||
|   }), | ||||
| }); | ||||
| 
 | ||||
| const deleteStatus = (state, id, references) => { | ||||
|   references.forEach(ref => { | ||||
|     state = deleteStatus(state, ref[0], []); | ||||
|   }); | ||||
| 
 | ||||
|   return state.updateIn(['new', 'status_ids'], ImmutableSet(), set => set.remove(id)); | ||||
| }; | ||||
| 
 | ||||
| export default function reports(state = initialState, action) { | ||||
|   switch(action.type) { | ||||
|   case REPORT_INIT: | ||||
|     return state.withMutations(map => { | ||||
|       map.setIn(['new', 'isSubmitting'], false); | ||||
|       map.setIn(['new', 'account_id'], action.account.get('id')); | ||||
| 
 | ||||
|       if (state.getIn(['new', 'account_id']) !== action.account.get('id')) { | ||||
|         map.setIn(['new', 'status_ids'], action.status ? ImmutableSet([action.status.getIn(['reblog', 'id'], action.status.get('id'))]) : ImmutableSet()); | ||||
|         map.setIn(['new', 'comment'], ''); | ||||
|       } else if (action.status) { | ||||
|         map.updateIn(['new', 'status_ids'], ImmutableSet(), set => set.add(action.status.getIn(['reblog', 'id'], action.status.get('id')))); | ||||
|       } | ||||
|     }); | ||||
|   case REPORT_STATUS_TOGGLE: | ||||
|     return state.updateIn(['new', 'status_ids'], ImmutableSet(), set => { | ||||
|       if (action.checked) { | ||||
|         return set.add(action.statusId); | ||||
|       } | ||||
| 
 | ||||
|       return set.remove(action.statusId); | ||||
|     }); | ||||
|   case REPORT_COMMENT_CHANGE: | ||||
|     return state.setIn(['new', 'comment'], action.comment); | ||||
|   case REPORT_FORWARD_CHANGE: | ||||
|     return state.setIn(['new', 'forward'], action.forward); | ||||
|   case REPORT_SUBMIT_REQUEST: | ||||
|     return state.setIn(['new', 'isSubmitting'], true); | ||||
|   case REPORT_SUBMIT_FAIL: | ||||
|     return state.setIn(['new', 'isSubmitting'], false); | ||||
|   case REPORT_CANCEL: | ||||
|   case REPORT_SUBMIT_SUCCESS: | ||||
|     return state.withMutations(map => { | ||||
|       map.setIn(['new', 'account_id'], null); | ||||
|       map.setIn(['new', 'status_ids'], ImmutableSet()); | ||||
|       map.setIn(['new', 'comment'], ''); | ||||
|       map.setIn(['new', 'isSubmitting'], false); | ||||
|     }); | ||||
|   case TIMELINE_DELETE: | ||||
|     return deleteStatus(state, action.id, action.references); | ||||
|   default: | ||||
|     return state; | ||||
|   } | ||||
| }; | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user