1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
// This module, despite exporting `IntentController` definitions, lives inside of
// `src/common` because these controllers need to be import-able by other "common"
// code in order to directly call their `buildIntent` method
//
// The "web" client expects all exports from this module to be `IntentController` instances
import { defineLandingPageController, definePlatformRootRedirectController, defineRootRedirectController, } from "./platform-landing-page-utils";
import { makeEditorialPageIntentByName } from "../../api/intents/editorial/editorial-page-intent";
import { makeGroupingPageIntentByName } from "../../api/intents/grouping-page-intent";
import { makeRoutableTodayPageIntent } from "../../api/intents/routable-today-page-intent";
import { makeArcadeGroupingPageIntent } from "../../api/intents/arcade-grouping-page-intent";
import { appLandingPageFlowActionPresentation, appAndGamesLandingPageFlowActionPresentation, arcadeLandingPageFlowActionPresentation, discoverLandingPageFlowActionPresentation, gamesLandingPageFlowActionPresentation, createLandingPageFlowActionPresentation, workLandingPageFlowActionPresentation, playLandingPageFlowActionPresentation, todayLandingPageFlowActionPresentation, developLandingPageFlowActionPresentation, categoriesLandingPageFlowActionPresentation, searchLandingPageFlowActionPresentation, } from "./flow-action-presentation";
import { makeSearchLandingPageIntent } from "../../api/intents/search/search-landing-page-intent";
// Ensures that the root URL (e.g. apps.apple.com) redirects to the iPhone Today page
export const RootRedirectController = defineRootRedirectController((locale) => iPhoneTodayPageController.buildIntent(locale));
/// MARK: Vision Pro Landing Pages
export const VisionRootRedirectController = definePlatformRootRedirectController("/vision", (locale) => VisionAppsAndGamesController.buildIntent(locale));
export const VisionAppsAndGamesController = defineLandingPageController("/vision/apps-and-games", (locale) => makeEditorialPageIntentByName({
...locale,
platform: "vision",
name: "apps-and-games",
}), appAndGamesLandingPageFlowActionPresentation);
export const VisionArcadeController = defineLandingPageController("/vision/arcade", (locale) => makeEditorialPageIntentByName({
...locale,
platform: "vision",
name: "arcade-subscriber",
}), arcadeLandingPageFlowActionPresentation);
export const VisionSearchLandingController = defineLandingPageController("/vision/search", (locale) => makeSearchLandingPageIntent({
...locale,
platform: "vision",
}), searchLandingPageFlowActionPresentation);
/// MARK: Mac Landing Pages
export const MacRootRedirectController = definePlatformRootRedirectController("/mac", (locale) => MacDiscoverController.buildIntent(locale));
export const MacDiscoverController = defineLandingPageController("/mac/discover", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "mac",
name: "apps",
}), discoverLandingPageFlowActionPresentation);
export const MacArcadeController = defineLandingPageController("/mac/arcade", (locale) => makeArcadeGroupingPageIntent({
...locale,
platform: "mac",
}), arcadeLandingPageFlowActionPresentation);
export const MacCreateController = defineLandingPageController("/mac/create", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "mac",
name: "create",
}), createLandingPageFlowActionPresentation);
export const MacWorkController = defineLandingPageController("/mac/work", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "mac",
name: "work",
}), workLandingPageFlowActionPresentation);
export const MacPlayController = defineLandingPageController("/mac/play", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "mac",
name: "play",
}), playLandingPageFlowActionPresentation);
export const MacDevelopController = defineLandingPageController("/mac/develop", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "mac",
name: "develop",
}), developLandingPageFlowActionPresentation);
export const MacCategoriesController = defineLandingPageController("/mac/categories", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "mac",
name: "categories",
}), categoriesLandingPageFlowActionPresentation);
export const MacSearchLandingController = defineLandingPageController("/mac/search", (locale) => makeSearchLandingPageIntent({
...locale,
platform: "mac",
}), searchLandingPageFlowActionPresentation);
/// MARK: iPhone Landing Pages
export const iPhoneRootRedirectController = definePlatformRootRedirectController("/iphone", (locale) => iPhoneTodayPageController.buildIntent(locale));
export const iPhoneTodayPageController = defineLandingPageController("/iphone/today", (locale) => makeRoutableTodayPageIntent({
...locale,
platform: "iphone",
}), todayLandingPageFlowActionPresentation);
export const iPhoneAppsController = defineLandingPageController("/iphone/apps", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "iphone",
name: "apps",
}), appLandingPageFlowActionPresentation);
export const iPhoneGamesController = defineLandingPageController("/iphone/games", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "iphone",
name: "games",
}), gamesLandingPageFlowActionPresentation);
export const iPhoneArcadeController = defineLandingPageController("/iphone/arcade", (locale) => makeArcadeGroupingPageIntent({
...locale,
platform: "iphone",
}), arcadeLandingPageFlowActionPresentation);
export const iPhoneSearchLandingController = defineLandingPageController("/iphone/search", (locale) => makeSearchLandingPageIntent({
...locale,
platform: "iphone",
}), searchLandingPageFlowActionPresentation);
/// MARK: iPad Landing Pages
export const iPadRootRedirectController = definePlatformRootRedirectController("/ipad", (locale) => iPadTodayPageController.buildIntent(locale));
export const iPadTodayPageController = defineLandingPageController("/ipad/today", (locale) => makeRoutableTodayPageIntent({
...locale,
platform: "ipad",
}), todayLandingPageFlowActionPresentation);
export const iPadGamesController = defineLandingPageController("/ipad/games", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "ipad",
name: "games",
}), gamesLandingPageFlowActionPresentation);
export const iPadAppsController = defineLandingPageController("/ipad/apps", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "ipad",
name: "apps",
}), appLandingPageFlowActionPresentation);
export const iPadArcadeController = defineLandingPageController("/ipad/arcade", (locale) => makeArcadeGroupingPageIntent({
...locale,
platform: "ipad",
}), arcadeLandingPageFlowActionPresentation);
export const iPadSearchLandingController = defineLandingPageController("/ipad/search", (locale) => makeSearchLandingPageIntent({
...locale,
platform: "ipad",
}), searchLandingPageFlowActionPresentation);
/// MARK: Watch Landing Pages
export const WatchRootRedirectController = definePlatformRootRedirectController("/watch", (locale) => WatchDiscoverController.buildIntent(locale));
export const WatchDiscoverController = defineLandingPageController("/watch/apps-and-games", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "watch",
name: "apps",
}), appAndGamesLandingPageFlowActionPresentation);
export const WatchSearchLandingController = defineLandingPageController("/watch/search", (locale) => makeSearchLandingPageIntent({
...locale,
platform: "watch",
}), searchLandingPageFlowActionPresentation);
/// MARK: TV Landing Pages
export const TVRootRedirectController = definePlatformRootRedirectController("/tv", (locale) => TVDiscoverController.buildIntent(locale));
export const TVDiscoverController = defineLandingPageController("/tv/discover", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "tv",
name: "discover",
}), discoverLandingPageFlowActionPresentation);
export const TVGamesController = defineLandingPageController("/tv/games", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "tv",
name: "games",
}), gamesLandingPageFlowActionPresentation);
export const TVAppsController = defineLandingPageController("/tv/apps", (locale) => makeGroupingPageIntentByName({
...locale,
platform: "tv",
name: "apps",
}), appLandingPageFlowActionPresentation);
export const TVArcadeController = defineLandingPageController("/tv/arcade", (locale) => makeArcadeGroupingPageIntent({
...locale,
platform: "tv",
}), arcadeLandingPageFlowActionPresentation);
export const TVSearchLandingController = defineLandingPageController("/tv/search", (locale) => makeSearchLandingPageIntent({
...locale,
platform: "tv",
}), searchLandingPageFlowActionPresentation);
//# sourceMappingURL=platform-landing-page-intent-controllers.js.map
|