diff options
Diffstat (limited to 'src/state/models/ui')
-rw-r--r-- | src/state/models/ui/create-account.ts | 3 | ||||
-rw-r--r-- | src/state/models/ui/saved-feeds.ts | 14 | ||||
-rw-r--r-- | src/state/models/ui/shell.ts | 3 |
3 files changed, 20 insertions, 0 deletions
diff --git a/src/state/models/ui/create-account.ts b/src/state/models/ui/create-account.ts index 3f83dd6a7..78ffe8858 100644 --- a/src/state/models/ui/create-account.ts +++ b/src/state/models/ui/create-account.ts @@ -7,6 +7,7 @@ import * as EmailValidator from 'email-validator' import {createFullHandle} from 'lib/strings/handles' import {cleanError} from 'lib/strings/errors' import {getAge} from 'lib/strings/time' +import {track} from 'lib/analytics/analytics' const DEFAULT_DATE = new Date(Date.now() - 60e3 * 60 * 24 * 365 * 20) // default to 20 years ago @@ -117,6 +118,8 @@ export class CreateAccountModel { this.setIsProcessing(false) this.setError(cleanError(errMsg)) throw e + } finally { + track('Create Account') } } diff --git a/src/state/models/ui/saved-feeds.ts b/src/state/models/ui/saved-feeds.ts index 40265f7cf..2dd72980d 100644 --- a/src/state/models/ui/saved-feeds.ts +++ b/src/state/models/ui/saved-feeds.ts @@ -3,6 +3,7 @@ import {RootStoreModel} from '../root-store' import {bundleAsync} from 'lib/async/bundle' import {cleanError} from 'lib/strings/errors' import {CustomFeedModel} from '../feeds/custom-feed' +import {track} from 'lib/analytics/analytics' export class SavedFeedsModel { // state @@ -143,8 +144,16 @@ export class SavedFeedsModel { async togglePinnedFeed(feed: CustomFeedModel) { if (!this.isPinned(feed)) { + track('CustomFeed:Pin', { + name: feed.data.displayName, + uri: feed.uri, + }) return this.rootStore.preferences.addPinnedFeed(feed.uri) } else { + track('CustomFeed:Unpin', { + name: feed.data.displayName, + uri: feed.uri, + }) return this.rootStore.preferences.removePinnedFeed(feed.uri) } } @@ -185,6 +194,11 @@ export class SavedFeedsModel { this.rootStore.preferences.savedFeeds, pinned, ) + track('CustomFeed:Reorder', { + name: item.data.displayName, + uri: item.uri, + index: pinned.indexOf(item.uri), + }) } // state transitions diff --git a/src/state/models/ui/shell.ts b/src/state/models/ui/shell.ts index d6ece48aa..ba03fe1b5 100644 --- a/src/state/models/ui/shell.ts +++ b/src/state/models/ui/shell.ts @@ -7,6 +7,7 @@ import {Image as RNImage} from 'react-native-image-crop-picker' import {ImageModel} from '../media/image' import {ListModel} from '../content/list' import {GalleryModel} from '../media/gallery' +import {StyleProp, ViewStyle} from 'react-native' export type ColorMode = 'system' | 'light' | 'dark' @@ -20,6 +21,8 @@ export interface ConfirmModal { message: string | (() => JSX.Element) onPressConfirm: () => void | Promise<void> onPressCancel?: () => void | Promise<void> + confirmBtnText?: string + confirmBtnStyle?: StyleProp<ViewStyle> } export interface EditProfileModal { |