Skip to content

Commit

Permalink
馃獰聽馃敡 Add Segment event to invite users modal (#18862)
Browse files Browse the repository at this point in the history
* 馃獰聽馃敡  Add Segment event to invite users modal
  • Loading branch information
letiescanciano committed Nov 4, 2022
1 parent 6967d14 commit bf58536
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 5 deletions.
3 changes: 3 additions & 0 deletions .github/teams.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
team/growth:
- "@letiescanciano"
- "@arnaudjnn"
9 changes: 9 additions & 0 deletions .github/workflows/label-pr-by-team.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: "Add labels to github PRs based on team"
on: pull_request
jobs:
team-labeler:
runs-on: ubuntu-latest
steps:
- uses: JulienKode/team-labeler-action@v0.1.1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
1 change: 1 addition & 0 deletions airbyte-webapp/src/core/analytics/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export const enum Action {
SELECTION_OPENED = "SelectionOpened",
CHECKOUT_START = "CheckoutStart",
LOAD_MORE_JOBS = "LoadMoreJobs",
INVITE = "Invite",
}

export type EventParams = Record<string, unknown>;
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@ export const useInviteUsersModalService = () => {
return ctx;
};

export const InviteUsersModalServiceProvider: React.FC<React.PropsWithChildren<unknown>> = ({ children }) => {
interface InviteUsersModalServiceProviderProps {
invitedFrom: "source" | "destination" | "user.settings";
}
export const InviteUsersModalServiceProvider: React.FC<
React.PropsWithChildren<InviteUsersModalServiceProviderProps>
> = ({ children, invitedFrom }) => {
const [isOpen, toggleIsOpen] = useToggle(false);

const contextValue = useMemo<InviteUsersModalServiceContext>(
Expand All @@ -33,7 +38,7 @@ export const InviteUsersModalServiceProvider: React.FC<React.PropsWithChildren<u
return (
<Provider value={contextValue}>
{children}
{isOpen && <InviteUsersModal onClose={toggleIsOpen} />}
{isOpen && <InviteUsersModal onClose={toggleIsOpen} invitedFrom={invitedFrom} />}
</Provider>
);
};
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export const InviteUsersHint: React.VFC<InviteUsersHintProps> = (props) => {
const isVisible = useExperiment("connector.inviteUsersHint.visible", false);

return isVisible ? (
<InviteUsersModalServiceProvider>
<InviteUsersModalServiceProvider invitedFrom={props.connectorType}>
<InviteUsersHintContent {...props} />
</InviteUsersModalServiceProvider>
) : null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ import { DropDown } from "components/ui/DropDown";
import { Input } from "components/ui/Input";
import { Modal } from "components/ui/Modal";

import { Action, Namespace } from "core/analytics";
import { useAnalyticsService } from "hooks/services/Analytics";
import { useNotificationService } from "hooks/services/Notification";
import { useCurrentWorkspace } from "hooks/services/useWorkspace";
import { useUserHook } from "packages/cloud/services/users/UseUserHook";
Expand Down Expand Up @@ -56,6 +58,7 @@ const ROLE_OPTIONS = [

export const InviteUsersModal: React.FC<{
onClose: () => void;
invitedFrom: "source" | "destination" | "user.settings";
}> = (props) => {
const { formatMessage } = useIntl();
const { workspaceId } = useCurrentWorkspace();
Expand All @@ -64,7 +67,7 @@ export const InviteUsersModal: React.FC<{
const { mutateAsync: invite } = inviteUserLogic;

const isRoleVisible = false; // Temporarily hiding roles because there's only 'Admin' in cloud.

const analyticsService = useAnalyticsService();
return (
<Modal title={<FormattedMessage id="modals.addUser.title" />} onClose={props.onClose}>
<Formik
Expand Down Expand Up @@ -92,6 +95,9 @@ export const InviteUsersModal: React.FC<{
},
}
);
analyticsService.track(Namespace.USER, Action.INVITE, {
invited_from: props.invitedFrom,
});
}}
>
{({ values, isValid, isSubmitting, dirty, setFieldValue }) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ export const UsersSettingsView: React.VFC = () => {
useTrackPage(PageTrackingCodes.SETTINGS_ACCESS_MANAGEMENT);

return (
<InviteUsersModalServiceProvider>
<InviteUsersModalServiceProvider invitedFrom="user.settings">
<Header />
<UsersTable />
</InviteUsersModalServiceProvider>
Expand Down

0 comments on commit bf58536

Please sign in to comment.