import React from "react"; import Badge from "./Badge"; import { Directions } from "utils/helpers"; import { ReduxActionTypes } from "constants/ReduxActionConstants"; import { getOnSelectAction, DropdownOnSelectActions } from "./dropdownHelpers"; import DropdownComponent, { CustomizedDropdownProps } from "./index"; import { Link } from "react-router-dom"; import { Org } from "constants/orgConstants"; import { User } from "constants/userConstants"; const switchdropdown = (orgs: Org[]): CustomizedDropdownProps => ({ sections: [ { isSticky: true, options: [ { content: "Create Organization", onSelect: () => getOnSelectAction(DropdownOnSelectActions.FORM, {}), }, ], }, { options: orgs.map(org => ({ content: org.name, onSelect: () => getOnSelectAction(DropdownOnSelectActions.DISPATCH, { type: ReduxActionTypes.SWITCH_ORGANIZATION_INIT, payload: { organizationId: org.id, }, }), })), }, ], trigger: { text: "Switch Organization", }, openDirection: Directions.RIGHT, openOnHover: false, }); export const options = ( orgs: Org[], currentOrg: Org, user: User, ): CustomizedDropdownProps => ({ sections: [ { options: [ { content: ( ), active: false, }, { content: Organization Settings, }, { content: Applications, }, { content: Members, }, { content: Usage & Billing, }, { content: Support, }, { content: , shouldCloseDropdown: false, }, { content: "Switch To Personal Workspace", onSelect: () => getOnSelectAction(DropdownOnSelectActions.DISPATCH, { type: ReduxActionTypes.SWITCH_ORGANIZATION_INIT, payload: { organizationId: currentOrg.id }, }), }, ], }, { options: [ { content: ( ), active: false, }, { content: "Settings", onSelect: () => getOnSelectAction( DropdownOnSelectActions.REDIRECT, "/org/settings", ), }, { content: "Sign Out", onSelect: () => getOnSelectAction(DropdownOnSelectActions.DISPATCH, { type: ReduxActionTypes.LOGOUT_USER_INIT, }), }, ], }, ], trigger: { icon: "ORG_ICON", text: currentOrg.name, outline: false, }, openDirection: Directions.DOWN, }); export default options;