import AddEditForm from "./AddEditForm";
import BabbuTable from "./BabbuTable";
import CustomEditModal from "./CustomEditModal";
import CustomerMessaging from "./CustomerMessaging";
import CustomStaticDropDown from "./CustomStaticDropDown";
import CustomStaticDropDownBlue from "./CustomStaticDropDownBlue";
import CustomStaticDropDownWhite from "./CustomStaticDropDownWhite";
import CustomTable from "./CustomTable";
import {DashboardAggregateCard} from './DashboardAggregateCard';
import {DashboardContainer} from './DashboardContainer';
import DelightHeader from "./DelightHeader";
import DelightSubheader from "./DelightSubheader";
import DelightTable from "./DelightTable";
import Login from './Login';
import LoginScreenComponent from './LoginScreenComponent';
import Messaging from "./Messaging";
import UserLogoutComponent from "./UserLogoutComponent";
import PieChartComponent from "./PieChartComponent";
import BarChartComponent from "./BarChartComponent";
import LineChartComponent from "./LineChartComponent";

const componentsHash: any = {
    CustomEditModal,
    CustomTable,
    AddEditForm,
    CustomStaticDropDown,
    CustomStaticDropDownBlue,
    CustomStaticDropDownWhite,
    DelightTable,
    BabbuTable,
    DelightSubheader,
    DelightHeader,
    UserLogoutComponent,
    Messaging,
    CustomerMessaging,
    DashboardAggregateCard,
    DashboardContainer,
    Login,
    LoginScreenComponent,
    PieChartComponent,
    BarChartComponent,
    LineChartComponent
}

const components: any = Object.keys(componentsHash);

function getComponent(componentName: keyof typeof componentsHash): any {
    return components.includes(componentName) ? componentsHash[componentName] : null;
}

export { getComponent };
