Change links in multi-column mode so tabs are open in single-column mode (#25893)
parent
41f65edb21
commit
5fad7bd58a
12 changed files with 77 additions and 19 deletions
@ -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>; |
||||
}; |
Loading…
Reference in new issue