119 lines
3.1 KiB
TypeScript
119 lines
3.1 KiB
TypeScript
import React from "react";
|
|
import Badge from "./Badge";
|
|
import { Directions } from "utils/helpers";
|
|
import { ReduxActionTypes } from "constants/ReduxActionConstants";
|
|
import { getOnSelectAction, DropdownOnSelectActions } from "./dropdownHelpers";
|
|
import { CustomizedDropdownProps } from "./index";
|
|
|
|
import { Org } from "constants/orgConstants";
|
|
import { User } from "constants/userConstants";
|
|
import history from "utils/history";
|
|
|
|
// 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: (
|
|
<Badge
|
|
text={currentOrg.name}
|
|
imageURL="https://via.placeholder.com/32"
|
|
/>
|
|
),
|
|
disabled: true,
|
|
shouldCloseDropdown: false,
|
|
},
|
|
{
|
|
content: "Organization Settings",
|
|
onSelect: () =>
|
|
getOnSelectAction(DropdownOnSelectActions.REDIRECT, {
|
|
path: "/org/settings",
|
|
}),
|
|
active: history.location.pathname === "/org/settings",
|
|
},
|
|
{
|
|
content: "Applications",
|
|
onSelect: () =>
|
|
getOnSelectAction(DropdownOnSelectActions.REDIRECT, {
|
|
path: "/applications",
|
|
}),
|
|
active: history.location.pathname === "/applications",
|
|
},
|
|
{
|
|
content: "Members",
|
|
onSelect: () =>
|
|
getOnSelectAction(DropdownOnSelectActions.REDIRECT, {
|
|
path: "/users",
|
|
}),
|
|
active: history.location.pathname === "/users",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
options: [
|
|
{
|
|
content: (
|
|
<Badge
|
|
text={user.email}
|
|
subtext={user.email}
|
|
imageURL="https://via.placeholder.com/32"
|
|
/>
|
|
),
|
|
disabled: true,
|
|
shouldCloseDropdown: false,
|
|
},
|
|
{
|
|
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;
|