Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: added analytics, still need to configure in posthog #70

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading