| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -43,19 +43,19 @@ export default (({ user }: Props) => { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				return next | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      onMutate: async () => { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				await qc.cancelQueries ({ queryKey: ['post', String (id)] }) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				const prev = qc.getQueryData<any> (['post', String (id)]) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				qc.setQueryData (['post', String (id)], | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				await qc.cancelQueries ({ queryKey: ['posts', String (id)] }) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				const prev = qc.getQueryData<any> (['posts', String (id)]) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				qc.setQueryData (['posts', String (id)], | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
						 (cur: any) => cur ? { ...cur, viewed: !(cur.viewed) } : cur) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				return { prev } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      onError: (...[, , ctx]) => { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				if (ctx?.prev) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				  qc.setQueryData (['post', String (id)], ctx.prev) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				  qc.setQueryData (['posts', String (id)], ctx.prev) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				toast ({ title: '失敗……', description: '通信に失敗しました……' }) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      onSuccess: () => { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				qc.invalidateQueries ({ queryKey: ['posts'] }) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				qc.invalidateQueries ({ queryKey: ['posts', 'index'] }) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				qc.invalidateQueries ({ queryKey: ['related', String (id)] }) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } }) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |