mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
1export type TrackEvent = (
2 event: keyof TrackPropertiesMap,
3 properties?: TrackPropertiesMap[keyof TrackPropertiesMap],
4) => Promise<void>
5
6export type ScreenEvent = (
7 name: keyof ScreenPropertiesMap,
8 properties?: ScreenPropertiesMap[keyof ScreenPropertiesMap],
9) => Promise<void>
10
11interface TrackPropertiesMap {
12 // LOGIN / SIGN UP events
13 'Sign In': {resumedSession: boolean} // CAN BE SERVER
14 'Create Account': {} // CAN BE SERVER
15 'Try Create Account': {}
16 'Signin:PressedForgotPassword': {}
17 'Signin:PressedSelectService': {}
18 // COMPOSER / CREATE POST events
19 'Create Post': {imageCount: string} // CAN BE SERVER
20 'Composer:PastedPhotos': {}
21 'Composer:CameraOpened': {}
22 'Composer:GalleryOpened': {}
23 'Composer:ThreadgateOpened': {}
24 'HomeScreen:PressCompose': {}
25 'ProfileScreen:PressCompose': {}
26 // EDIT PROFILE events
27 'EditHandle:ViewCustomForm': {}
28 'EditHandle:ViewProvidedForm': {}
29 'EditHandle:SetNewHandle': {}
30 'EditProfile:AvatarSelected': {}
31 'EditProfile:BannerSelected': {}
32 'EditProfile:Save': {} // CAN BE SERVER
33 // FEED events
34 'Feed:onRefresh': {}
35 'Feed:onEndReached': {}
36 // POST events
37 'Post:Like': {} // CAN BE SERVER
38 'Post:Unlike': {} // CAN BE SERVER
39 'Post:Repost': {} // CAN BE SERVER
40 'Post:Unrepost': {} // CAN BE SERVER
41 'Post:Delete': {} // CAN BE SERVER
42 'Post:ThreadMute': {} // CAN BE SERVER
43 'Post:ThreadUnmute': {} // CAN BE SERVER
44 'Post:Reply': {} // CAN BE SERVER
45 // PROFILE events
46 'Profile:Follow': {
47 username: string
48 }
49 'Profile:Unfollow': {
50 username: string
51 }
52 // PROFILE HEADER events
53 'ProfileHeader:EditProfileButtonClicked': {}
54 'ProfileHeader:FollowersButtonClicked': {
55 handle: string
56 }
57 'ProfileHeader:FollowsButtonClicked': {
58 handle: string
59 }
60 'ProfileHeader:ShareButtonClicked': {}
61 'ProfileHeader:MuteAccountButtonClicked': {}
62 'ProfileHeader:UnmuteAccountButtonClicked': {}
63 'ProfileHeader:ReportAccountButtonClicked': {}
64 'ProfileHeader:AddToListsButtonClicked': {}
65 'ProfileHeader:BlockAccountButtonClicked': {}
66 'ProfileHeader:UnblockAccountButtonClicked': {}
67 'ProfileHeader:FollowButtonClicked': {}
68 'ProfileHeader:UnfollowButtonClicked': {}
69 'ProfileHeader:SuggestedFollowsOpened': {}
70 'ProfileHeader:SuggestedFollowFollowed': {}
71 'ViewHeader:MenuButtonClicked': {}
72 // SETTINGS events
73 'Settings:SwitchAccountButtonClicked': {}
74 'Settings:AddAccountButtonClicked': {}
75 'Settings:ChangeHandleButtonClicked': {}
76 'Settings:InvitecodesButtonClicked': {}
77 'Settings:SignOutButtonClicked': {}
78 'Settings:ContentlanguagesButtonClicked': {}
79 // MENU events
80 'Menu:ItemClicked': {url: string}
81 'Menu:FeedbackClicked': {}
82 'Menu:HelpClicked': {}
83 // MOBILE SHELL events
84 'MobileShell:MyProfileButtonPressed': {}
85 'MobileShell:HomeButtonPressed': {}
86 'MobileShell:SearchButtonPressed': {}
87 'MobileShell:NotificationsButtonPressed': {}
88 'MobileShell:FeedsButtonPressed': {}
89 // NOTIFICATIONS events
90 'Notificatons:OpenApp': {}
91 // LISTS events
92 'Lists:onRefresh': {}
93 'Lists:onEndReached': {}
94 'CreateList:AvatarSelected': {}
95 'CreateList:SaveCurateList': {} // CAN BE SERVER
96 'CreateList:SaveModList': {} // CAN BE SERVER
97 'Lists:Mute': {} // CAN BE SERVER
98 'Lists:Unmute': {} // CAN BE SERVER
99 'Lists:Block': {} // CAN BE SERVER
100 'Lists:Unblock': {} // CAN BE SERVER
101 'Lists:Delete': {} // CAN BE SERVER
102 'Lists:Share': {} // CAN BE SERVER
103 // CUSTOM FEED events
104 'CustomFeed:Save': {}
105 'CustomFeed:Unsave': {}
106 'CustomFeed:Like': {}
107 'CustomFeed:Unlike': {}
108 'CustomFeed:Share': {}
109 'CustomFeed:Pin': {
110 uri: string
111 name: string
112 }
113 'CustomFeed:Unpin': {
114 uri: string
115 name: string
116 }
117 'CustomFeed:Reorder': {
118 uri: string
119 name: string
120 index: number
121 }
122 'CustomFeed:LoadMore': {}
123 'MultiFeed:onEndReached': {}
124 'MultiFeed:onRefresh': {}
125 // MODERATION events
126 'Moderation:ContentfilteringButtonClicked': {}
127 // ONBOARDING events
128 'Onboarding:Begin': {}
129 'Onboarding:Complete': {}
130 'Onboarding:Skipped': {}
131 'Onboarding:Reset': {}
132 'Onboarding:SuggestedFollowFollowed': {}
133 'Onboarding:CustomFeedAdded': {}
134}
135
136interface ScreenPropertiesMap {
137 Login: {}
138 CreateAccount: {}
139 'Choose Account': {}
140 'Signin:ForgotPassword': {}
141 'Signin:SetNewPasswordForm': {}
142 'Signin:PasswordUpdatedForm': {}
143 Feed: {}
144 Notifications: {}
145 Profile: {}
146 'Profile:Preview': {}
147 Settings: {}
148 AppPasswords: {}
149 Moderation: {}
150 BlockedAccounts: {}
151 MutedAccounts: {}
152 SavedFeeds: {}
153}
154
155export type AnalyticsMethods = {
156 screen: ScreenEvent
157 track: TrackEvent
158}