import * as React from "react";

interface PageProps {
  /**
   * The name of this page
   */
  name?: string;

  /**
   * The path to use for the route
   */
  path?: string;

  /**
   * Whether or not to disable showing the toolbar
   */
  disableToolbar?: boolean;

  /**
   * The props to pass along to the toolbar
   */
  toolbarItems?: object;

  /**
   * The component to append to the toolbar.  Useful for adding full customization of the toolbar
   */
  toolbarComponent?: React.FC;

  /**
   * Whether or not to disable the app drawer menu
   */
  disableAppDrawer?: boolean;

  /**
   * The props to pass long to the app drawer
   */
  appDrawerSettings?: object;

  /**
   * The list of tabs and their settings to display under the toolbar
   */
  tabs?: object[];

  /**
   * Whether or not to disable showing the tabs
   */
  disableTabs?: boolean;

  /**
   * The content to place inside the page
   */
  children?: JSX.Element;

  /**
   * A method for updating the page's toolbar content.
   */
  setToolbarContent?: () => void;
}

/**
 * A simple module for setting up new pages, with routes, etc., and a consistent look & feel
 */
const Page: React.FC<PageProps> = ({ children }) => {
  return <div>{children}</div>;
};

export default Page;
