Improve modal flow and back button handling (#16499)
* Refactor shouldUpdateScroll passing So far, shouldUpdateScroll has been manually passed down from the very top of the React component hierarchy even though it is a static function common to all ScrollContainer instances, so replaced that with a custom class extending ScrollContainer. * Generalize “press back to close modal” to any modal and to public pages * Fix boost confirmation modal closing media modal
This commit is contained in:
		
							parent
							
								
									a2ce7508c9
								
							
						
					
					
						commit
						d3791cca0c
					
				
					 35 changed files with 120 additions and 197 deletions
				
			
		| 
						 | 
				
			
			@ -45,7 +45,7 @@ import { initBlockModal } from '../../actions/blocks';
 | 
			
		|||
import { initBoostModal } from '../../actions/boosts';
 | 
			
		||||
import { initReport } from '../../actions/reports';
 | 
			
		||||
import { makeGetStatus, makeGetPictureInPicture } from '../../selectors';
 | 
			
		||||
import { ScrollContainer } from 'react-router-scroll-4';
 | 
			
		||||
import ScrollContainer from 'mastodon/containers/scroll_container';
 | 
			
		||||
import ColumnBackButton from '../../components/column_back_button';
 | 
			
		||||
import ColumnHeader from '../../components/column_header';
 | 
			
		||||
import StatusContainer from '../../containers/status_container';
 | 
			
		||||
| 
						 | 
				
			
			@ -498,7 +498,7 @@ class Status extends ImmutablePureComponent {
 | 
			
		|||
 | 
			
		||||
  render () {
 | 
			
		||||
    let ancestors, descendants;
 | 
			
		||||
    const { shouldUpdateScroll, status, ancestorsIds, descendantsIds, intl, domain, multiColumn, pictureInPicture } = this.props;
 | 
			
		||||
    const { status, ancestorsIds, descendantsIds, intl, domain, multiColumn, pictureInPicture } = this.props;
 | 
			
		||||
    const { fullscreen } = this.state;
 | 
			
		||||
 | 
			
		||||
    if (status === null) {
 | 
			
		||||
| 
						 | 
				
			
			@ -541,7 +541,7 @@ class Status extends ImmutablePureComponent {
 | 
			
		|||
          )}
 | 
			
		||||
        />
 | 
			
		||||
 | 
			
		||||
        <ScrollContainer scrollKey='thread' shouldUpdateScroll={shouldUpdateScroll}>
 | 
			
		||||
        <ScrollContainer scrollKey='thread'>
 | 
			
		||||
          <div className={classNames('scrollable', { fullscreen })} ref={this.setRef}>
 | 
			
		||||
            {ancestors}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue