import React from 'react';
import DocsVersionNavbarItem from '@theme/NavbarItem/DocsVersionNavbarItem';
import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
import DocsVersionDropdownNavbarItem from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';

const NavbarItemComponents = {
  default: DefaultNavbarItem,
  docsVersion: DocsVersionNavbarItem,
  docsVersionDropdown: DocsVersionDropdownNavbarItem,
};

const getNavbarItemComponent = (type = 'default') => {
  const NavbarItemComponent = NavbarItemComponents[type];

  if (!NavbarItemComponent) {
    throw new Error(`No NavbarItem component found for type=${type}.`);
  }

  return NavbarItemComponent;
};

export default function NavbarItem({ type, ...props }) {
  const NavbarItemComponent = getNavbarItemComponent(type);
  return <NavbarItemComponent {...props} />;
}
