UNPKG

@artsy/cohesion

Version:
728 lines (726 loc) 22 kB
import { ContextModule } from "../Values/ContextModule"; import { EntityModuleType } from "../Values/EntityModuleType"; import { OwnerType, ScreenOwnerType } from "../Values/OwnerType"; import { Tab } from "../Values/Tab"; import { ActionType } from "."; /** * Schemas describing Tap events * @packageDocumentation */ /** * A user taps a grouping of entities on iOS * * Events are separated by entity type * */ /** * A user taps a grouping of articles on iOS * * This schema describes events sent to Segment from [[tappedArticleGroup]] * * @example * ``` * { * action: "tappedArticleGroup", * context_module: "relatedArticles", * context_screen_owner_type: "fair", * context_screen_owner_id: "5e726bd22524980012caafb0", * context_screen_owner_slug: "arteba-special-edition", * destination_screen_owner_type: "article", * destination_screen_owner_id: "542f1ccc7261694847410400", * destination_screen_owner_slug: "acaw-acaw-presenter-charwei-tsai", * type: "thumbnail" * } * ``` */ export interface TappedArticleGroup extends TappedEntityGroup { action: ActionType.tappedArticleGroup; } export interface TappedShowGroup extends TappedEntityGroup { action: ActionType.tappedShowGroup; } /** * A user taps a grouping of artists on iOS * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedArtistGroup", * context_module: "trendingArtistsRail", * context_screen_owner_type: "home", * destination_screen_owner_type: "artist", * destination_screen_owner_id: "5359794d1a1e86c3740001f7", * destination_screen_owner_slug: "anthony-hunter", * horizontal_slide_position: 1, * module_height: "double", * type: "stub" * } * ``` */ export interface TappedArtistGroup extends TappedEntityGroup { action: ActionType.tappedArtistGroup; } /** * A user taps a grouping of artist series on iOS. If the artist series was boosted by the curation team, then curation_boost will be set to true. * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedArtistSeriesGroup", * context_module: "moreSeriesByThisArtist", * context_screen_owner_type: "artistSeries", * context_screen_owner_id: "5359794d1a1e86c3740001f7", * context_screen_owner_slug: "alex-katz-departure", * destination_screen_owner_type: "artistSeries", * destination_screen_owner_id: "5359794d1a1e86c3740001f7", * destination_screen_owner_slug: "alex-katz-black-dress", * curation_boost: true, * horizontal_slide_position: 1, * type: "thumbnail" * } * ``` */ export interface TappedArtistSeriesGroup extends TappedEntityGroup { action: ActionType.tappedArtistSeriesGroup; destination_screen_owner_type: OwnerType.artistSeries; } /** * A user taps a grouping of artworks on iOS * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedArtworkGroup", * context_module: "newWorksByArtistsYouFollowRail", * context_screen_owner_type: "home", * destination_screen_owner_type: "artwork", * destination_screen_owner_id: "5e9a7a238483bf000e2c4c5e", * destination_screen_owner_slug: "romain-jacquet-lagreze-makeshift-garden-hong-kong", * horizontal_slide_position: 1, * module_height: "single", * type: "thumbnail" * } * ``` */ export interface TappedArtworkGroup extends TappedEntityGroup { action: ActionType.tappedArtworkGroup; } /** * A user taps a grouping of auctions on iOS * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedAuctionGroup", * context_module: "auctionsRail", * context_screen_owner_type: "home", * destination_screen_owner_type: "sale", * destination_screen_owner_id: "5e95b37a2fdcb20012a0e082", * destination_screen_owner_slug: "forum-auctions-colour-theory-4", * horizontal_slide_position: 3, * module_height: "double", * type: "thumbnail" * } * ``` */ export interface TappedAuctionGroup extends TappedEntityGroup { action: ActionType.tappedAuctionGroup; } /** * A user taps a grouping of auction results on iOS * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedAuctionResultGroup", * context_module: "artistAuctionResults", * context_screen_owner_type: "artistAuctionResults", * context_screen_owner_id: "51aa03df8b3b8177260002ab", * context_screen_owner_slug: "nicolas-party", * destination_screen_owner_type: "auctionResult", * destination_screen_owner_id: "6398282", * type: "thumbnail" * } * ``` */ export interface TappedAuctionResultGroup extends TappedEntityGroup { action: ActionType.tappedAuctionResultGroup; } /** * A user taps a grouping of collections on iOS * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedCollectionGroup", * context_module: "collectionRail", * context_screen_owner_type: "home", * destination_screen_owner_type: "collection", * destination_screen_owner_slug: "limited-edition-prints-trending-artists", * horizontal_slide_position: 2, * module_height: "double", * type: "thumbnail" * } * ``` */ export interface TappedCollectionGroup extends TappedEntityGroup { action: ActionType.tappedCollectionGroup; } /** * A user taps a grouped explore module (City Guide, for example) * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedExploreGroup", * context_module: "cityGuideCard", * context_screen_owner_type: "search", * destination_screen_owner_type: "cityGuideGuide", * module_height: "double", * type: "thumbnail" * } * ``` */ export interface TappedExploreGroup extends TappedEntityGroup { action: ActionType.tappedExploreGroup; } /** * A user taps a grouping of fairs on iOS * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedFairGroup", * context_module: "fairRail", * context_screen_owner_type: "home", * destination_screen_owner_type: "fair", * destination_screen_owner_id: "5e726bd22524980012caafb0", * destination_screen_owner_slug: "arteba-special-edition", * horizontal_slide_position: 2, * module_height: "double", * type: "thumbnail" * } * ``` */ export interface TappedFairGroup extends TappedEntityGroup { action: ActionType.tappedFairGroup; } /** * Shared interface for tapped group actions in iOS * * This schema describes events sent to Segment from [[tappedEntityGroup]] */ export interface TappedEntityGroup { action: ActionType.tappedArticleGroup | ActionType.tappedShowGroup | ActionType.tappedArtistGroup | ActionType.tappedArtistSeriesGroup | ActionType.tappedArtworkGroup | ActionType.tappedAuctionGroup | ActionType.tappedAuctionResultGroup | ActionType.tappedCollectionGroup | ActionType.tappedExploreGroup | ActionType.tappedFairGroup | ActionType.tappedViewingRoomGroup; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; destination_screen_owner_type: ScreenOwnerType; destination_screen_owner_id?: string; destination_screen_owner_slug?: string; curation_boost?: boolean; horizontal_slide_position?: number; module_height?: EntityModuleHeight; type: EntityModuleType; } export declare type EntityModuleHeight = "single" | "double"; /** * A user taps a Consign button in iOS * * This schema describes events sent to Segment from [[tappedConsign]] * * @example * ``` * { * action: "tappedConsign", * context_module: "sellHeader", * context_screen_owner_type: "sell", * destination_screen_owner_type: "consignmentSubmission", * subject: "Start selling" * } * ``` */ export interface TappedConsign { action: ActionType.tappedConsign; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; destination_screen_owner_type: ScreenOwnerType; /** The text of the tapped button */ subject: string; } /** * A user taps a fair card * * This schema describes events sent to Segment from [[tappedFairCard]] * * @example * ``` * { * action: "tappedFairCard", * context_module: "fairCard", * context_screen_owner_type: "show", * context_screen_owner_id: "5df7daac8225960007129b4f", * context_screen_owner_slug: "mccormick-gallery-mccormick-gallery-at-palm-beach-modern-plus-contemporary-2020", * destination_screen_owner_type: "fair", * destination_screen_owner_id: "5df3e3fa485efe0012c37055", * destination_screen_owner_slug: "palm-beach-modern-plus-contemporary-2020", * type: "thumbnail" * } * ``` */ export interface TappedFairCard { action: ActionType.tappedFairCard; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; destination_screen_owner_type: ScreenOwnerType; destination_screen_owner_id: string; destination_screen_owner_slug: string; type: "thumbnail"; } /** * A user taps an information bubble * * This schema describes events sent to Segment from [[tappedInfoBubble]] * * @example * ``` * { * action: "tappedInfoBubble", * context_module: "myCollectionArtwork", * context_screen_owner_type: "myCollectionArtwork", * subject: "auctionResults" * } * ``` */ export interface TappedInfoBubble { action: ActionType.tappedInfoBubble; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; subject: "auctionResults" | "demandIndex" | "priceEstimate" | "artistMarketStatistics" | "auctionResultSalePrice"; } /** * A user taps on an artwork in the main artwork grid, which is the main product feed we can find on our core merchandising surfaces. * Note: This event is separate from [[tappedArtworkGroup]] because it is an important and frequent event. Separating it out will make it easier for analysts to access. * * This schema describes events sent to Segment from [[tappedMainArtworkGrid]] * * @example * ``` * { * action: "tappedMainArtworkGrid", * context_module: "artworkGrid", * context_screen_owner_type: "artist", * context_screen_owner_id: "4d8b926a4eb68a1b2c0000ae", * context_screen_owner_slug: "damien-hirst", * destination_screen_owner_type: "artwork", * destination_screen_owner_id: "53188b0d8b3b8192bb0005ae", * destination_screen_owner_slug: "damien-hirst-anatomy-of-an-angel", * type: "thumbnail" * } * ``` */ export interface TappedMainArtworkGrid { action: ActionType.tappedMainArtworkGrid; context_module: ContextModule; context_screen?: string; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; destination_screen_owner_type: ScreenOwnerType; destination_screen_owner_id: string; destination_screen_owner_slug: string; position?: number; sort?: string; type: "thumbnail"; query?: string; } /** * A user taps the promo space on the iOS home screen * * This schema describes events sent to Segment from [[tappedPromoSpace]] * * @example * ``` * { * action: "tappedPromoSpace", * context_module: "promoSpace", * context_screen_owner_type: "home", * destination_screen_owner_type: "collection", * destination_screen_owner_slug: "artists-impacted-museum-shows", * destination_path: "/collection/artists-impacted-museum-shows", * subject: "Explore the collection" * } * ``` */ export interface TappedPromoSpace { action: ActionType.tappedPromoSpace; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; destination_screen_owner_type?: ScreenOwnerType; destination_screen_owner_id?: string; destination_screen_owner_slug?: string; destination_path: string; subject: string; } /** * A user taps "Register to bid" on an iOS sale (auction) page * * This schema describes events sent to Segment from [[tappedRegisterToBid]] * * @example * ``` * { * action: "tappedRegisterToBid", * context_module: "auctionHome", * context_screen_owner_type: "sale", * context_screen_owner_id: "5f8085e733d847000e3af175", * context_screen_owner_slug: "forum-auctions-only-banksy-1" * } * ``` */ export interface TappedRegisterToBid { action: ActionType.tappedRegisterToBid; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id: string; context_screen_owner_slug?: string; } /** * A user taps a button that navigates to the Sell With Artsy home screen (not the 'sell' icon in the tab bar) * * This schema describes events sent to Segment from [[tappedSell]] * * @example * ``` * { * action: "tappedSell", * context_module: "myCollectionArtwork", * context_screen_owner_type: "myCollectionArtwork", * destination_screen_owner_type: "sell" * subject: "Learn more" * } * ``` */ export interface TappedSell { action: ActionType.tappedSell; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; destination_screen_owner_type: OwnerType.sell; subject: string; } /** * A user taps an icon on the tab bar * * This schema describes events sent to Segment from [[tappedTabBar]] * * @example * ``` * { * action: "tappedTabBar", * badge: true * context_module: "tabBar", * context_screen_owner_type: "home", * tab: "messages" * } * ``` */ export interface TappedTabBar { action: ActionType.tappedTabBar; badge: boolean; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; tab: Tab; } /** * A user taps a grouping of viewing rooms on iOS * * This schema describes events sent to Segment from [[tappedEntityGroup]] * * @example * ``` * { * action: "tappedViewingRoomGroup", * context_module: "featuredViewingRoomsRail", * context_screen_owner_type: "home", * destination_screen_owner_type: "viewingRoomList", * type: "header" * } * ``` */ export interface TappedViewingRoomGroup extends TappedEntityGroup { action: ActionType.tappedViewingRoomGroup; } /** * A user taps a Show More button on iOS * * This schema describes events sent to Segment from [[tappedShowMore]] * * @example * ``` * { * action: "tappedShowMore", * context_module : "exhibitorsView", * context_screen_owner_type: "fair", * context_screen_owner_id: "5f4d80c972737e000deff1ed", * context_screen_owner_slug: "latitude-art-fair-2020", * subject: "Show More" * } * ``` */ export interface TappedShowMore { action: ActionType.tappedShowMore; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; /** The text of the tapped button */ subject: string; } /** * A user taps a navigation tab on iOS * * This schema describes events sent to Segment from [[tappedNavigationTab]] * * @example * ``` * { * action: "tappedNavigationTab", * context_module : "exhibitorsView", * context_screen_owner_type: "fair", * context_screen_owner_id: "5f4d80c972737e000deff1ed", * context_screen_owner_slug: "latitude-art-fair-2020" * } * ``` */ export interface TappedNavigationTab { action: ActionType.tappedNavigationTab; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; subject?: string; query?: string; } /** * A user taps a partner card * * This schema describes events sent to Segment from [[tappedPartnerCard]] * * @example * ``` * { * action: "tappedPartnerCard", * context_module: "partnerCard", * context_screen_owner_type: "show", * context_screen_owner_id: "5bb539507a931b299b243dd5", * context_screen_owner_slug: "mccormick-gallery-vidvuds-zviedris-old-cities-and-ancient-walls", * destination_screen_owner_type: "partner", * destination_screen_owner_id: "4e2ed4c42ccd3c000100924f", * destination_screen_owner_slug: "mccormick-gallery", * type: "thumbnail" * } * ``` */ export interface TappedPartnerCard { action: ActionType.tappedPartnerCard; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; destination_screen_owner_type: ScreenOwnerType; destination_screen_owner_id: string; destination_screen_owner_slug: string; type: "thumbnail"; } /** * A user taps a viewing room card * * This schema describes events sent to Segment from [[tappedViewingRoomCard]] * * @example * ``` * { * action: "tappedViewingRoomCard", * context_module: "viewingRoomCard", * context_screen_owner_type: "show", * context_screen_owner_id: "541890237261692168870700", * context_screen_owner_slug: "susan-eley-fine-art-susan-eley-fine-art-at-art-silicon-valley-slash-san-francisco", * destination_screen_owner_type: "viewing-room", * destination_screen_owner_id: "95f7dcfd-1996-45e1-9aab-979c38b2de59", * destination_screen_owner_slug: "susan-eley-fine-art-counterbalance", * type: "thumbnail" * } * ``` */ export interface TappedViewingRoomCard { action: ActionType.tappedViewingRoomCard; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; destination_screen_owner_type: ScreenOwnerType; destination_screen_owner_id: string; destination_screen_owner_slug: string; type: "thumbnail"; } /** * A user taps into the identity verification flow on iOS * * This schema describes events sent to Segment from [[tappedVerifyIdentity]] * * @example * ``` * { * action: "tappedVerifyIdentity", * context_module: "inboxActiveBids", * context_screen_owner_type: "inboxBids", * sale_id: "5fad78273c8451000d0c53b9" * subject: "Complete registration" * } * ``` */ export interface TappedVerifyIdentity { action: ActionType.tappedVerifyIdentity; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; sale_id: string; subject: string; } /** * A user taps on any hyperlinked text * * This schema describes events sent to Segment from [[tappedLink]] * * @example * ``` * { * action: "tappedLink", * context_module: "inboxActiveBids", * context_screen_owner_type: "inboxBids", * destination_screen_owner_slug: "/favorites" * destination_path: '/favorites' * } * ``` */ export interface TappedLink { action: ActionType.tappedLink; context_module: ContextModule; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; destination_path: string; destination_screen_owner_type?: ScreenOwnerType; destination_screen_owner_id?: string; destination_screen_owner_slug?: string; } /** * A user taps "Create alert button" on an app * * This schema describes events sent to Segment from [[tappedCreateAlert]] * * @example * ``` * { * action: "tappedCreateAlert", * context_screen_owner_type: "artist", * context_screen_owner_id: "58de681f275b2464fcdde097", * context_screen_owner_slug: "anthony-hunter", * context_module: "artworkGrid", * } * ``` */ export interface TappedCreateAlert { action: ActionType.tappedCreateAlert; context_screen_owner_type: ScreenOwnerType; context_screen_owner_id?: string; context_screen_owner_slug?: string; context_module?: ContextModule; } /** * A user taps "Bid" on an artwork page inside an Auction * * This schema describes events sent to Segment from [[tappedBid]] * * @example * ``` * { * action: "tappedBid", * context_owner_type: "Artwork", * context_owner_slug: "radna-segal-pearl", * context_owner_id: "6164889300d643000db86504", * } * ``` */ export interface TappedBid { action: ActionType.tappedBid; context_owner_type: ScreenOwnerType; context_owner_id: string; context_owner_slug: string; } /** * A user taps "Buy Now" on an artwork page (BNMO) * * This schema describes events sent to Segment from [[tappedBuyNow]] * * @example * ``` * { * action: "tappedBuyNow", * context_owner_type: "Artwork", * context_owner_slug: "radna-segal-pearl", * context_owner_id: "6164889300d643000db86504", * } * ``` */ export interface TappedBuyNow { action: ActionType.tappedBuyNow; context_owner_type: ScreenOwnerType; context_owner_id: string; context_owner_slug: string; } /** * A user taps on 'Contact Gallery' on an artwork page * * This schema describes events sent to Segment from [[tappedContactGallery]] * * @example * ``` * { * action: "tappedContactGallery", * context_owner_type: "Artwork", * context_owner_slug: "radna-segal-pearl", * context_owner_id: "6164889300d643000db86504", * } * ``` */ export interface TappedContactGallery { action: ActionType.tappedContactGallery; context_owner_type: OwnerType; context_owner_slug: string; context_owner_id: string; }