import {BrowserRouter, BrowserRouterProps} from 'react-router'

import {NavigationManager} from '../../internal/navigation-manager'

import {TransitionContainer} from './transition-container'

export interface MinisRouterProps extends BrowserRouterProps {
  viewTransitions?: boolean
}

export function MinisRouter({
  children,
  viewTransitions = false,
  ...props
}: MinisRouterProps) {
  if (viewTransitions) {
    return (
      <BrowserRouter {...props}>
        <NavigationManager />
        <TransitionContainer>{children}</TransitionContainer>
      </BrowserRouter>
    )
  }

  return (
    <BrowserRouter {...props}>
      <NavigationManager />
      {children}
    </BrowserRouter>
  )
}
