import React, { FC } from 'react'; import { connect, ConnectedProps } from 'react-redux'; import { useEffectOnce } from 'react-use'; import { config } from '@grafana/runtime'; import { Button, HorizontalGroup } from '@grafana/ui'; import Page from 'app/core/components/Page/Page'; import { StoreState, UserOrg } from 'app/types'; import { getUserOrganizations, setUserOrganization } from './state/actions'; const navModel = { main: { icon: 'grafana', subTitle: 'Preferences', text: 'Select active organization', }, node: { text: 'Select active organization', }, }; const mapStateToProps = (state: StoreState) => { return { userOrgs: state.organization.userOrgs, }; }; const mapDispatchToProps = { setUserOrganization, getUserOrganizations, }; const connector = connect(mapStateToProps, mapDispatchToProps); type Props = ConnectedProps; export const SelectOrgPage: FC = ({ setUserOrganization, getUserOrganizations, userOrgs }) => { const setUserOrg = async (org: UserOrg) => { await setUserOrganization(org.orgId); window.location.href = config.appSubUrl + '/'; }; useEffectOnce(() => { getUserOrganizations(); }); return (

You have been invited to another organization! Please select which organization that you want to use right now. You can change this later at any time.

{userOrgs && userOrgs.map((org) => ( ))}
); }; export default connector(SelectOrgPage);