From bf58536e2b925d664f9b6a3371f2c93855b1dbf0 Mon Sep 17 00:00:00 2001 From: letiescanciano <45267095+letiescanciano@users.noreply.github.com> Date: Fri, 4 Nov 2022 10:01:36 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=AA=9F=C2=A0=F0=9F=94=A7=20=20Add=20Segme?= =?UTF-8?q?nt=20event=20to=20invite=20users=20modal=20(#18862)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🪟 🔧 Add Segment event to invite users modal --- .github/teams.yml | 3 +++ .github/workflows/label-pr-by-team.yml | 9 +++++++++ airbyte-webapp/src/core/analytics/types.ts | 1 + .../cloud/services/users/InviteUsersModalService.tsx | 9 +++++++-- .../views/users/InviteUsersHint/InviteUsersHint.tsx | 2 +- .../views/users/InviteUsersModal/InviteUsersModal.tsx | 8 +++++++- .../views/users/UsersSettingsView/UsersSettingsView.tsx | 2 +- 7 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 .github/teams.yml create mode 100644 .github/workflows/label-pr-by-team.yml diff --git a/.github/teams.yml b/.github/teams.yml new file mode 100644 index 0000000000000..34c12bfffa593 --- /dev/null +++ b/.github/teams.yml @@ -0,0 +1,3 @@ +team/growth: + - "@letiescanciano" + - "@arnaudjnn" diff --git a/.github/workflows/label-pr-by-team.yml b/.github/workflows/label-pr-by-team.yml new file mode 100644 index 0000000000000..da86682e1af0f --- /dev/null +++ b/.github/workflows/label-pr-by-team.yml @@ -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 }}" diff --git a/airbyte-webapp/src/core/analytics/types.ts b/airbyte-webapp/src/core/analytics/types.ts index f73597c16786a..b55359d6c7696 100644 --- a/airbyte-webapp/src/core/analytics/types.ts +++ b/airbyte-webapp/src/core/analytics/types.ts @@ -27,6 +27,7 @@ export const enum Action { SELECTION_OPENED = "SelectionOpened", CHECKOUT_START = "CheckoutStart", LOAD_MORE_JOBS = "LoadMoreJobs", + INVITE = "Invite", } export type EventParams = Record; diff --git a/airbyte-webapp/src/packages/cloud/services/users/InviteUsersModalService.tsx b/airbyte-webapp/src/packages/cloud/services/users/InviteUsersModalService.tsx index 7b209f7435725..3428b7b3e2056 100644 --- a/airbyte-webapp/src/packages/cloud/services/users/InviteUsersModalService.tsx +++ b/airbyte-webapp/src/packages/cloud/services/users/InviteUsersModalService.tsx @@ -19,7 +19,12 @@ export const useInviteUsersModalService = () => { return ctx; }; -export const InviteUsersModalServiceProvider: React.FC> = ({ children }) => { +interface InviteUsersModalServiceProviderProps { + invitedFrom: "source" | "destination" | "user.settings"; +} +export const InviteUsersModalServiceProvider: React.FC< + React.PropsWithChildren +> = ({ children, invitedFrom }) => { const [isOpen, toggleIsOpen] = useToggle(false); const contextValue = useMemo( @@ -33,7 +38,7 @@ export const InviteUsersModalServiceProvider: React.FC {children} - {isOpen && } + {isOpen && } ); }; diff --git a/airbyte-webapp/src/packages/cloud/views/users/InviteUsersHint/InviteUsersHint.tsx b/airbyte-webapp/src/packages/cloud/views/users/InviteUsersHint/InviteUsersHint.tsx index 606f45481dc35..72ead482a842a 100644 --- a/airbyte-webapp/src/packages/cloud/views/users/InviteUsersHint/InviteUsersHint.tsx +++ b/airbyte-webapp/src/packages/cloud/views/users/InviteUsersHint/InviteUsersHint.tsx @@ -60,7 +60,7 @@ export const InviteUsersHint: React.VFC = (props) => { const isVisible = useExperiment("connector.inviteUsersHint.visible", false); return isVisible ? ( - + ) : null; diff --git a/airbyte-webapp/src/packages/cloud/views/users/InviteUsersModal/InviteUsersModal.tsx b/airbyte-webapp/src/packages/cloud/views/users/InviteUsersModal/InviteUsersModal.tsx index eb78eef6c241d..82ea74f3acacd 100644 --- a/airbyte-webapp/src/packages/cloud/views/users/InviteUsersModal/InviteUsersModal.tsx +++ b/airbyte-webapp/src/packages/cloud/views/users/InviteUsersModal/InviteUsersModal.tsx @@ -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"; @@ -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(); @@ -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 ( } onClose={props.onClose}> {({ values, isValid, isSubmitting, dirty, setFieldValue }) => { diff --git a/airbyte-webapp/src/packages/cloud/views/users/UsersSettingsView/UsersSettingsView.tsx b/airbyte-webapp/src/packages/cloud/views/users/UsersSettingsView/UsersSettingsView.tsx index 59e5b582032d8..8c624dc0b524b 100644 --- a/airbyte-webapp/src/packages/cloud/views/users/UsersSettingsView/UsersSettingsView.tsx +++ b/airbyte-webapp/src/packages/cloud/views/users/UsersSettingsView/UsersSettingsView.tsx @@ -120,7 +120,7 @@ export const UsersSettingsView: React.VFC = () => { useTrackPage(PageTrackingCodes.SETTINGS_ACCESS_MANAGEMENT); return ( - +