Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit c94137b

Browse files
authored
Merge pull request #5409 from matrix-org/t3chguy/home-page-analytics
Add Analytics instrumentation to the Homepage
2 parents dea4fd6 + 14391a7 commit c94137b

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

src/components/structures/HomePage.tsx

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,26 @@ import {UPDATE_EVENT} from "../../stores/AsyncStore";
3131
import {useEventEmitter} from "../../hooks/useEventEmitter";
3232
import MatrixClientContext from "../../contexts/MatrixClientContext";
3333
import MiniAvatarUploader, {AVATAR_SIZE} from "../views/elements/MiniAvatarUploader";
34+
import Analytics from "../../Analytics";
35+
import CountlyAnalytics from "../../CountlyAnalytics";
3436

35-
const onClickSendDm = () => dis.dispatch({action: 'view_create_chat'});
36-
const onClickExplore = () => dis.fire(Action.ViewRoomDirectory);
37-
const onClickNewRoom = () => dis.dispatch({action: 'view_create_room'});
37+
const onClickSendDm = () => {
38+
Analytics.trackEvent('home_page', 'button', 'dm');
39+
CountlyAnalytics.instance.track("home_page_button", { button: "dm" });
40+
dis.dispatch({action: 'view_create_chat'});
41+
};
42+
43+
const onClickExplore = () => {
44+
Analytics.trackEvent('home_page', 'button', 'room_directory');
45+
CountlyAnalytics.instance.track("home_page_button", { button: "room_directory" });
46+
dis.fire(Action.ViewRoomDirectory);
47+
};
48+
49+
const onClickNewRoom = () => {
50+
Analytics.trackEvent('home_page', 'button', 'create_room');
51+
CountlyAnalytics.instance.track("home_page_button", { button: "create_room" });
52+
dis.dispatch({action: 'view_create_room'});
53+
};
3854

3955
interface IProps {
4056
justRegistered?: boolean;

src/components/views/elements/MiniAvatarUploader.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import AccessibleButton from "./AccessibleButton";
2121
import Tooltip from './Tooltip';
2222
import MatrixClientContext from "../../../contexts/MatrixClientContext";
2323
import {useTimeout} from "../../../hooks/useTimeout";
24+
import Analytics from "../../../Analytics";
25+
import CountlyAnalytics from '../../../CountlyAnalytics';
2426

2527
export const AVATAR_SIZE = 52;
2628

@@ -56,6 +58,8 @@ const MiniAvatarUploader: React.FC<IProps> = ({ hasAvatar, hasAvatarLabel, noAva
5658
onChange={async (ev) => {
5759
if (!ev.target.files?.length) return;
5860
setBusy(true);
61+
Analytics.trackEvent("mini_avatar", "upload");
62+
CountlyAnalytics.instance.track("mini_avatar_upload");
5963
const file = ev.target.files[0];
6064
const uri = await cli.uploadContent(file);
6165
await setAvatarUrl(uri);

0 commit comments

Comments
 (0)