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;