Skip to content

Commit

Permalink
Merge pull request #70 from JustaName-id/anthonyk/engr-690-add-analyt…
Browse files Browse the repository at this point in the history
…ics-to-demo-through-posthog

* feat: added analytics, still need to configure in posthog

* fix: mobile buttons in console

* merge

* feat: added analytics for console

---------

Co-authored-by: HadiKhai <[email protected]>
  • Loading branch information
anthony23991 and HadiKhai authored Dec 11, 2024
2 parents ab657a5 + 19635a3 commit 43362a4
Show file tree
Hide file tree
Showing 57 changed files with 820 additions and 145 deletions.
46 changes: 46 additions & 0 deletions apps/console/next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,52 @@ const nextConfig = {
// See: https://github.com/gregberge/svgr
svgr: false,
},
async rewrites() {
return [
// Posthog
{
source: '/analytics/:path*',
destination: 'https://eu.posthog.com/:path*',
},
{
source: '/analytics/:path*/',
destination: 'https://eu.posthog.com/:path*/',
},
];
},
skipTrailingSlashRedirect: true,
async headers() {
async function getMyIp() {
const x = await fetch('https://api.ipify.org');
// const x = await fetch('https://api.my-ip.io/ip')
return await x.text();
}
const ip = await getMyIp();
return [
{
source: '/analytics/:path*',
headers: [
{ key: 'X-Forwarded-Proto', value: 'https' },
{
key: 'X-Forwarded-Host',
value: 'https://www.useflytrap.com',
},
{ key: 'X-Forwarded-For', value: ip },
],
},
{
source: '/analytics/:path*/',
headers: [
{ key: 'X-Forwarded-Proto', value: 'https' },
{
key: 'X-Forwarded-Host',
value: 'https://www.useflytrap.com',
},
{ key: 'X-Forwarded-For', value: ip },
],
},
];
},
experimental: {
serverComponentsExternalPackages: ['@xmtp/user-preferences-bindings-wasm'],
},
Expand Down
12 changes: 12 additions & 0 deletions apps/console/src/analytics/events/auth/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
SUBNAME_CONNECTED,
SubnameConnectedPayload,
} from './subname-connected';

export const AUTH_EVENTS = {
SUBNAME_CONNECTED,
} as const;

export interface AuthEventPayload {
[SUBNAME_CONNECTED]: SubnameConnectedPayload;
}
6 changes: 6 additions & 0 deletions apps/console/src/analytics/events/auth/subname-connected.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export const SUBNAME_CONNECTED = 'SUBNAME_CONNECTED';

export interface SubnameConnectedPayload {
subname: string;
chainId: number;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const ENS_BY_API_KEY_CALLED = 'ENS_BY_API_KEY_CALLED';

export interface EnsByApiKeyCalledPayload {}
12 changes: 12 additions & 0 deletions apps/console/src/analytics/events/claimSection/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
ENS_BY_API_KEY_CALLED,
EnsByApiKeyCalledPayload,
} from './ens-by-api-key-called';

export const CLAIM_SECTION_EVENTS = {
ENS_BY_API_KEY_CALLED,
} as const;

export interface ClaimSectionEventPayload {
[ENS_BY_API_KEY_CALLED]: EnsByApiKeyCalledPayload;
}
3 changes: 3 additions & 0 deletions apps/console/src/analytics/events/code/code-copied.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const CODE_COPIED = 'CODE_COPIED';

export interface CodeCopiedPayload {}
9 changes: 9 additions & 0 deletions apps/console/src/analytics/events/code/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { CODE_COPIED, CodeCopiedPayload } from './code-copied';

export const CODE_EVENTS = {
CODE_COPIED,
} as const;

export interface CodeEventPayload {
[CODE_COPIED]: CodeCopiedPayload;
}
26 changes: 26 additions & 0 deletions apps/console/src/analytics/events/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { AUTH_EVENTS, AuthEventPayload } from './auth';
import { CLAIM_SECTION_EVENTS, ClaimSectionEventPayload } from './claimSection';
import { CODE_EVENTS, CodeEventPayload } from './code';
import { NAVIGATION_EVENTS, NavigationEventPayload } from './navigation';
import { NETWORK_EVENTS, NetworkEventPayload } from './network';
import { PLUGINS_EVENTS, PluginsEventPayload } from './plugins';
import { SIGN_SECTION_EVENTS, SignSectionEventPayload } from './signSection';

export const EVENTS = {
...AUTH_EVENTS,
...CLAIM_SECTION_EVENTS,
...CODE_EVENTS,
...NAVIGATION_EVENTS,
...NETWORK_EVENTS,
...PLUGINS_EVENTS,
...SIGN_SECTION_EVENTS,
} as const;

export interface EventPayload
extends CodeEventPayload,
NavigationEventPayload,
PluginsEventPayload,
AuthEventPayload,
NetworkEventPayload,
ClaimSectionEventPayload,
SignSectionEventPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const DASHBOARD_LINK_CLICKED = 'DASHBOARD_LINK_CLICKED';

export interface DashboardLinkClickedPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const DOCS_LINK_CLICKED = 'DOCS_LINK_CLICKED';

export interface DocsLinkClickedPayload {}
18 changes: 18 additions & 0 deletions apps/console/src/analytics/events/navigation/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import {
DASHBOARD_LINK_CLICKED,
DashboardLinkClickedPayload,
} from './dashboard-link-clicked';
import { DOCS_LINK_CLICKED, DocsLinkClickedPayload } from './docs-link-clicked';
import { PROFILE_VIEWED, ProfileViewedPayload } from './profile-viewed';

export const NAVIGATION_EVENTS = {
DOCS_LINK_CLICKED,
PROFILE_VIEWED,
DASHBOARD_LINK_CLICKED,
} as const;

export interface NavigationEventPayload {
[DOCS_LINK_CLICKED]: DocsLinkClickedPayload;
[PROFILE_VIEWED]: ProfileViewedPayload;
[DASHBOARD_LINK_CLICKED]: DashboardLinkClickedPayload;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export const PROFILE_VIEWED = 'PROFILE_VIEWED';

export interface ProfileViewedPayload {
ens: string;
chainId?: number;
}
9 changes: 9 additions & 0 deletions apps/console/src/analytics/events/network/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { NETWORK_CHANGED, NetworkChangedPayload } from './network-changed';

export const NETWORK_EVENTS = {
NETWORK_CHANGED,
} as const;

export interface NetworkEventPayload {
[NETWORK_CHANGED]: NetworkChangedPayload;
}
5 changes: 5 additions & 0 deletions apps/console/src/analytics/events/network/network-changed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const NETWORK_CHANGED = 'NETWORK_CHANGED';

export interface NetworkChangedPayload {
chainId: number;
}
3 changes: 3 additions & 0 deletions apps/console/src/analytics/events/plugins/efp-disabled.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const EFP_DISABLED = 'EFP_DISABLED';

export interface EfpDisabledPayload {}
3 changes: 3 additions & 0 deletions apps/console/src/analytics/events/plugins/efp-enabled.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const EFP_ENABLED = 'EFP_ENABLED';

export interface EfpEnabledPayload {}
53 changes: 53 additions & 0 deletions apps/console/src/analytics/events/plugins/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import { EFP_DISABLED, EfpDisabledPayload } from './efp-disabled';
import { EFP_ENABLED, EfpEnabledPayload } from './efp-enabled';
import {
JUST_VERIFIED_DISABLED,
JustVerifiedDisabledPayload,
} from './just-verified-disabled';
import {
JUST_VERIFIED_ENABLED,
JustVerifiedEnabledPayload,
} from './just-verified-enabled';
import {
JUST_VERIFIED_EVENTS,
JustVerifiedEventsPayload,
} from './justVerified';
import { POAP_DISABLED, PoapDisabledPayload } from './poap-disabled';
import { POAP_ENABLED, PoapEnabledPayload } from './poap-enabled';
import {
TALENT_PROTOCOL_DISABLED,
TalentProtocolDisabledPayload,
} from './talent-protocol-disabled';
import {
TALENT_PROTOCOL_ENABLED,
TalentProtocolEnabledPayload,
} from './talent-protocol-enabled';
import { XMTP_DISABLED, XmtpDisabledPayload } from './xmtp-disabled';
import { XMTP_ENABLED, XmtpEnabledPayload } from './xmtp-enabled';

export const PLUGINS_EVENTS = {
JUST_VERIFIED_DISABLED,
JUST_VERIFIED_ENABLED,
EFP_DISABLED,
EFP_ENABLED,
POAP_DISABLED,
POAP_ENABLED,
TALENT_PROTOCOL_DISABLED,
TALENT_PROTOCOL_ENABLED,
XMTP_DISABLED,
XMTP_ENABLED,
...JUST_VERIFIED_EVENTS,
} as const;

export interface PluginsEventPayload extends JustVerifiedEventsPayload {
[JUST_VERIFIED_DISABLED]: JustVerifiedDisabledPayload;
[JUST_VERIFIED_ENABLED]: JustVerifiedEnabledPayload;
[EFP_DISABLED]: EfpDisabledPayload;
[EFP_ENABLED]: EfpEnabledPayload;
[POAP_DISABLED]: PoapDisabledPayload;
[POAP_ENABLED]: PoapEnabledPayload;
[TALENT_PROTOCOL_DISABLED]: TalentProtocolDisabledPayload;
[TALENT_PROTOCOL_ENABLED]: TalentProtocolEnabledPayload;
[XMTP_DISABLED]: XmtpDisabledPayload;
[XMTP_ENABLED]: XmtpEnabledPayload;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const JUST_VERIFIED_DISABLED = 'JUST_VERIFIED_DISABLED';

export interface JustVerifiedDisabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const JUST_VERIFIED_ENABLED = 'JUST_VERIFIED_ENABLED';

export interface JustVerifiedEnabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const DISCORD_DISABLED = 'DISCORD_DISABLED';

export interface DiscordDisabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const DISCORD_ENABLED = 'DISCORD_ENABLED';

export interface DiscordEnabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const EMAIL_DISABLED = 'EMAIL_DISABLED';

export interface EmailDisabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const EMAIL_ENABLED = 'EMAIL_ENABLED';

export interface EmailEnabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const GITHUB_DISABLED = 'GITHUB_DISABLED';

export interface GithubDisabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const GITHUB_ENABLED = 'GITHUB_ENABLED';

export interface GithubEnabledPayload {}
39 changes: 39 additions & 0 deletions apps/console/src/analytics/events/plugins/justVerified/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { DISCORD_DISABLED, DiscordDisabledPayload } from './discord-disabled';
import { DISCORD_ENABLED, DiscordEnabledPayload } from './discord-enabled';
import { EMAIL_DISABLED, EmailDisabledPayload } from './email-disabled';
import { EMAIL_ENABLED, EmailEnabledPayload } from './email-enabled';
import { GITHUB_DISABLED, GithubDisabledPayload } from './github-disabled';
import { GITHUB_ENABLED, GithubEnabledPayload } from './github-enabled';
import {
TELEGRAM_DISABLED,
TelegramDisabledPayload,
} from './telegram-disabled';
import { TELEGRAM_ENABLED, TelegramEnabledPayload } from './telegram-enabled';
import { TWITTER_DISABLED, TwitterDisabledPayload } from './twitter-disabled';
import { TWITTER_ENABLED, TwitterEnabledPayload } from './twitter-enabled';

export const JUST_VERIFIED_EVENTS = {
DISCORD_DISABLED,
DISCORD_ENABLED,
EMAIL_DISABLED,
EMAIL_ENABLED,
GITHUB_DISABLED,
GITHUB_ENABLED,
TELEGRAM_DISABLED,
TELEGRAM_ENABLED,
TWITTER_DISABLED,
TWITTER_ENABLED,
} as const;

export interface JustVerifiedEventsPayload {
[DISCORD_DISABLED]: DiscordDisabledPayload;
[DISCORD_ENABLED]: DiscordEnabledPayload;
[EMAIL_DISABLED]: EmailDisabledPayload;
[EMAIL_ENABLED]: EmailEnabledPayload;
[GITHUB_DISABLED]: GithubDisabledPayload;
[GITHUB_ENABLED]: GithubEnabledPayload;
[TELEGRAM_DISABLED]: TelegramDisabledPayload;
[TELEGRAM_ENABLED]: TelegramEnabledPayload;
[TWITTER_DISABLED]: TwitterDisabledPayload;
[TWITTER_ENABLED]: TwitterEnabledPayload;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const TELEGRAM_DISABLED = 'TELEGRAM_DISABLED';

export interface TelegramDisabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const TELEGRAM_ENABLED = 'TELEGRAM_ENABLED';

export interface TelegramEnabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const TWITTER_DISABLED = 'TWITTER_DISABLED';

export interface TwitterDisabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const TWITTER_ENABLED = 'TWITTER_ENABLED';

export interface TwitterEnabledPayload {}
3 changes: 3 additions & 0 deletions apps/console/src/analytics/events/plugins/poap-disabled.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const POAP_DISABLED = 'POAP_DISABLED';

export interface PoapDisabledPayload {}
3 changes: 3 additions & 0 deletions apps/console/src/analytics/events/plugins/poap-enabled.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const POAP_ENABLED = 'POAP_ENABLED';

export interface PoapEnabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const TALENT_PROTOCOL_DISABLED = 'TALENT_PROTOCOL_DISABLED';

export interface TalentProtocolDisabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const TALENT_PROTOCOL_ENABLED = 'TALENT_PROTOCOL_ENABLED';

export interface TalentProtocolEnabledPayload {}
3 changes: 3 additions & 0 deletions apps/console/src/analytics/events/plugins/xmtp-disabled.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const XMTP_DISABLED = 'XMTP_DISABLED';

export interface XmtpDisabledPayload {}
3 changes: 3 additions & 0 deletions apps/console/src/analytics/events/plugins/xmtp-enabled.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const XMTP_ENABLED = 'XMTP_ENABLED';

export interface XmtpEnabledPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const ANY_ENS_SELECTED = 'ANY_ENS_SELECTED';

export interface AnyEnsSelectedPayload {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const CLAIMABLE_ENS_SELECTED = 'CLAIMABLE_ENS_SELECTED';

export interface ClaimableEnsSelectedPayload {}
21 changes: 21 additions & 0 deletions apps/console/src/analytics/events/signSection/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { ANY_ENS_SELECTED, AnyEnsSelectedPayload } from './any-ens-selected';
import {
CLAIMABLE_ENS_SELECTED,
ClaimableEnsSelectedPayload,
} from './claimable-ens-selected';
import {
SPECIFIC_ENS_SELECTED,
SpecificEnsSelectedPayload,
} from './specific-ens-selected';

export const SIGN_SECTION_EVENTS = {
ANY_ENS_SELECTED,
SPECIFIC_ENS_SELECTED,
CLAIMABLE_ENS_SELECTED,
} as const;

export interface SignSectionEventPayload {
[ANY_ENS_SELECTED]: AnyEnsSelectedPayload;
[SPECIFIC_ENS_SELECTED]: SpecificEnsSelectedPayload;
[CLAIMABLE_ENS_SELECTED]: ClaimableEnsSelectedPayload;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const SPECIFIC_ENS_SELECTED = 'SPECIFIC_ENS_SELECTED';

export interface SpecificEnsSelectedPayload {
ens: string;
}
Loading

0 comments on commit 43362a4

Please sign in to comment.