@servicetitan/onboarding-ui 4.0.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contentful/index.d.ts +0 -2
- package/dist/contentful/index.d.ts.map +1 -1
- package/dist/contentful/index.js +0 -2
- package/dist/contentful/index.js.map +1 -1
- package/dist/contentful/interfaces.d.ts +9 -9
- package/dist/contentful/interfaces.d.ts.map +1 -1
- package/dist/contentful/marketing-carousel.store.d.ts +3 -3
- package/dist/contentful/marketing-carousel.store.d.ts.map +1 -1
- package/dist/contentful/marketing-carousel.store.js +21 -16
- package/dist/contentful/marketing-carousel.store.js.map +1 -1
- package/package.json +3 -4
- package/src/contentful/index.ts +0 -2
- package/src/contentful/interfaces.ts +9 -9
- package/src/contentful/marketing-carousel.store.ts +13 -12
- package/dist/contentful/utils.d.ts +0 -8
- package/dist/contentful/utils.d.ts.map +0 -1
- package/dist/contentful/utils.js +0 -17
- package/dist/contentful/utils.js.map +0 -1
- package/src/contentful/utils.ts +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contentful/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contentful/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC"}
|
package/dist/contentful/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contentful/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contentful/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Asset, Entry } from '@servicetitan/contentful';
|
|
2
1
|
import { Document as RichText } from '@contentful/rich-text-types/dist/types/types';
|
|
3
|
-
|
|
2
|
+
import { Asset, EntryMetadata, EntryMetadataWithCode } from '@servicetitan/contentful-proxy';
|
|
3
|
+
export interface OxPhotoGalleryItemFields extends EntryMetadata {
|
|
4
4
|
name: string;
|
|
5
5
|
media: Asset;
|
|
6
6
|
headline: string;
|
|
@@ -11,25 +11,25 @@ export interface OxPhotoGalleryItemFields {
|
|
|
11
11
|
showDate?: string;
|
|
12
12
|
hideDate?: string;
|
|
13
13
|
}
|
|
14
|
-
export interface OxPhotoGalleryFields {
|
|
14
|
+
export interface OxPhotoGalleryFields extends EntryMetadataWithCode {
|
|
15
15
|
name: string;
|
|
16
|
-
items:
|
|
16
|
+
items: OxPhotoGalleryItemFields[];
|
|
17
17
|
}
|
|
18
|
-
export interface OxCallAssistantStepFields {
|
|
18
|
+
export interface OxCallAssistantStepFields extends EntryMetadataWithCode {
|
|
19
19
|
internalName: string;
|
|
20
20
|
stepHeader: string;
|
|
21
21
|
stepSubHeader?: string;
|
|
22
22
|
stepHintText?: string;
|
|
23
23
|
helperText?: RichText;
|
|
24
24
|
}
|
|
25
|
-
export interface OxCallAssistantSectionFields {
|
|
25
|
+
export interface OxCallAssistantSectionFields extends EntryMetadataWithCode {
|
|
26
26
|
internalName: string;
|
|
27
27
|
sectionName: string;
|
|
28
|
-
steps:
|
|
28
|
+
steps: OxCallAssistantStepFields[];
|
|
29
29
|
}
|
|
30
|
-
export interface OxCallAssistantFields {
|
|
30
|
+
export interface OxCallAssistantFields extends EntryMetadataWithCode {
|
|
31
31
|
internalName: string;
|
|
32
|
-
sections:
|
|
32
|
+
sections: OxCallAssistantSectionFields[];
|
|
33
33
|
finishPageText: RichText;
|
|
34
34
|
welcomeModalText: RichText;
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/contentful/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/contentful/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE7F,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,wBAAwB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,4BAA4B,EAAE,CAAC;IACzC,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,EAAE,QAAQ,CAAC;CAC9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IContentfulApi } from '@servicetitan/contentful-proxy';
|
|
2
2
|
export declare enum MarketingCarouselColorTheme {
|
|
3
3
|
Light = "Light",
|
|
4
4
|
Dark = "Dark"
|
|
@@ -24,12 +24,12 @@ interface MarketingCarouselItem {
|
|
|
24
24
|
description: string;
|
|
25
25
|
}
|
|
26
26
|
export declare class MarketingCarouselStore {
|
|
27
|
-
private
|
|
27
|
+
private contentfulApi;
|
|
28
28
|
isInitializing: boolean;
|
|
29
29
|
private photoGalleryData?;
|
|
30
30
|
private utmSource?;
|
|
31
31
|
private fallbackData?;
|
|
32
|
-
constructor(
|
|
32
|
+
constructor(contentfulApi: IContentfulApi);
|
|
33
33
|
initialize: ({ codeId, utmSource, fallbackData, isPreview, }: MarketingCarouselStoreOptions) => Promise<void>;
|
|
34
34
|
get carouselSettings(): {
|
|
35
35
|
colorTheme: MarketingCarouselColorTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketing-carousel.store.d.ts","sourceRoot":"","sources":["../../src/contentful/marketing-carousel.store.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"marketing-carousel.store.d.ts","sourceRoot":"","sources":["../../src/contentful/marketing-carousel.store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAwB,MAAM,gCAAgC,CAAC;AAMtF,oBAAY,2BAA2B;IACnC,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC1C,gBAAgB,EAAE;QACd,UAAU,EAAE,2BAA2B,CAAC;QACxC,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,YAAY,EAAE,qBAAqB,EAAE,CAAC;CACzC;AAED,UAAU,6BAA6B;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,6BAA6B,CAAC;CAChD;AAED,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBACa,sBAAsB;IAMW,OAAO,CAAC,aAAa;IALnD,cAAc,UAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAuB;IAChD,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAgC;gBAEf,aAAa,EAAE,cAAc;IAK/E,UAAU,oDAKP,6BAA6B,mBAqB9B;IAGF,IACI,gBAAgB;;;kBAOnB;IAED,IACI,YAAY,IAAI,qBAAqB,EAAE,GAAG,SAAS,CAiBtD;IAED,OAAO,CAAC,UAAU,CAShB;IAEF,OAAO,CAAC,iBAAiB,CAQvB;CACL"}
|
|
@@ -33,7 +33,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
33
33
|
import { inject, injectable } from '@servicetitan/react-ioc';
|
|
34
34
|
import { action, computed, makeObservable, observable, runInAction } from 'mobx';
|
|
35
35
|
import queryString from 'query-string';
|
|
36
|
-
import {
|
|
36
|
+
import { CONTENTFUL_API_TOKEN } from '@servicetitan/contentful-proxy';
|
|
37
37
|
const carouselBackgroundLightPath = 'https://static.servicetitan.com/acm/auth/sign-in-carousel-background.png';
|
|
38
38
|
export var MarketingCarouselColorTheme;
|
|
39
39
|
(function (MarketingCarouselColorTheme) {
|
|
@@ -41,12 +41,12 @@ export var MarketingCarouselColorTheme;
|
|
|
41
41
|
MarketingCarouselColorTheme["Dark"] = "Dark";
|
|
42
42
|
})(MarketingCarouselColorTheme || (MarketingCarouselColorTheme = {}));
|
|
43
43
|
let MarketingCarouselStore = class MarketingCarouselStore {
|
|
44
|
-
constructor(
|
|
45
|
-
Object.defineProperty(this, "
|
|
44
|
+
constructor(contentfulApi) {
|
|
45
|
+
Object.defineProperty(this, "contentfulApi", {
|
|
46
46
|
enumerable: true,
|
|
47
47
|
configurable: true,
|
|
48
48
|
writable: true,
|
|
49
|
-
value:
|
|
49
|
+
value: contentfulApi
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(this, "isInitializing", {
|
|
52
52
|
enumerable: true,
|
|
@@ -81,12 +81,12 @@ let MarketingCarouselStore = class MarketingCarouselStore {
|
|
|
81
81
|
this.utmSource = utmSource;
|
|
82
82
|
this.fallbackData = fallbackData;
|
|
83
83
|
try {
|
|
84
|
-
const data = yield this.
|
|
84
|
+
const data = yield this.contentfulApi.getContentfulData({
|
|
85
85
|
entryType: 'oxPhotoGallery',
|
|
86
86
|
codeId,
|
|
87
|
-
isPreview,
|
|
87
|
+
isPreview: isPreview !== null && isPreview !== void 0 ? isPreview : false,
|
|
88
88
|
});
|
|
89
|
-
if (data === null || data === void 0 ? void 0 : data.
|
|
89
|
+
if (!(data === null || data === void 0 ? void 0 : data.items.length)) {
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
92
|
runInAction(() => {
|
|
@@ -142,15 +142,20 @@ let MarketingCarouselStore = class MarketingCarouselStore {
|
|
|
142
142
|
: (_a = this.fallbackData) === null || _a === void 0 ? void 0 : _a.carouselSettings;
|
|
143
143
|
}
|
|
144
144
|
get carouselData() {
|
|
145
|
-
var _a, _b, _c, _d;
|
|
145
|
+
var _a, _b, _c, _d, _e;
|
|
146
146
|
try {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
if (!((_a = this.photoGalleryData) === null || _a === void 0 ? void 0 : _a.items)) {
|
|
148
|
+
return (_b = this.fallbackData) === null || _b === void 0 ? void 0 : _b.carouselData;
|
|
149
|
+
}
|
|
150
|
+
return ((_c = this.photoGalleryData.items
|
|
151
|
+
.filter(({ showDate, hideDate }) => this.isDateRangeActive(showDate, hideDate))
|
|
152
|
+
.map((_a) => {
|
|
153
|
+
var { ctaLink, ctaTrackingCode, media } = _a, fields = __rest(_a, ["ctaLink", "ctaTrackingCode", "media"]);
|
|
154
|
+
return (Object.assign(Object.assign({}, fields), { ctaLink: this.getCtaLink(ctaLink, ctaTrackingCode), imageUrl: media.file.url.replace('//', 'https://') }));
|
|
155
|
+
})) !== null && _c !== void 0 ? _c : (_d = this.fallbackData) === null || _d === void 0 ? void 0 : _d.carouselData);
|
|
151
156
|
}
|
|
152
|
-
catch (
|
|
153
|
-
return (
|
|
157
|
+
catch (_f) {
|
|
158
|
+
return (_e = this.fallbackData) === null || _e === void 0 ? void 0 : _e.carouselData;
|
|
154
159
|
}
|
|
155
160
|
}
|
|
156
161
|
};
|
|
@@ -186,8 +191,8 @@ __decorate([
|
|
|
186
191
|
], MarketingCarouselStore.prototype, "carouselData", null);
|
|
187
192
|
MarketingCarouselStore = __decorate([
|
|
188
193
|
injectable(),
|
|
189
|
-
__param(0, inject(
|
|
190
|
-
__metadata("design:paramtypes", [
|
|
194
|
+
__param(0, inject(CONTENTFUL_API_TOKEN)),
|
|
195
|
+
__metadata("design:paramtypes", [Object])
|
|
191
196
|
], MarketingCarouselStore);
|
|
192
197
|
export { MarketingCarouselStore };
|
|
193
198
|
//# sourceMappingURL=marketing-carousel.store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketing-carousel.store.js","sourceRoot":"","sources":["../../src/contentful/marketing-carousel.store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACjF,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"marketing-carousel.store.js","sourceRoot":"","sources":["../../src/contentful/marketing-carousel.store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/onboarding-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "Shared components between servicetitan monolith and Onboarding",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
],
|
|
18
18
|
"peerDependencies": {
|
|
19
19
|
"@servicetitan/confirm": ">=22.0.0",
|
|
20
|
-
"@servicetitan/contentful": ">=0.0.1",
|
|
21
20
|
"@servicetitan/culture": ">=22.0.0",
|
|
22
21
|
"@servicetitan/data-query": ">=22.0.0",
|
|
23
22
|
"@servicetitan/design-system": ">=12.4.1",
|
|
@@ -33,7 +32,6 @@
|
|
|
33
32
|
},
|
|
34
33
|
"devDependencies": {
|
|
35
34
|
"@servicetitan/confirm": "^23.0.2",
|
|
36
|
-
"@servicetitan/contentful": "^0.0.2",
|
|
37
35
|
"@servicetitan/culture": ">=22.0.0",
|
|
38
36
|
"@servicetitan/data-query": ">=22.0.0",
|
|
39
37
|
"@servicetitan/design-system": ">=12.4.1",
|
|
@@ -53,6 +51,7 @@
|
|
|
53
51
|
"dependencies": {
|
|
54
52
|
"@contentful/rich-text-react-renderer": "^15.6.2",
|
|
55
53
|
"@contentful/rich-text-types": "^15.7.0",
|
|
54
|
+
"@servicetitan/contentful-proxy": "^1.1.10",
|
|
56
55
|
"@servicetitan/react-hooks": "^2.7.0",
|
|
57
56
|
"@types/google.maps": "^3.45.6",
|
|
58
57
|
"classnames": "~2.3.1",
|
|
@@ -70,5 +69,5 @@
|
|
|
70
69
|
"less": true,
|
|
71
70
|
"webpack": false
|
|
72
71
|
},
|
|
73
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "487169312d1a37359318ec58dfd65328190765cc"
|
|
74
73
|
}
|
package/src/contentful/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Asset, Entry } from '@servicetitan/contentful';
|
|
2
1
|
import { Document as RichText } from '@contentful/rich-text-types/dist/types/types';
|
|
2
|
+
import { Asset, EntryMetadata, EntryMetadataWithCode } from '@servicetitan/contentful-proxy';
|
|
3
3
|
|
|
4
|
-
export interface OxPhotoGalleryItemFields {
|
|
4
|
+
export interface OxPhotoGalleryItemFields extends EntryMetadata {
|
|
5
5
|
name: string;
|
|
6
6
|
media: Asset;
|
|
7
7
|
headline: string;
|
|
@@ -13,12 +13,12 @@ export interface OxPhotoGalleryItemFields {
|
|
|
13
13
|
hideDate?: string;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export interface OxPhotoGalleryFields {
|
|
16
|
+
export interface OxPhotoGalleryFields extends EntryMetadataWithCode {
|
|
17
17
|
name: string;
|
|
18
|
-
items:
|
|
18
|
+
items: OxPhotoGalleryItemFields[];
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export interface OxCallAssistantStepFields {
|
|
21
|
+
export interface OxCallAssistantStepFields extends EntryMetadataWithCode {
|
|
22
22
|
internalName: string;
|
|
23
23
|
stepHeader: string;
|
|
24
24
|
stepSubHeader?: string;
|
|
@@ -26,15 +26,15 @@ export interface OxCallAssistantStepFields {
|
|
|
26
26
|
helperText?: RichText;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export interface OxCallAssistantSectionFields {
|
|
29
|
+
export interface OxCallAssistantSectionFields extends EntryMetadataWithCode {
|
|
30
30
|
internalName: string;
|
|
31
31
|
sectionName: string;
|
|
32
|
-
steps:
|
|
32
|
+
steps: OxCallAssistantStepFields[];
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export interface OxCallAssistantFields {
|
|
35
|
+
export interface OxCallAssistantFields extends EntryMetadataWithCode {
|
|
36
36
|
internalName: string;
|
|
37
|
-
sections:
|
|
37
|
+
sections: OxCallAssistantSectionFields[];
|
|
38
38
|
finishPageText: RichText;
|
|
39
39
|
welcomeModalText: RichText;
|
|
40
40
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { inject, injectable } from '@servicetitan/react-ioc';
|
|
2
2
|
import { action, computed, makeObservable, observable, runInAction } from 'mobx';
|
|
3
3
|
import queryString from 'query-string';
|
|
4
|
-
import {
|
|
4
|
+
import { IContentfulApi, CONTENTFUL_API_TOKEN } from '@servicetitan/contentful-proxy';
|
|
5
5
|
import { OxPhotoGalleryFields } from './interfaces';
|
|
6
6
|
|
|
7
7
|
const carouselBackgroundLightPath =
|
|
@@ -38,11 +38,11 @@ interface MarketingCarouselItem {
|
|
|
38
38
|
@injectable()
|
|
39
39
|
export class MarketingCarouselStore {
|
|
40
40
|
@observable isInitializing = false;
|
|
41
|
-
@observable private photoGalleryData?:
|
|
41
|
+
@observable private photoGalleryData?: OxPhotoGalleryFields;
|
|
42
42
|
@observable private utmSource?: string;
|
|
43
43
|
@observable private fallbackData?: MarketingCarouselFallbackData;
|
|
44
44
|
|
|
45
|
-
constructor(@inject(
|
|
45
|
+
constructor(@inject(CONTENTFUL_API_TOKEN) private contentfulApi: IContentfulApi) {
|
|
46
46
|
makeObservable(this);
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -57,12 +57,12 @@ export class MarketingCarouselStore {
|
|
|
57
57
|
this.utmSource = utmSource;
|
|
58
58
|
this.fallbackData = fallbackData;
|
|
59
59
|
try {
|
|
60
|
-
const data = await this.
|
|
60
|
+
const data = await this.contentfulApi.getContentfulData<OxPhotoGalleryFields>({
|
|
61
61
|
entryType: 'oxPhotoGallery',
|
|
62
62
|
codeId,
|
|
63
|
-
isPreview,
|
|
63
|
+
isPreview: isPreview ?? false,
|
|
64
64
|
});
|
|
65
|
-
if (data?.
|
|
65
|
+
if (!data?.items.length) {
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
runInAction(() => {
|
|
@@ -89,15 +89,16 @@ export class MarketingCarouselStore {
|
|
|
89
89
|
@computed
|
|
90
90
|
get carouselData(): MarketingCarouselItem[] | undefined {
|
|
91
91
|
try {
|
|
92
|
+
if (!this.photoGalleryData?.items) {
|
|
93
|
+
return this.fallbackData?.carouselData;
|
|
94
|
+
}
|
|
92
95
|
return (
|
|
93
|
-
this.photoGalleryData
|
|
94
|
-
.filter(({
|
|
95
|
-
|
|
96
|
-
)
|
|
97
|
-
.map(({ fields: { ctaLink, ctaTrackingCode, media, ...fields } }) => ({
|
|
96
|
+
this.photoGalleryData.items
|
|
97
|
+
.filter(({ showDate, hideDate }) => this.isDateRangeActive(showDate, hideDate))
|
|
98
|
+
.map(({ ctaLink, ctaTrackingCode, media, ...fields }) => ({
|
|
98
99
|
...fields,
|
|
99
100
|
ctaLink: this.getCtaLink(ctaLink, ctaTrackingCode),
|
|
100
|
-
imageUrl: media.
|
|
101
|
+
imageUrl: media.file.url.replace('//', 'https://'),
|
|
101
102
|
})) ?? this.fallbackData?.carouselData
|
|
102
103
|
);
|
|
103
104
|
} catch {
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Entry, OxPermissionFields, ContentContainerFields, TextEntryFields } from '@servicetitan/contentful';
|
|
2
|
-
export declare const isEntryTypeOf: (entry: Entry<unknown>, type: string) => boolean;
|
|
3
|
-
export declare const isContentContainerEntry: (entry: Entry<unknown>) => entry is Entry<ContentContainerFields>;
|
|
4
|
-
export declare const isTextEntry: (entry: Entry<unknown>) => entry is Entry<TextEntryFields>;
|
|
5
|
-
export declare const isHeaderEntry: (entry: Entry<unknown>) => entry is Entry<TextEntryFields>;
|
|
6
|
-
export declare const isDescriptionEntry: (entry: Entry<unknown>) => entry is Entry<TextEntryFields>;
|
|
7
|
-
export declare const isOxPermissionsEntry: (entry: Entry<unknown>) => entry is Entry<OxPermissionFields>;
|
|
8
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/contentful/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EAClB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,aAAa,UAAW,MAAM,OAAO,CAAC,QAAQ,MAAM,YACxB,CAAC;AAE1C,eAAO,MAAM,uBAAuB,UACzB,MAAM,OAAO,CAAC,2CAGxB,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,MAAM,OAAO,CAAC,oCAEhD,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,MAAM,OAAO,CAAC,oCAElD,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,MAAM,OAAO,CAAC,oCAEvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,MAAM,OAAO,CAAC,uCAEzD,CAAC"}
|
package/dist/contentful/utils.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export const isEntryTypeOf = (entry, type) => entry.sys.contentType.sys.id === type;
|
|
2
|
-
export const isContentContainerEntry = (entry) => {
|
|
3
|
-
return isEntryTypeOf(entry, 'serviceTitanContentContainer');
|
|
4
|
-
};
|
|
5
|
-
export const isTextEntry = (entry) => {
|
|
6
|
-
return isEntryTypeOf(entry, 'serviceTitanText');
|
|
7
|
-
};
|
|
8
|
-
export const isHeaderEntry = (entry) => {
|
|
9
|
-
return isTextEntry(entry) && entry.fields.codeId.endsWith('-header');
|
|
10
|
-
};
|
|
11
|
-
export const isDescriptionEntry = (entry) => {
|
|
12
|
-
return isTextEntry(entry) && entry.fields.codeId.endsWith('-description');
|
|
13
|
-
};
|
|
14
|
-
export const isOxPermissionsEntry = (entry) => {
|
|
15
|
-
return isEntryTypeOf(entry, 'oxPermission');
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/contentful/utils.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAE,IAAY,EAAE,EAAE,CACjE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,KAAqB,EACiB,EAAE;IACxC,OAAO,aAAa,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAqB,EAAmC,EAAE;IAClF,OAAO,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAmC,EAAE;IACpF,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAqB,EAAmC,EAAE;IACzF,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAqB,EAAsC,EAAE;IAC9F,OAAO,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAChD,CAAC,CAAC"}
|
package/src/contentful/utils.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Entry,
|
|
3
|
-
OxPermissionFields,
|
|
4
|
-
ContentContainerFields,
|
|
5
|
-
TextEntryFields,
|
|
6
|
-
} from '@servicetitan/contentful';
|
|
7
|
-
|
|
8
|
-
export const isEntryTypeOf = (entry: Entry<unknown>, type: string) =>
|
|
9
|
-
entry.sys.contentType.sys.id === type;
|
|
10
|
-
|
|
11
|
-
export const isContentContainerEntry = (
|
|
12
|
-
entry: Entry<unknown>
|
|
13
|
-
): entry is Entry<ContentContainerFields> => {
|
|
14
|
-
return isEntryTypeOf(entry, 'serviceTitanContentContainer');
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export const isTextEntry = (entry: Entry<unknown>): entry is Entry<TextEntryFields> => {
|
|
18
|
-
return isEntryTypeOf(entry, 'serviceTitanText');
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export const isHeaderEntry = (entry: Entry<unknown>): entry is Entry<TextEntryFields> => {
|
|
22
|
-
return isTextEntry(entry) && entry.fields.codeId.endsWith('-header');
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export const isDescriptionEntry = (entry: Entry<unknown>): entry is Entry<TextEntryFields> => {
|
|
26
|
-
return isTextEntry(entry) && entry.fields.codeId.endsWith('-description');
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const isOxPermissionsEntry = (entry: Entry<unknown>): entry is Entry<OxPermissionFields> => {
|
|
30
|
-
return isEntryTypeOf(entry, 'oxPermission');
|
|
31
|
-
};
|