Change links in multi-column mode so tabs are open in single-column mode (#25893)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							41f65edb21
						
					
				
				
					commit
					5fad7bd58a
				
			
							
								
								
									
										23
									
								
								app/javascript/mastodon/components/router.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								app/javascript/mastodon/components/router.tsx
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
import type { PropsWithChildren } from 'react';
 | 
			
		||||
import React from 'react';
 | 
			
		||||
 | 
			
		||||
import type { History } from 'history';
 | 
			
		||||
import { createBrowserHistory } from 'history';
 | 
			
		||||
import { Router as OriginalRouter } from 'react-router';
 | 
			
		||||
 | 
			
		||||
import { layoutFromWindow } from 'mastodon/is_mobile';
 | 
			
		||||
 | 
			
		||||
const browserHistory = createBrowserHistory();
 | 
			
		||||
const originalPush = browserHistory.push.bind(browserHistory);
 | 
			
		||||
 | 
			
		||||
browserHistory.push = (path: string, state: History.LocationState) => {
 | 
			
		||||
  if (layoutFromWindow() === 'multi-column' && !path.startsWith('/deck')) {
 | 
			
		||||
    originalPush(`/deck${path}`, state);
 | 
			
		||||
  } else {
 | 
			
		||||
    originalPush(path, state);
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const Router: React.FC<PropsWithChildren> = ({ children }) => {
 | 
			
		||||
  return <OriginalRouter history={browserHistory}>{children}</OriginalRouter>;
 | 
			
		||||
};
 | 
			
		||||
		Reference in New Issue
	
	Block a user