@roomstay/frontend 2.3.0-2 → 2.3.1
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/201.bundle.js +1 -1
- package/dist/213.bundle.js +1 -1
- package/dist/370.bundle.js +1 -1
- package/dist/446.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/572.bundle.js +1 -1
- package/dist/903.bundle.js +1 -1
- package/dist/975.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/components/generic/ScrollToTop.js +5 -1
- package/dist/src/components/generic/ScrollToTop.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tab.d.ts +1 -0
- package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +2 -2
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +3 -3
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +2 -2
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +9 -11
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +2 -2
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +2 -4
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +2 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +73 -60
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +4 -5
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +5 -5
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +41 -19
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +16 -17
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +3 -3
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/hooks/CurrentHotelHook.d.ts +5 -0
- package/dist/src/hooks/CurrentHotelHook.js +37 -30
- package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
- package/dist/src/hooks/HistoryConsistentPush.d.ts +1 -1
- package/dist/src/hooks/HistoryConsistentPush.js +6 -2
- package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +4 -4
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.js +2 -2
- package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
- package/dist/src/stories/BookingWizard.stories.js +2 -2
- package/dist/src/stories/BookingWizard.stories.js.map +1 -1
- package/dist/src/translations/Translation.d.ts +4 -0
- package/dist/src/translations/Translation.js +4 -0
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +5 -1
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/GetStepRoom.d.ts +3 -0
- package/dist/src/util/GetStepRoom.js +11 -0
- package/dist/src/util/GetStepRoom.js.map +1 -0
- package/dist/test.bundle.js +1 -1
- package/dist/tests/offline/entry/{RSCompany.js → OfflineEngineDefaults.js} +16 -57
- package/dist/tests/offline/entry/OfflineEngineDefaults.js.map +1 -0
- package/dist/tests/offline/entry/OfflineEngineWrapper.d.ts +1 -0
- package/dist/tests/offline/entry/{ReactWrapper.js → OfflineEngineWrapper.js} +17 -79
- package/dist/tests/offline/entry/OfflineEngineWrapper.js.map +1 -0
- package/dist/tests/offline/entry/components/RoomstayDemoNavbar/index.d.ts +3 -0
- package/dist/tests/offline/entry/components/RoomstayDemoNavbar/index.js +17 -0
- package/dist/tests/offline/entry/components/RoomstayDemoNavbar/index.js.map +1 -0
- package/dist/tests/offline/entry/components/TestPicker.js +99 -14
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js +2 -2
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js.map +1 -1
- package/dist/tests/offline/entry/{allEngines.js → offline-entry.js} +3 -3
- package/dist/tests/offline/entry/offline-entry.js.map +1 -0
- package/dist/tests/offline/entry/pages/BookingWizard/index.d.ts +4 -0
- package/dist/tests/offline/entry/pages/BookingWizard/index.js +73 -0
- package/dist/tests/offline/entry/pages/BookingWizard/index.js.map +1 -0
- package/dist/tests/offline/entry/pages/RoomRate/index.d.ts +4 -0
- package/dist/tests/offline/entry/pages/RoomRate/index.js +93 -0
- package/dist/tests/offline/entry/pages/RoomRate/index.js.map +1 -0
- package/package.json +1 -1
- package/dist/tests/offline/entry/RSCompany.js.map +0 -1
- package/dist/tests/offline/entry/ReactWrapper.d.ts +0 -1
- package/dist/tests/offline/entry/ReactWrapper.js.map +0 -1
- package/dist/tests/offline/entry/allEngines.js.map +0 -1
- /package/dist/tests/offline/entry/{RSCompany.d.ts → OfflineEngineDefaults.d.ts} +0 -0
- /package/dist/tests/offline/entry/{allEngines.d.ts → offline-entry.d.ts} +0 -0
|
@@ -1,25 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.rsCompany = void 0;
|
|
16
4
|
const index_1 = require("index");
|
|
17
|
-
const PromotionProvider_1 = require("../../../src/providers/PromotionProvider");
|
|
18
|
-
const StepGroupedRoom_1 = __importDefault(require("../../../src/pages/steps/StepGroupedRoom/StepGroupedRoom"));
|
|
19
5
|
const HotelSpec = {
|
|
20
6
|
hotelID: TEST_OFFLINE_HOTEL_ID,
|
|
21
7
|
providerHotelID: '1',
|
|
22
|
-
name: '
|
|
8
|
+
name: 'Ovolo Woolloomooloo',
|
|
23
9
|
logo: '',
|
|
24
10
|
defaultDatepickerType: 'Month',
|
|
25
11
|
defaultLanguage: index_1.Language.en_us,
|
|
@@ -27,13 +13,12 @@ const HotelSpec = {
|
|
|
27
13
|
showAddonLoader: true,
|
|
28
14
|
startsWeekOnDay: index_1.WeekdayStartsOn.Monday,
|
|
29
15
|
heroImage: 'https://ovolohotels.com/wp-content/uploads/2020/02/Banner-e1587412618532.jpg',
|
|
30
|
-
//memberOnlyModalImage: "",
|
|
31
16
|
privacyPolicyUrl: '/privacy',
|
|
32
17
|
colors: {
|
|
33
|
-
accent: '#
|
|
34
|
-
accent2: '#
|
|
35
|
-
accent3: '#
|
|
36
|
-
success: '#
|
|
18
|
+
accent: '#249aba',
|
|
19
|
+
accent2: '#e1f6fc',
|
|
20
|
+
accent3: '#1f839e',
|
|
21
|
+
success: '#0EB086',
|
|
37
22
|
},
|
|
38
23
|
googleReCaptcha: {
|
|
39
24
|
loadForMembers: true,
|
|
@@ -49,7 +34,6 @@ const HotelSpec = {
|
|
|
49
34
|
defaultCurrency: 'NZD',
|
|
50
35
|
hotelUrl: 'https://roomstay.io',
|
|
51
36
|
checkoutUrl: '/fullpage/',
|
|
52
|
-
// crossSellHotelIds : ['8472N'],
|
|
53
37
|
transportDistances: {
|
|
54
38
|
plane: 6.9,
|
|
55
39
|
train: 1.1,
|
|
@@ -122,35 +106,6 @@ const HotelSpec = {
|
|
|
122
106
|
],
|
|
123
107
|
paymentCardTypes: [index_1.EPaymentCardType.Visa, index_1.EPaymentCardType.JCB, index_1.EPaymentCardType.AmericanExpress, index_1.EPaymentCardType.Mastercard],
|
|
124
108
|
paymentMethods: [],
|
|
125
|
-
onLoad: () => {
|
|
126
|
-
index_1.RoomstayEventManager.addEvent(index_1.GuestSearchEvent, (event) => __awaiter(void 0, void 0, void 0, function* () {
|
|
127
|
-
console.log({ search: event.search });
|
|
128
|
-
const promotion = {
|
|
129
|
-
name: 'Boxing day Member Offer - Four for the price of three',
|
|
130
|
-
description: 'Only pay for 3 nights when you place a stay of 4 nights. 4th is on us!',
|
|
131
|
-
requireMemberPromotion: true,
|
|
132
|
-
memberOnlyModalButtonText: 'Apply now!',
|
|
133
|
-
memberOnlyModalTitle: 'Boxing Day Member Offer - Get the promotion now!',
|
|
134
|
-
memberOnlyModalImage: 'https://blog.near.com/wp-content/uploads/2019/09/the-knockout-that-wasnt-boxing-day.png',
|
|
135
|
-
memberOnlyDisableDefaultPromo: true,
|
|
136
|
-
testCriteria: (criteria) => __awaiter(void 0, void 0, void 0, function* () {
|
|
137
|
-
return criteria.checkOutDate.diff(criteria.checkInDate, 'days') !== 4;
|
|
138
|
-
}),
|
|
139
|
-
onApply: (criteria) => {
|
|
140
|
-
return {
|
|
141
|
-
checkOutDate: criteria.checkInDate.add(5, 'days').format('YYYY-MM-DD'),
|
|
142
|
-
promoCode: '4for3',
|
|
143
|
-
};
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
if (event.search.numAdults >= 2) {
|
|
147
|
-
(0, PromotionProvider_1.registerPromotion)(promotion);
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
(0, PromotionProvider_1.removePromotion)(promotion);
|
|
151
|
-
}
|
|
152
|
-
}));
|
|
153
|
-
},
|
|
154
109
|
address: {
|
|
155
110
|
city: 'Cairns',
|
|
156
111
|
country: 'Australia',
|
|
@@ -163,18 +118,22 @@ const HotelSpec = {
|
|
|
163
118
|
maxOccupancy: 5,
|
|
164
119
|
memberOnlyModalUsePrimaryColor: true,
|
|
165
120
|
};
|
|
166
|
-
const HotelSpec2 = Object.assign(Object.assign({}, HotelSpec), { address: Object.assign(Object.assign({}, HotelSpec.address), { city: 'South Yarra' }),
|
|
121
|
+
const HotelSpec2 = Object.assign(Object.assign({}, HotelSpec), { address: Object.assign(Object.assign({}, HotelSpec.address), { city: 'South Yarra' }), colors: {
|
|
122
|
+
accent: '#ff3c00',
|
|
123
|
+
accent2: '#ffe4dc',
|
|
124
|
+
accent3: '#bc1700',
|
|
125
|
+
success: '#0EB086',
|
|
126
|
+
}, name: 'Naumi Singapore', hotelID: '6f3631bc-e773-4ea0-9163-3d9965d41175' });
|
|
167
127
|
exports.rsCompany = {
|
|
168
128
|
colors: {
|
|
169
129
|
accent: '#BEEEEF',
|
|
170
130
|
accent2: '#BEEEeF',
|
|
171
131
|
accent3: '#BEEEeF',
|
|
172
132
|
},
|
|
173
|
-
logo: 'https://
|
|
174
|
-
name: 'Roomstay
|
|
175
|
-
companyShort: '
|
|
176
|
-
hotels: [HotelSpec,
|
|
133
|
+
logo: 'https://clients.app.roomstay.io/assets/roomstay-logo-long.png',
|
|
134
|
+
name: 'Roomstay Demo',
|
|
135
|
+
companyShort: 'Roomstay Demo Ltd',
|
|
136
|
+
hotels: [HotelSpec, HotelSpec2],
|
|
177
137
|
selectedHotel: HotelSpec,
|
|
178
138
|
};
|
|
179
|
-
|
|
180
|
-
//# sourceMappingURL=RSCompany.js.map
|
|
139
|
+
//# sourceMappingURL=OfflineEngineDefaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OfflineEngineDefaults.js","sourceRoot":"/","sources":["tests/offline/entry/OfflineEngineDefaults.ts"],"names":[],"mappings":"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","sourcesContent":["import { ConfigHotel, Language, DistanceUnitType, WeekdayStartsOn, IconType, ConfigCompany, Hotel, EPaymentCardType } from 'index';\n\ndeclare const TEST_OFFLINE_HOTEL_ID: string;\n\nconst HotelSpec: ConfigHotel = {\n hotelID: TEST_OFFLINE_HOTEL_ID,\n providerHotelID: '1',\n\n name: 'Ovolo Woolloomooloo',\n logo: '',\n defaultDatepickerType: 'Month',\n defaultLanguage: Language.en_us,\n distanceUnitType: DistanceUnitType.Metric,\n showAddonLoader: true,\n startsWeekOnDay: WeekdayStartsOn.Monday,\n\n heroImage: 'https://ovolohotels.com/wp-content/uploads/2020/02/Banner-e1587412618532.jpg',\n privacyPolicyUrl: '/privacy',\n colors: {\n accent: '#249aba',\n accent2: '#e1f6fc',\n accent3: '#1f839e',\n success: '#0EB086',\n },\n googleReCaptcha: {\n loadForMembers: true,\n siteKey: '6LdjaFsgAAAAANdKGv9XMKkc5iKdTA0Wh5XR0vc2',\n },\n vgs: {\n vaultNames: {\n standard: 'tntmupn9ras',\n members: 'tntjyo5u2pi',\n },\n },\n memberOnlyPromoCode: 'BAR',\n defaultCurrency: 'NZD',\n hotelUrl: 'https://roomstay.io',\n checkoutUrl: '/fullpage/',\n\n transportDistances: {\n plane: 6.9,\n train: 1.1,\n bus: 0.29,\n taxi: 0,\n },\n overwrites: {\n PRS: {\n RoomDimensions: '50 m²',\n },\n DBL: {\n RoomDimensions: '65 m²',\n },\n JRS: {\n RoomDimensions: '60 m²',\n },\n SGL: {\n RoomDimensions: '26 m²',\n },\n A1K: {\n RoomDimensions: '55 m²',\n },\n ABC: {\n RoomDimensions: '100 m²',\n },\n },\n showMealPill: true,\n googleMapsImage: '/public/client/woolloomooloo/maps-static-thumbnail.png',\n perks: [\n {\n icon: IconType.Breakfast,\n name: 'Breakfast',\n image: 'https://ovolohotels.com/wp-content/themes/wonderful/assets/img/wonderful/perks/breakfast_large.png',\n },\n {\n icon: IconType.WiFi,\n name: 'Superspeed Wifi',\n image: 'https://ovolohotels.com/wp-content/themes/wonderful/assets/img/wonderful/perks/wifi_large.png',\n },\n {\n icon: IconType.Bar,\n name: 'Social Hour',\n image: 'https://ovolohotels.com/wp-content/themes/wonderful/assets/img/wonderful/perks/socialhour_large.png',\n },\n {\n icon: IconType.Fridge,\n name: 'In-room mini bar',\n image: 'https://ovolohotels.com/wp-content/themes/wonderful/assets/img/wonderful/perks/minibar_large.png',\n },\n {\n icon: IconType.Laundry,\n name: 'Self-service laundry',\n image: 'https://ovolohotels.com/wp-content/themes/wonderful/assets/img/wonderful/perks/laundry_large.png',\n },\n {\n icon: IconType.Gym,\n name: '24-hour Gym',\n image: 'https://ovolohotels.com/wp-content/themes/wonderful/assets/img/wonderful/perks/gym_large.png',\n },\n {\n icon: IconType.Snacks,\n name: 'All day snacks',\n image: 'https://ovolohotels.com/wp-content/themes/wonderful/assets/img/wonderful/perks/snacks_large.png',\n },\n {\n icon: IconType.LootBag,\n name: 'Free Loot Bag',\n image: 'https://ovolohotels.com/wp-content/themes/wonderful/assets/img/wonderful/perks/lootbag_large.png',\n },\n ],\n paymentCardTypes: [EPaymentCardType.Visa, EPaymentCardType.JCB, EPaymentCardType.AmericanExpress, EPaymentCardType.Mastercard],\n paymentMethods: [],\n address: {\n city: 'Cairns',\n country: 'Australia',\n line1: '163 Abbott Street',\n line2: ' Cairns',\n line3: '',\n postalCode: '04870',\n state: 'Queensland',\n },\n maxOccupancy: 5,\n memberOnlyModalUsePrimaryColor: true,\n} as unknown as ConfigHotel;\n\nconst HotelSpec2 = {\n ...HotelSpec,\n address: { ...HotelSpec.address, city: 'South Yarra' },\n colors: {\n accent: '#ff3c00',\n accent2: '#ffe4dc',\n accent3: '#bc1700',\n success: '#0EB086',\n },\n name: 'Naumi Singapore',\n hotelID: '6f3631bc-e773-4ea0-9163-3d9965d41175',\n};\n\nexport const rsCompany: ConfigCompany = {\n colors: {\n accent: '#BEEEEF',\n accent2: '#BEEEeF',\n accent3: '#BEEEeF',\n },\n logo: 'https://clients.app.roomstay.io/assets/roomstay-logo-long.png',\n name: 'Roomstay Demo',\n companyShort: 'Roomstay Demo Ltd',\n hotels: [HotelSpec, HotelSpec2],\n selectedHotel: HotelSpec as Hotel,\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function TestEngineWrapper(): JSX.Element;
|
|
@@ -10,11 +10,11 @@ const RecentSearchesEngine_1 = require("../../../src/engines/RecentSearchesEngin
|
|
|
10
10
|
const FullPageBookingEngine_1 = require("../../../src/engines/FullPageBookingEngine/FullPageBookingEngine");
|
|
11
11
|
const FeatureProvider_1 = __importDefault(require("../../../src/providers/FeatureProvider"));
|
|
12
12
|
const RoomstayThemeEngine_1 = __importDefault(require("../../../src/providers/RoomstayThemeEngine"));
|
|
13
|
-
const
|
|
14
|
-
const RSCompany_1 = require("./RSCompany");
|
|
13
|
+
const OfflineEngineDefaults_1 = require("./OfflineEngineDefaults");
|
|
15
14
|
const TestPicker_1 = require("./components/TestPicker");
|
|
16
|
-
const BookingWizardEngine_1 = require("../../../src/engines/BookingWizardEngine/BookingWizardEngine");
|
|
17
15
|
const memberPortalWidgetRenderer_1 = require("./engineRenderer/memberPortalWidgetRenderer");
|
|
16
|
+
const RoomRate_1 = require("./pages/RoomRate");
|
|
17
|
+
const BookingWizard_1 = require("./pages/BookingWizard");
|
|
18
18
|
function FullPageRender() {
|
|
19
19
|
const fullpage = (0, react_2.useRef)(null);
|
|
20
20
|
(0, react_2.useEffect)(() => {
|
|
@@ -23,9 +23,9 @@ function FullPageRender() {
|
|
|
23
23
|
const urlParams = new URLSearchParams(window.location.search);
|
|
24
24
|
const customHotel = urlParams.get('hotel');
|
|
25
25
|
if (customHotel) {
|
|
26
|
-
|
|
26
|
+
OfflineEngineDefaults_1.rsCompany.hotels[0].hotelID = customHotel;
|
|
27
27
|
}
|
|
28
|
-
fullpageBE.setConfig({ company:
|
|
28
|
+
fullpageBE.setConfig({ company: OfflineEngineDefaults_1.rsCompany });
|
|
29
29
|
fullpageBE.start();
|
|
30
30
|
FeatureProvider_1.default.load('RoomUpsellFeature');
|
|
31
31
|
FeatureProvider_1.default.load('InlineAddonStepFeature');
|
|
@@ -34,86 +34,24 @@ function FullPageRender() {
|
|
|
34
34
|
}, [fullpage]);
|
|
35
35
|
return react_1.default.createElement("div", { ref: fullpage });
|
|
36
36
|
}
|
|
37
|
-
function InlineRender() {
|
|
38
|
-
const inline = (0, react_2.useRef)(null);
|
|
39
|
-
(0, react_2.useEffect)(() => {
|
|
40
|
-
if (inline.current) {
|
|
41
|
-
const fullpageBE = new index_1.InlineRoomMiniEngine(inline.current, 'VDK');
|
|
42
|
-
fullpageBE.setConfig({ company: RSCompany_1.rsCompany });
|
|
43
|
-
RoomstayThemeEngine_1.default.registerStyles();
|
|
44
|
-
fullpageBE.start();
|
|
45
|
-
}
|
|
46
|
-
}, [inline]);
|
|
47
|
-
return react_1.default.createElement("div", { ref: inline });
|
|
48
|
-
}
|
|
49
37
|
function RecentSearchesRender() {
|
|
50
38
|
const recent = (0, react_2.useRef)(null);
|
|
51
39
|
(0, react_2.useEffect)(() => {
|
|
52
40
|
if (recent.current) {
|
|
53
41
|
const fullpageBE = new RecentSearchesEngine_1.RecentSearchesEngine(recent.current);
|
|
54
|
-
fullpageBE.setConfig({ company:
|
|
42
|
+
fullpageBE.setConfig({ company: OfflineEngineDefaults_1.rsCompany });
|
|
55
43
|
RoomstayThemeEngine_1.default.registerStyles();
|
|
56
44
|
fullpageBE.start();
|
|
57
45
|
}
|
|
58
46
|
}, [recent]);
|
|
59
47
|
return react_1.default.createElement("div", { ref: recent });
|
|
60
48
|
}
|
|
61
|
-
function
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
layout: 'horizontal',
|
|
68
|
-
theme: 'specific',
|
|
69
|
-
widgetType: 'group',
|
|
70
|
-
onSubmit: (e) => {
|
|
71
|
-
console.log(e);
|
|
72
|
-
},
|
|
73
|
-
defaultColors: {
|
|
74
|
-
accent: '#A0FC68',
|
|
75
|
-
accent2: '#AAFC68',
|
|
76
|
-
accent3: '#F0FC68',
|
|
77
|
-
},
|
|
78
|
-
properties: {
|
|
79
|
-
Cairns: [
|
|
80
|
-
{
|
|
81
|
-
id: '6f3631bc-e773-4ea0-9163-3d9965d41175',
|
|
82
|
-
name: 'Apple Pie',
|
|
83
|
-
colors: {
|
|
84
|
-
accent: '#beeeef',
|
|
85
|
-
accent2: '#aaeeef',
|
|
86
|
-
accent3: '#cceeef',
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
id: '5512',
|
|
91
|
-
name: 'Bubble Pie',
|
|
92
|
-
colors: {
|
|
93
|
-
accent: '#beeeef',
|
|
94
|
-
accent2: '#aaeeef',
|
|
95
|
-
accent3: '#cceeef',
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
},
|
|
100
|
-
selectedProperty: {
|
|
101
|
-
id: '6f3631bc-e773-4ea0-9163-3d9965d41175',
|
|
102
|
-
name: 'Apple Pie',
|
|
103
|
-
colors: {
|
|
104
|
-
accent: '#beeeef',
|
|
105
|
-
accent2: '#aaeeef',
|
|
106
|
-
accent3: '#cceeef',
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
RoomstayThemeEngine_1.default.registerStyles();
|
|
111
|
-
wizardBookingEngine.start();
|
|
112
|
-
}
|
|
113
|
-
}, [recent]);
|
|
114
|
-
return react_1.default.createElement("div", { ref: recent });
|
|
115
|
-
}
|
|
116
|
-
function ReactWrapper() {
|
|
49
|
+
function TestEngineWrapper() {
|
|
50
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
51
|
+
const customHotel = urlParams.get('hotel');
|
|
52
|
+
if (customHotel) {
|
|
53
|
+
OfflineEngineDefaults_1.rsCompany.hotels[0].hotelID = customHotel;
|
|
54
|
+
}
|
|
117
55
|
return (react_1.default.createElement("div", null,
|
|
118
56
|
react_1.default.createElement("div", { className: "hi-widget-container" },
|
|
119
57
|
react_1.default.createElement("div", { className: "hi-launcher-container" })),
|
|
@@ -125,16 +63,16 @@ function ReactWrapper() {
|
|
|
125
63
|
switch (query.get('engine')) {
|
|
126
64
|
case 'fp':
|
|
127
65
|
return react_1.default.createElement(FullPageRender, null);
|
|
128
|
-
case '
|
|
129
|
-
return react_1.default.createElement(
|
|
66
|
+
case 'rr':
|
|
67
|
+
return react_1.default.createElement(RoomRate_1.RoomRateEngineWrapper, { company: OfflineEngineDefaults_1.rsCompany });
|
|
130
68
|
case 'rc':
|
|
131
69
|
return react_1.default.createElement(RecentSearchesRender, null);
|
|
132
70
|
case 'bw':
|
|
133
|
-
return react_1.default.createElement(
|
|
71
|
+
return react_1.default.createElement(BookingWizard_1.BookingWizardWrapper, { company: OfflineEngineDefaults_1.rsCompany });
|
|
134
72
|
case 'mp':
|
|
135
73
|
return react_1.default.createElement(memberPortalWidgetRenderer_1.MemberPortalWidgetRenderer, null);
|
|
136
74
|
}
|
|
137
75
|
} }))));
|
|
138
76
|
}
|
|
139
|
-
exports.default =
|
|
140
|
-
//# sourceMappingURL=
|
|
77
|
+
exports.default = TestEngineWrapper;
|
|
78
|
+
//# sourceMappingURL=OfflineEngineWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OfflineEngineWrapper.js","sourceRoot":"/","sources":["tests/offline/entry/OfflineEngineWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { BrowserRouter, Route } from 'react-router-dom';\n\nimport { RecentSearchesEngine } from '@/engines/RecentSearchesEngine/RecentSearchesEngine';\nimport { FullPageBookingEngine } from '@/engines/FullPageBookingEngine/FullPageBookingEngine';\nimport FeatureProvider from '@/providers/FeatureProvider';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { rsCompany } from './OfflineEngineDefaults';\nimport { TestPicker } from './components/TestPicker';\nimport { BookingWizardEngine } from '@/engines/BookingWizardEngine/BookingWizardEngine';\nimport { MemberPortalWidgetRenderer } from './engineRenderer/memberPortalWidgetRenderer';\nimport { RoomRateEngineWrapper } from './pages/RoomRate';\nimport { BookingWizardWrapper } from './pages/BookingWizard';\n\nfunction FullPageRender() {\n const fullpage = useRef(null);\n\n useEffect(() => {\n if (fullpage.current) {\n const fullpageBE = new FullPageBookingEngine(fullpage.current);\n\n const urlParams = new URLSearchParams(window.location.search);\n const customHotel = urlParams.get('hotel');\n\n if (customHotel) {\n rsCompany.hotels[0].hotelID = customHotel;\n }\n\n fullpageBE.setConfig({ company: rsCompany });\n fullpageBE.start();\n\n FeatureProvider.load('RoomUpsellFeature');\n FeatureProvider.load('InlineAddonStepFeature');\n FeatureProvider.load('MemberPortalFeature');\n }\n }, [fullpage]);\n\n return <div ref={fullpage} />;\n}\n\nfunction RecentSearchesRender() {\n const recent = useRef(null);\n\n useEffect(() => {\n if (recent.current) {\n const fullpageBE = new RecentSearchesEngine(recent.current);\n fullpageBE.setConfig({ company: rsCompany });\n RoomstayThemeEngine.registerStyles();\n fullpageBE.start();\n }\n }, [recent]);\n\n return <div ref={recent} />;\n}\n\nexport default function TestEngineWrapper() {\n const urlParams = new URLSearchParams(window.location.search);\n const customHotel = urlParams.get('hotel');\n\n if (customHotel) {\n rsCompany.hotels[0].hotelID = customHotel;\n }\n\n return (\n <div>\n <div className=\"hi-widget-container\">\n <div className=\"hi-launcher-container\"></div>\n </div>\n <BrowserRouter>\n <TestPicker />\n <Route\n path=\"/\"\n render={(p) => {\n const search = p.location.search;\n const query = new URLSearchParams(search);\n switch (query.get('engine')) {\n case 'fp':\n return <FullPageRender />;\n case 'rr':\n return <RoomRateEngineWrapper company={rsCompany} />;\n case 'rc':\n return <RecentSearchesRender />;\n case 'bw':\n return <BookingWizardWrapper company={rsCompany} />;\n case 'mp':\n return <MemberPortalWidgetRenderer />;\n }\n }}\n />\n </BrowserRouter>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RoomstayDemoNavbar = void 0;
|
|
7
|
+
const index_module_scss_1 = __importDefault(require("./index.module.scss"));
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const RoomstayDemoNavbar = ({ logo }) => {
|
|
10
|
+
return (react_1.default.createElement("div", { className: index_module_scss_1.default['container-navbar'] },
|
|
11
|
+
react_1.default.createElement("div", { className: index_module_scss_1.default['container-navbar-inner'] },
|
|
12
|
+
react_1.default.createElement("div", { className: index_module_scss_1.default['container-navbar-logo'] },
|
|
13
|
+
react_1.default.createElement("img", { src: logo, alt: "logo" })),
|
|
14
|
+
react_1.default.createElement("div", { className: index_module_scss_1.default['container-navbar-menu'] }, ['Home', 'Rooms', 'About', 'Contact'].map((item) => (react_1.default.createElement("div", { className: index_module_scss_1.default['container-navbar-menu-item'], key: item }, item)))))));
|
|
15
|
+
};
|
|
16
|
+
exports.RoomstayDemoNavbar = RoomstayDemoNavbar;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["tests/offline/entry/components/RoomstayDemoNavbar/index.tsx"],"names":[],"mappings":";;;;;;AAAA,4EAAyC;AAEzC,kDAA0B;AAEnB,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;IAC7D,OAAO,CACH,uCAAK,SAAS,EAAE,2BAAM,CAAC,kBAAkB,CAAC;QACtC,uCAAK,SAAS,EAAE,2BAAM,CAAC,wBAAwB,CAAC;YAC5C,uCAAK,SAAS,EAAE,2BAAM,CAAC,uBAAuB,CAAC;gBAC3C,uCAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,GAAG,CAC3B;YACN,uCAAK,SAAS,EAAE,2BAAM,CAAC,uBAAuB,CAAC,IAC1C,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACjD,uCAAK,SAAS,EAAE,2BAAM,CAAC,4BAA4B,CAAC,EAAE,GAAG,EAAE,IAAI,IAC1D,IAAI,CACH,CACT,CAAC,CACA,CACJ,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAjBW,QAAA,kBAAkB,sBAiB7B","sourcesContent":["import styles from './index.module.scss';\n\nimport React from 'react';\n\nexport const RoomstayDemoNavbar = ({ logo }: { logo: string }) => {\n return (\n <div className={styles['container-navbar']}>\n <div className={styles['container-navbar-inner']}>\n <div className={styles['container-navbar-logo']}>\n <img src={logo} alt=\"logo\" />\n </div>\n <div className={styles['container-navbar-menu']}>\n {['Home', 'Rooms', 'About', 'Contact'].map((item) => (\n <div className={styles['container-navbar-menu-item']} key={item}>\n {item}\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -48,12 +48,76 @@ const Query_1 = require("../../../../src/hooks/Query");
|
|
|
48
48
|
const MemberPortalFeature_1 = __importDefault(require("../../../../src/providers/feature/MemberPortalFeature"));
|
|
49
49
|
const FullPageBookingEngineElementEvents_1 = require("../../../../src/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents");
|
|
50
50
|
const ModifyBookingFeature_1 = __importDefault(require("../../../../src/providers/feature/ModifyBookingFeature"));
|
|
51
|
+
const OfflineEngineDefaults_1 = require("../OfflineEngineDefaults");
|
|
52
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
51
53
|
const engines = [
|
|
52
|
-
{ value: 'fp', text: '
|
|
53
|
-
{ value: '
|
|
54
|
-
{ value: '
|
|
55
|
-
{ value: '
|
|
56
|
-
{ value: '
|
|
54
|
+
{ value: 'fp', text: 'Booking Engine', color: '#fd7e14' },
|
|
55
|
+
{ value: 'rr', text: 'RoomRate', color: '#6610f2' },
|
|
56
|
+
{ value: 'bw', text: 'RoomFinder', color: '#dc3545' },
|
|
57
|
+
{ value: 'mp', text: 'GuestButton', color: '#198754' },
|
|
58
|
+
{ value: 'rc', text: 'RecentSearches', color: '#d63384' },
|
|
59
|
+
];
|
|
60
|
+
const hotels = [
|
|
61
|
+
{
|
|
62
|
+
name: 'Naumi Hotels',
|
|
63
|
+
options: [
|
|
64
|
+
{ value: '41e21cbe-3c18-4a47-a7a2-295ce46ae8f2', text: 'Naumi Auckland Airport' },
|
|
65
|
+
{ value: '1d4285f4-8660-4222-bbd7-3b96ae06d94e', text: 'The Central Private Hotel' },
|
|
66
|
+
{ value: '6f3329e0-2f72-4a68-a659-45020db00246', text: 'Central Studio Hotel Sydney' },
|
|
67
|
+
{ value: '3792a869-6834-4012-b2ed-0dcccb23cae4', text: 'The Dairy Private Hotel' },
|
|
68
|
+
{ value: 'aa04adb0-4f08-456d-8401-475d150fec4d', text: 'Naumi Hotel Wellington' },
|
|
69
|
+
{ value: '6f3631bc-e773-4ea0-9163-3d9965d41175', text: 'Naumi Singapore' },
|
|
70
|
+
{ value: '8d546ce0-1fe4-466f-a12b-4190cc532bbc', text: 'Naumi Singapore Per Person' },
|
|
71
|
+
{ value: '814dbcb4-3ba7-4b4a-a7ee-551396115c7d', text: 'Naumi Studio Wellington' },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Ovolo Hotels',
|
|
76
|
+
options: [
|
|
77
|
+
{ value: 'f7641862-cc3b-4f13-91b4-64e1a9d901bd', text: 'The Inchcolm' },
|
|
78
|
+
{ value: '3a47e623-3c52-415b-ad90-c841e5ff5ba6', text: 'Ovolo The Valley' },
|
|
79
|
+
{ value: '9112eb12-c173-4493-9df8-703680f6bc03', text: 'Mamaka by Ovolo' },
|
|
80
|
+
{ value: '05c82275-a919-456c-b78c-711e8e0526d7', text: 'Ovolo South Yarra' },
|
|
81
|
+
{ value: '0309fabc-885f-4798-b70e-9c867ba92d16', text: 'Ovolo Central' },
|
|
82
|
+
{ value: 'f43885ad-099b-44c7-b0fc-5919598aa22f', text: 'Ovolo Southside' },
|
|
83
|
+
{ value: 'bbc7274f-a934-4f52-bc4d-3ae6c03604ff', text: 'The Sheung Wan' },
|
|
84
|
+
{ value: 'fc53e95d-9286-4099-9acd-29cef0cafbd3', text: 'Laneways by Ovolo' },
|
|
85
|
+
{ value: '318e0e62-7336-4a91-9535-9ea62a7777cd', text: 'Ovolo Woolloomooloo' },
|
|
86
|
+
{ value: '206a9106-70bf-4f5a-8b90-626cc55f967a', text: 'The Woolstore 1888' },
|
|
87
|
+
{ value: '75afc9c6-13af-4343-a2d6-be6ad48c1c11', text: 'Nishi Apartments' },
|
|
88
|
+
{ value: '59ed3835-3339-4f40-abaa-2a013c514059', text: 'Ovolo Nishi' },
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'Crystalbrook Hotels',
|
|
93
|
+
options: [
|
|
94
|
+
{ value: '2fafb397-da91-4ac4-8ee7-e197a0664b20', text: 'Crystalbrook Flynn' },
|
|
95
|
+
{ value: '62043741-6cff-4fb6-a16e-c480ed2840e1', text: 'Crystalbrook Riley' },
|
|
96
|
+
{ value: '0f66d697-4963-4ffe-ad39-da118cf6f9e9', text: 'Crystalbrook Byron' },
|
|
97
|
+
{ value: '4ea1bbd9-3015-40ad-a372-aea85f8d81e5', text: 'Crystalbrook Kingsley' },
|
|
98
|
+
{ value: '0df24023-2b00-4005-9e11-b03e985ea872', text: 'Crystalbrook Vincent' },
|
|
99
|
+
{ value: 'ffb49371-b8e4-4f9c-a77f-f5f8bc1b95d3', text: 'Crystalbrook Albion' },
|
|
100
|
+
{ value: 'e72c82f0-4ff0-4e4f-9927-66917585e127', text: 'Crystalbrook Bailey' },
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'Northern Escape',
|
|
105
|
+
options: [
|
|
106
|
+
{ value: 'de670d66-f080-4fb6-8dd8-3701951ad171', text: 'Beechmont Estate' },
|
|
107
|
+
{ value: '9a93f659-ca9a-455b-8e05-1f6e2b6610b1', text: 'Daintree Ecolodge' },
|
|
108
|
+
{ value: 'fbbb57ce-6076-4438-aa35-6914e4863729', text: 'Mt Mulligan Lodge' },
|
|
109
|
+
{ value: '7c26c3f4-09cc-414d-8ed2-aceec23dd47c', text: 'Orpheus Island Lodge' },
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'Hampshire Holiday Parks',
|
|
114
|
+
options: [
|
|
115
|
+
{ value: '7cef9d36-7fa1-4049-b9a2-9bc60a4bba6f', text: 'Glendhu Bay Holiday Park' },
|
|
116
|
+
{ value: 'ab9fe300-8be0-46c2-8fa5-7998439d7ca4', text: 'Wanaka Holiday Park' },
|
|
117
|
+
{ value: '0f683d3f-b997-4d00-9601-69ed1d7f826e', text: 'Arrowtown Holiday Park' },
|
|
118
|
+
{ value: '1e79858b-b761-4b0f-9da2-1b9ce85a4e9c', text: 'Queenstown Holiday Park' },
|
|
119
|
+
],
|
|
120
|
+
},
|
|
57
121
|
];
|
|
58
122
|
const availableFeatures = [
|
|
59
123
|
{
|
|
@@ -78,7 +142,7 @@ const availableFeatures = [
|
|
|
78
142
|
},
|
|
79
143
|
{
|
|
80
144
|
feature: MemberPortalFeature_1.default,
|
|
81
|
-
label: 'Enable
|
|
145
|
+
label: 'Enable GuestPortal?',
|
|
82
146
|
},
|
|
83
147
|
{
|
|
84
148
|
feature: index_1.FullPageEngineSmallSpacingFeature,
|
|
@@ -94,6 +158,7 @@ const availableThemes = [
|
|
|
94
158
|
{ text: 'Light', value: index_1.RoomstayTheme.Light },
|
|
95
159
|
];
|
|
96
160
|
const TestPicker = () => {
|
|
161
|
+
var _a;
|
|
97
162
|
const [, setInc] = (0, react_1.useState)(0);
|
|
98
163
|
const [isModalOpen, setIsModalOpen] = (0, react_1.useState)(false);
|
|
99
164
|
const updateQueryParameters = (0, UpdateQueryParameters_1.useUpdateQueryParameters)();
|
|
@@ -178,15 +243,23 @@ const TestPicker = () => {
|
|
|
178
243
|
provider.write('SavedFeatures', featureMap);
|
|
179
244
|
console.log('saved features');
|
|
180
245
|
};
|
|
246
|
+
const onHotelChanged = (value) => {
|
|
247
|
+
query.set('hotel', value);
|
|
248
|
+
updateQueryParameters({
|
|
249
|
+
hotel: value,
|
|
250
|
+
});
|
|
251
|
+
window.location.reload();
|
|
252
|
+
};
|
|
181
253
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
182
|
-
react_1.default.createElement("div", { className: TestPicker_module_scss_1.default.powerToggle, onClick: onTriggerClick }
|
|
254
|
+
react_1.default.createElement("div", { className: TestPicker_module_scss_1.default.powerToggle, onClick: onTriggerClick },
|
|
255
|
+
react_1.default.createElement("img", { src: "https://clients.app.roomstay.io/assets/roomstay-logo.png" })),
|
|
183
256
|
react_1.default.createElement(SimpleModal_1.default, { open: isModalOpen, onClose: onModalClose, title: "Development Control Panel" },
|
|
184
257
|
react_1.default.createElement("div", { className: TestPicker_module_scss_1.default.engineControlBody },
|
|
185
258
|
react_1.default.createElement("div", { className: "row" },
|
|
186
259
|
react_1.default.createElement("div", { className: "col-md-6" },
|
|
187
260
|
react_1.default.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
188
261
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
189
|
-
react_1.default.createElement(index_1.Headline, { bold: true }, "Engine
|
|
262
|
+
react_1.default.createElement(index_1.Headline, { bold: true }, "Engine Enhancements")),
|
|
190
263
|
react_1.default.createElement("div", null, availableFeatures.map((aF, index) => {
|
|
191
264
|
const onFeatureChange = (state) => {
|
|
192
265
|
if (state.target.checked) {
|
|
@@ -199,16 +272,28 @@ const TestPicker = () => {
|
|
|
199
272
|
updateSavedFeatures();
|
|
200
273
|
};
|
|
201
274
|
return react_1.default.createElement(index_1.Checkbox, { key: index, label: aF.label, checked: aF.feature.isActive(), onChange: onFeatureChange });
|
|
202
|
-
})))
|
|
275
|
+
}))),
|
|
276
|
+
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
277
|
+
react_1.default.createElement(index_1.Headline, { bold: true }, "Engine Theme")),
|
|
278
|
+
react_1.default.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
279
|
+
react_1.default.createElement(index_1.InputSelect, { options: availableThemes, value: index_1.RoomstayThemeEngine.ThemeType, onChange: onThemeChanged, keyName: "value", labelName: "text" }))),
|
|
203
280
|
react_1.default.createElement("div", { className: "col-md-6" },
|
|
204
281
|
react_1.default.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
205
282
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
206
283
|
react_1.default.createElement(index_1.Headline, { bold: true }, "Engine Type:")),
|
|
207
|
-
react_1.default.createElement(
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
284
|
+
react_1.default.createElement("div", { className: TestPicker_module_scss_1.default['engine-picker-grid'] }, engines.map((engine) => {
|
|
285
|
+
const _onClick = () => {
|
|
286
|
+
onChangeEngine(engine.value);
|
|
287
|
+
};
|
|
288
|
+
const classes = (0, classnames_1.default)(TestPicker_module_scss_1.default['engine-picker-card'], {
|
|
289
|
+
[TestPicker_module_scss_1.default['--selected']]: query.get('engine') === engine.value,
|
|
290
|
+
});
|
|
291
|
+
return (react_1.default.createElement("div", { onClick: _onClick, className: classes, key: engine.value, style: { backgroundColor: engine.color } }, engine.text));
|
|
292
|
+
}))),
|
|
293
|
+
react_1.default.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
294
|
+
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
295
|
+
react_1.default.createElement(index_1.Headline, { bold: true }, "Selected Hotel:")),
|
|
296
|
+
react_1.default.createElement(Select_1.Select, { nativeOnMobile: true, options: hotels, value: (_a = query.get('hotel')) !== null && _a !== void 0 ? _a : OfflineEngineDefaults_1.rsCompany.hotels[0].hotelID, onChange: onHotelChanged, keyName: "value", labelName: "text" }))))))));
|
|
212
297
|
};
|
|
213
298
|
exports.TestPicker = TestPicker;
|
|
214
299
|
//# sourceMappingURL=TestPicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestPicker.js","sourceRoot":"/","sources":["tests/offline/entry/components/TestPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import styles from './TestPicker.module.scss';\nimport React, { useEffect, useState } from 'react';\nimport { CognitoUser } from '@aws-amplify/auth';\n\nimport SimpleModal from '@/components/generic/modal/SimpleModal';\nimport {\n Checkbox,\n ConfirmationVerifyFeature,\n E164PhoneNumberFieldFeature,\n FeatureProvider,\n Headline,\n InlineAddonStepFeature,\n RoomstayTheme,\n RoomstayThemeEngine,\n RoomUpsellFeature,\n ShowIATANumberOnCheckoutFeature,\n FullPageEngineSmallSpacingFeature,\n InputSelect,\n} from 'index';\nimport { Feature } from '@/providers/feature/Feature';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport { getAuth } from '@/util/AsyncAuth';\nimport { LocalStorageProvider } from '@/providers/storage/LocalStorageProvider';\nimport { useUpdateQueryParameters } from '@/hooks/UpdateQueryParameters';\nimport { useQuery } from '@/hooks/Query';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport { FullPageBookingEngineElementEvents } from '@/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport ModifyBookingFeature from '@/providers/feature/ModifyBookingFeature';\n\nconst engines = [\n { value: 'fp', text: 'Full Page' },\n { value: 'in', text: 'Inline Mini Wizard' },\n { value: 'rc', text: 'Recent Searches' },\n { value: 'bw', text: 'Booking Wizard' },\n { value: 'mp', text: 'Member Portal' },\n];\n\ninterface IThemeSelectOption {\n text: string;\n value: RoomstayTheme;\n}\n\nconst availableFeatures: { feature: Feature; label: string }[] = [\n {\n feature: E164PhoneNumberFieldFeature,\n\n label: 'Phone number input in E164 format?',\n },\n {\n feature: ConfirmationVerifyFeature,\n label: 'Show Confirmation Checkbox on checkout?',\n },\n {\n feature: ShowIATANumberOnCheckoutFeature,\n label: 'Show IATA number input field on checkout?',\n },\n {\n feature: RoomUpsellFeature,\n label: 'Enable Room Upsell on checkout?',\n },\n {\n feature: InlineAddonStepFeature,\n label: 'Enable Inline Addon Step?',\n },\n {\n feature: MemberPortalFeature,\n label: 'Enable Member Portal?',\n },\n {\n feature: FullPageEngineSmallSpacingFeature,\n label: 'Reduce the size of the spacing on booking engine steps',\n },\n {\n feature: ModifyBookingFeature,\n label: 'Enable Modify Booking?',\n },\n];\n\nconst availableThemes: IThemeSelectOption[] = [\n { text: 'Medium', value: RoomstayTheme.Medium },\n { text: 'Light', value: RoomstayTheme.Light },\n];\n\nexport const TestPicker = () => {\n const [, setInc] = useState(0);\n\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const updateQueryParameters = useUpdateQueryParameters();\n const query = useQuery();\n\n const onChangeEngine = (value: string) => {\n query.set('engine', value);\n updateQueryParameters({\n engine: value,\n });\n setIsModalOpen(false);\n };\n\n const onModalClose = () => {\n setIsModalOpen(false);\n };\n\n const onTriggerClick = () => {\n setIsModalOpen((open) => !open);\n };\n\n const onThemeChanged = (theme: RoomstayTheme) => {\n RoomstayThemeEngine.ThemeType = theme;\n const containers = document.querySelectorAll('.roomstay-booking-container');\n\n for (const container of containers) {\n const isMedTheme = theme === RoomstayTheme.Medium;\n const isLightTheme = theme === RoomstayTheme.Light;\n\n const contClassList = container.classList;\n\n contClassList.toggle('--theme-medium', isMedTheme);\n contClassList.toggle('--theme-light', isLightTheme);\n }\n refresh();\n };\n\n /**\n * Reason for this is if we make global changes, state doesn't update 👀\n */\n const refresh = () => {\n setInc((i) => i + 1);\n try {\n FullPageBookingEngineElementEvents.reload();\n } catch (ex) {\n console.error(ex);\n }\n };\n\n const [cognitoUser, setCognitoUser] = useState<CognitoUser | any>(null);\n\n const getUser = async () => {\n const Auth = await getAuth();\n Auth.currentAuthenticatedUser()\n .then((user) => {\n setCognitoUser(user);\n })\n .catch(() => {\n setCognitoUser(null);\n });\n };\n\n useEffect(() => {\n let cancelled = false;\n getUser();\n return () => {\n cancelled = true;\n };\n }, [isModalOpen]);\n\n useEffect(() => {\n if (!query.get('engine')) {\n onChangeEngine(engines[0].value);\n }\n\n const provider = new LocalStorageProvider();\n provider.read<{ [name: string]: boolean }>('SavedFeatures').then((stateFeatureMap) => {\n availableFeatures.forEach(({ feature }) => {\n if (stateFeatureMap?.[feature.getName()]) {\n FeatureProvider.load(feature);\n } else {\n FeatureProvider.unLoad(feature);\n }\n });\n });\n }, []);\n\n const updateSavedFeatures = () => {\n const featureMap: { [name: string]: boolean } = {};\n\n availableFeatures.forEach(({ feature }) => {\n featureMap[feature.getName()] = feature.isActive();\n });\n\n const provider = new LocalStorageProvider();\n provider.write('SavedFeatures', featureMap);\n\n console.log('saved features');\n };\n\n return (\n <>\n <div className={styles.powerToggle} onClick={onTriggerClick}></div>\n <SimpleModal open={isModalOpen} onClose={onModalClose} title=\"Development Control Panel\">\n <div className={styles.engineControlBody}>\n <div className=\"row\">\n <div className=\"col-md-6\">\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>Engine Feature</Headline>\n </div>\n <div>\n {availableFeatures.map((aF, index) => {\n const onFeatureChange = (state: React.ChangeEvent<HTMLInputElement>) => {\n if (state.target.checked) {\n FeatureProvider.load(aF.feature.getName());\n } else {\n FeatureProvider.unLoad(aF.feature.getName());\n }\n\n refresh();\n updateSavedFeatures();\n };\n\n return <Checkbox key={index} label={aF.label} checked={aF.feature.isActive()} onChange={onFeatureChange} />;\n })}\n </div>\n </div>\n </div>\n <div className=\"col-md-6\">\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>Engine Type:</Headline>\n </div>\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={engines}\n value={query.get('engine') as string}\n onChange={onChangeEngine}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </div>\n </div>\n\n <div className=\"u-marg-bottom--light\">\n <Headline bold>Engine Theme</Headline>\n </div>\n <div className=\"u-marg-bottom--heavy\">\n <InputSelect<IThemeSelectOption, 'value'>\n options={availableThemes}\n value={RoomstayThemeEngine.ThemeType}\n onChange={onThemeChanged}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </div>\n </SimpleModal>\n </>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"TestPicker.js","sourceRoot":"/","sources":["tests/offline/entry/components/TestPicker.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sFAA8C;AAC9C,+CAAmD;AAGnD,yFAAiE;AACjE,iCAae;AAEf,+DAAkF;AAClF,gDAA2C;AAC3C,mFAAgF;AAChF,yEAAyE;AACzE,yCAAyC;AACzC,kGAA0E;AAC1E,2HAAwH;AACxH,oGAA4E;AAC5E,oEAAqD;AACrD,4DAA2C;AAE3C,MAAM,OAAO,GAAG;IACZ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;IACzD,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;IACnD,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;IACrD,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE;IACtD,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;CAC5D,CAAC;AAEF,MAAM,MAAM,GAAG;IACX;QACI,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,wBAAwB,EAAE;YACjF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,2BAA2B,EAAE;YACpF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,6BAA6B,EAAE;YACtF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE;YAClF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,wBAAwB,EAAE;YACjF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,EAAE;YAC1E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,4BAA4B,EAAE;YACrF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE;SACrF;KACJ;IACD;QACI,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,cAAc,EAAE;YAEvE,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAE3E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,EAAE;YAC1E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,EAAE;YAE5E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,eAAe,EAAE;YACxE,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,EAAE;YAC1E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACzE,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,EAAE;YAE5E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,qBAAqB,EAAE;YAC9E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC7E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC3E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,aAAa,EAAE;SACzE;KACJ;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC7E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC7E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC7E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,uBAAuB,EAAE;YAChF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE;YAC/E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,qBAAqB,EAAE;YAC9E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,qBAAqB,EAAE;SACjF;KACJ;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC3E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,EAAE;YAC5E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,EAAE;YAC5E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAClF;KACJ;IACD;QACI,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,0BAA0B,EAAE;YACnF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,qBAAqB,EAAE;YAC9E,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,wBAAwB,EAAE;YACjF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE;SACrF;KACJ;CACJ,CAAC;AAOF,MAAM,iBAAiB,GAA0C;IAC7D;QACI,OAAO,EAAE,mCAA2B;QAEpC,KAAK,EAAE,oCAAoC;KAC9C;IACD;QACI,OAAO,EAAE,iCAAyB;QAClC,KAAK,EAAE,yCAAyC;KACnD;IACD;QACI,OAAO,EAAE,uCAA+B;QACxC,KAAK,EAAE,2CAA2C;KACrD;IACD;QACI,OAAO,EAAE,yBAAiB;QAC1B,KAAK,EAAE,iCAAiC;KAC3C;IACD;QACI,OAAO,EAAE,8BAAsB;QAC/B,KAAK,EAAE,2BAA2B;KACrC;IACD;QACI,OAAO,EAAE,6BAAmB;QAC5B,KAAK,EAAE,qBAAqB;KAC/B;IACD;QACI,OAAO,EAAE,yCAAiC;QAC1C,KAAK,EAAE,wDAAwD;KAClE;IACD;QACI,OAAO,EAAE,8BAAoB;QAC7B,KAAK,EAAE,wBAAwB;KAClC;CACJ,CAAC;AAEF,MAAM,eAAe,GAAyB;IAC1C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAa,CAAC,MAAM,EAAE;IAC/C,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAa,CAAC,KAAK,EAAE;CAChD,CAAC;AAEK,MAAM,UAAU,GAAG,GAAG,EAAE;;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAE/B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,qBAAqB,GAAG,IAAA,gDAAwB,GAAE,CAAC;IACzD,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAEzB,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3B,qBAAqB,CAAC;YAClB,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC5C,2BAAmB,CAAC,SAAS,GAAG,KAAK,CAAC;QACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;QAE5E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,UAAU,GAAG,KAAK,KAAK,qBAAa,CAAC,MAAM,CAAC;YAClD,MAAM,YAAY,GAAG,KAAK,KAAK,qBAAa,CAAC,KAAK,CAAC;YAEnD,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC;YAE1C,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACnD,aAAa,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;SACvD;QACD,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,IAAI;YACA,uEAAkC,CAAC,MAAM,EAAE,CAAC;SAC/C;QAAC,OAAO,EAAE,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACrB;IACL,CAAC,CAAC;IAEF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAoB,IAAI,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG,GAAS,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAO,GAAE,CAAC;QAC7B,IAAI,CAAC,wBAAwB,EAAE;aAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACX,cAAc,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACR,cAAc,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACX,CAAC,CAAA,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,EAAE,CAAC;QACV,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACtB,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,MAAM,QAAQ,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAA8B,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;YACjF,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBACtC,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE;oBACtC,uBAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACjC;qBAAM;oBACH,uBAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACnC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,MAAM,UAAU,GAAgC,EAAE,CAAC;QAEnD,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAC5C,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAE5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1B,qBAAqB,CAAC;YAClB,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CACH;QACI,uCAAK,SAAS,EAAE,gCAAM,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc;YACvD,uCAAK,GAAG,EAAC,0DAA0D,GAAG,CACpE;QACN,8BAAC,qBAAW,IAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAC,2BAA2B;YACpF,uCAAK,SAAS,EAAE,gCAAM,CAAC,iBAAiB;gBACpC,uCAAK,SAAS,EAAC,KAAK;oBAChB,uCAAK,SAAS,EAAC,UAAU;wBACrB,uCAAK,SAAS,EAAC,sBAAsB;4BACjC,uCAAK,SAAS,EAAC,sBAAsB;gCACjC,8BAAC,gBAAQ,IAAC,IAAI,gCAA+B,CAC3C;4BACN,2CACK,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gCACjC,MAAM,eAAe,GAAG,CAAC,KAA0C,EAAE,EAAE;oCACnE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;wCACtB,uBAAe,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;qCAC9C;yCAAM;wCACH,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;qCAChD;oCAED,OAAO,EAAE,CAAC;oCACV,mBAAmB,EAAE,CAAC;gCAC1B,CAAC,CAAC;gCAEF,OAAO,8BAAC,gBAAQ,IAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,GAAI,CAAC;4BAChH,CAAC,CAAC,CACA,CACJ;wBACN,uCAAK,SAAS,EAAC,sBAAsB;4BACjC,8BAAC,gBAAQ,IAAC,IAAI,yBAAwB,CACpC;wBACN,uCAAK,SAAS,EAAC,sBAAsB;4BACjC,8BAAC,mBAAW,IACR,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,2BAAmB,CAAC,SAAS,EACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,GAClB,CACA,CACJ;oBACN,uCAAK,SAAS,EAAC,UAAU;wBACrB,uCAAK,SAAS,EAAC,sBAAsB;4BACjC,uCAAK,SAAS,EAAC,sBAAsB;gCACjC,8BAAC,gBAAQ,IAAC,IAAI,yBAAwB,CACpC;4BACN,uCAAK,SAAS,EAAE,gCAAM,CAAC,oBAAoB,CAAC,IACvC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gCACpB,MAAM,QAAQ,GAAG,GAAG,EAAE;oCAClB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gCACjC,CAAC,CAAC;gCAEF,MAAM,OAAO,GAAG,IAAA,oBAAE,EAAC,gCAAM,CAAC,oBAAoB,CAAC,EAAE;oCAC7C,CAAC,gCAAM,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,KAAK;iCAC/D,CAAC,CAAC;gCAEH,OAAO,CACH,uCAAK,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,IAClG,MAAM,CAAC,IAAI,CACV,CACT,CAAC;4BACN,CAAC,CAAC,CACA,CACJ;wBACN,uCAAK,SAAS,EAAC,sBAAsB;4BACjC,uCAAK,SAAS,EAAC,sBAAsB;gCACjC,8BAAC,gBAAQ,IAAC,IAAI,4BAA2B,CACvC;4BACN,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAY,mCAAI,iCAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EACpE,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,GAClB,CACA,CACJ,CACJ,CACJ,CACI,CACf,CACN,CAAC;AACN,CAAC,CAAC;AApMW,QAAA,UAAU,cAoMrB","sourcesContent":["import styles from './TestPicker.module.scss';\nimport React, { useEffect, useState } from 'react';\nimport { CognitoUser } from '@aws-amplify/auth';\n\nimport SimpleModal from '@/components/generic/modal/SimpleModal';\nimport {\n Checkbox,\n ConfirmationVerifyFeature,\n E164PhoneNumberFieldFeature,\n FeatureProvider,\n Headline,\n InlineAddonStepFeature,\n RoomstayTheme,\n RoomstayThemeEngine,\n RoomUpsellFeature,\n ShowIATANumberOnCheckoutFeature,\n FullPageEngineSmallSpacingFeature,\n InputSelect,\n} from 'index';\nimport { Feature } from '@/providers/feature/Feature';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport { getAuth } from '@/util/AsyncAuth';\nimport { LocalStorageProvider } from '@/providers/storage/LocalStorageProvider';\nimport { useUpdateQueryParameters } from '@/hooks/UpdateQueryParameters';\nimport { useQuery } from '@/hooks/Query';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport { FullPageBookingEngineElementEvents } from '@/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport ModifyBookingFeature from '@/providers/feature/ModifyBookingFeature';\nimport { rsCompany } from '../OfflineEngineDefaults';\nimport { default as cx } from 'classnames';\n\nconst engines = [\n { value: 'fp', text: 'Booking Engine', color: '#fd7e14' },\n { value: 'rr', text: 'RoomRate', color: '#6610f2' },\n { value: 'bw', text: 'RoomFinder', color: '#dc3545' },\n { value: 'mp', text: 'GuestButton', color: '#198754' },\n { value: 'rc', text: 'RecentSearches', color: '#d63384' },\n];\n\nconst hotels = [\n {\n name: 'Naumi Hotels',\n options: [\n { value: '41e21cbe-3c18-4a47-a7a2-295ce46ae8f2', text: 'Naumi Auckland Airport' },\n { value: '1d4285f4-8660-4222-bbd7-3b96ae06d94e', text: 'The Central Private Hotel' },\n { value: '6f3329e0-2f72-4a68-a659-45020db00246', text: 'Central Studio Hotel Sydney' },\n { value: '3792a869-6834-4012-b2ed-0dcccb23cae4', text: 'The Dairy Private Hotel' },\n { value: 'aa04adb0-4f08-456d-8401-475d150fec4d', text: 'Naumi Hotel Wellington' },\n { value: '6f3631bc-e773-4ea0-9163-3d9965d41175', text: 'Naumi Singapore' },\n { value: '8d546ce0-1fe4-466f-a12b-4190cc532bbc', text: 'Naumi Singapore Per Person' },\n { value: '814dbcb4-3ba7-4b4a-a7ee-551396115c7d', text: 'Naumi Studio Wellington' },\n ],\n },\n {\n name: 'Ovolo Hotels',\n options: [\n { value: 'f7641862-cc3b-4f13-91b4-64e1a9d901bd', text: 'The Inchcolm' },\n\n { value: '3a47e623-3c52-415b-ad90-c841e5ff5ba6', text: 'Ovolo The Valley' },\n\n { value: '9112eb12-c173-4493-9df8-703680f6bc03', text: 'Mamaka by Ovolo' },\n { value: '05c82275-a919-456c-b78c-711e8e0526d7', text: 'Ovolo South Yarra' },\n\n { value: '0309fabc-885f-4798-b70e-9c867ba92d16', text: 'Ovolo Central' },\n { value: 'f43885ad-099b-44c7-b0fc-5919598aa22f', text: 'Ovolo Southside' },\n { value: 'bbc7274f-a934-4f52-bc4d-3ae6c03604ff', text: 'The Sheung Wan' },\n { value: 'fc53e95d-9286-4099-9acd-29cef0cafbd3', text: 'Laneways by Ovolo' },\n\n { value: '318e0e62-7336-4a91-9535-9ea62a7777cd', text: 'Ovolo Woolloomooloo' },\n { value: '206a9106-70bf-4f5a-8b90-626cc55f967a', text: 'The Woolstore 1888' },\n { value: '75afc9c6-13af-4343-a2d6-be6ad48c1c11', text: 'Nishi Apartments' },\n { value: '59ed3835-3339-4f40-abaa-2a013c514059', text: 'Ovolo Nishi' },\n ],\n },\n {\n name: 'Crystalbrook Hotels',\n options: [\n { value: '2fafb397-da91-4ac4-8ee7-e197a0664b20', text: 'Crystalbrook Flynn' },\n { value: '62043741-6cff-4fb6-a16e-c480ed2840e1', text: 'Crystalbrook Riley' },\n { value: '0f66d697-4963-4ffe-ad39-da118cf6f9e9', text: 'Crystalbrook Byron' },\n { value: '4ea1bbd9-3015-40ad-a372-aea85f8d81e5', text: 'Crystalbrook Kingsley' },\n { value: '0df24023-2b00-4005-9e11-b03e985ea872', text: 'Crystalbrook Vincent' },\n { value: 'ffb49371-b8e4-4f9c-a77f-f5f8bc1b95d3', text: 'Crystalbrook Albion' },\n { value: 'e72c82f0-4ff0-4e4f-9927-66917585e127', text: 'Crystalbrook Bailey' },\n ],\n },\n {\n name: 'Northern Escape',\n options: [\n { value: 'de670d66-f080-4fb6-8dd8-3701951ad171', text: 'Beechmont Estate' },\n { value: '9a93f659-ca9a-455b-8e05-1f6e2b6610b1', text: 'Daintree Ecolodge' },\n { value: 'fbbb57ce-6076-4438-aa35-6914e4863729', text: 'Mt Mulligan Lodge' },\n { value: '7c26c3f4-09cc-414d-8ed2-aceec23dd47c', text: 'Orpheus Island Lodge' },\n ],\n },\n {\n name: 'Hampshire Holiday Parks',\n options: [\n { value: '7cef9d36-7fa1-4049-b9a2-9bc60a4bba6f', text: 'Glendhu Bay Holiday Park' },\n { value: 'ab9fe300-8be0-46c2-8fa5-7998439d7ca4', text: 'Wanaka Holiday Park' },\n { value: '0f683d3f-b997-4d00-9601-69ed1d7f826e', text: 'Arrowtown Holiday Park' },\n { value: '1e79858b-b761-4b0f-9da2-1b9ce85a4e9c', text: 'Queenstown Holiday Park' },\n ],\n },\n];\n\ninterface IThemeSelectOption {\n text: string;\n value: RoomstayTheme;\n}\n\nconst availableFeatures: { feature: Feature; label: string }[] = [\n {\n feature: E164PhoneNumberFieldFeature,\n\n label: 'Phone number input in E164 format?',\n },\n {\n feature: ConfirmationVerifyFeature,\n label: 'Show Confirmation Checkbox on checkout?',\n },\n {\n feature: ShowIATANumberOnCheckoutFeature,\n label: 'Show IATA number input field on checkout?',\n },\n {\n feature: RoomUpsellFeature,\n label: 'Enable Room Upsell on checkout?',\n },\n {\n feature: InlineAddonStepFeature,\n label: 'Enable Inline Addon Step?',\n },\n {\n feature: MemberPortalFeature,\n label: 'Enable GuestPortal?',\n },\n {\n feature: FullPageEngineSmallSpacingFeature,\n label: 'Reduce the size of the spacing on booking engine steps',\n },\n {\n feature: ModifyBookingFeature,\n label: 'Enable Modify Booking?',\n },\n];\n\nconst availableThemes: IThemeSelectOption[] = [\n { text: 'Medium', value: RoomstayTheme.Medium },\n { text: 'Light', value: RoomstayTheme.Light },\n];\n\nexport const TestPicker = () => {\n const [, setInc] = useState(0);\n\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const updateQueryParameters = useUpdateQueryParameters();\n const query = useQuery();\n\n const onChangeEngine = (value: string) => {\n query.set('engine', value);\n updateQueryParameters({\n engine: value,\n });\n setIsModalOpen(false);\n };\n\n const onModalClose = () => {\n setIsModalOpen(false);\n };\n\n const onTriggerClick = () => {\n setIsModalOpen((open) => !open);\n };\n\n const onThemeChanged = (theme: RoomstayTheme) => {\n RoomstayThemeEngine.ThemeType = theme;\n const containers = document.querySelectorAll('.roomstay-booking-container');\n\n for (const container of containers) {\n const isMedTheme = theme === RoomstayTheme.Medium;\n const isLightTheme = theme === RoomstayTheme.Light;\n\n const contClassList = container.classList;\n\n contClassList.toggle('--theme-medium', isMedTheme);\n contClassList.toggle('--theme-light', isLightTheme);\n }\n refresh();\n };\n\n /**\n * Reason for this is if we make global changes, state doesn't update 👀\n */\n const refresh = () => {\n setInc((i) => i + 1);\n try {\n FullPageBookingEngineElementEvents.reload();\n } catch (ex) {\n console.error(ex);\n }\n };\n\n const [cognitoUser, setCognitoUser] = useState<CognitoUser | any>(null);\n\n const getUser = async () => {\n const Auth = await getAuth();\n Auth.currentAuthenticatedUser()\n .then((user) => {\n setCognitoUser(user);\n })\n .catch(() => {\n setCognitoUser(null);\n });\n };\n\n useEffect(() => {\n let cancelled = false;\n getUser();\n return () => {\n cancelled = true;\n };\n }, [isModalOpen]);\n\n useEffect(() => {\n if (!query.get('engine')) {\n onChangeEngine(engines[0].value);\n }\n\n const provider = new LocalStorageProvider();\n provider.read<{ [name: string]: boolean }>('SavedFeatures').then((stateFeatureMap) => {\n availableFeatures.forEach(({ feature }) => {\n if (stateFeatureMap?.[feature.getName()]) {\n FeatureProvider.load(feature);\n } else {\n FeatureProvider.unLoad(feature);\n }\n });\n });\n }, []);\n\n const updateSavedFeatures = () => {\n const featureMap: { [name: string]: boolean } = {};\n\n availableFeatures.forEach(({ feature }) => {\n featureMap[feature.getName()] = feature.isActive();\n });\n\n const provider = new LocalStorageProvider();\n provider.write('SavedFeatures', featureMap);\n\n console.log('saved features');\n };\n\n const onHotelChanged = (value: string) => {\n query.set('hotel', value);\n updateQueryParameters({\n hotel: value,\n });\n window.location.reload();\n };\n\n return (\n <>\n <div className={styles.powerToggle} onClick={onTriggerClick}>\n <img src=\"https://clients.app.roomstay.io/assets/roomstay-logo.png\" />\n </div>\n <SimpleModal open={isModalOpen} onClose={onModalClose} title=\"Development Control Panel\">\n <div className={styles.engineControlBody}>\n <div className=\"row\">\n <div className=\"col-md-6\">\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>Engine Enhancements</Headline>\n </div>\n <div>\n {availableFeatures.map((aF, index) => {\n const onFeatureChange = (state: React.ChangeEvent<HTMLInputElement>) => {\n if (state.target.checked) {\n FeatureProvider.load(aF.feature.getName());\n } else {\n FeatureProvider.unLoad(aF.feature.getName());\n }\n\n refresh();\n updateSavedFeatures();\n };\n\n return <Checkbox key={index} label={aF.label} checked={aF.feature.isActive()} onChange={onFeatureChange} />;\n })}\n </div>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Headline bold>Engine Theme</Headline>\n </div>\n <div className=\"u-marg-bottom--heavy\">\n <InputSelect<IThemeSelectOption, 'value'>\n options={availableThemes}\n value={RoomstayThemeEngine.ThemeType}\n onChange={onThemeChanged}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </div>\n <div className=\"col-md-6\">\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>Engine Type:</Headline>\n </div>\n <div className={styles['engine-picker-grid']}>\n {engines.map((engine) => {\n const _onClick = () => {\n onChangeEngine(engine.value);\n };\n\n const classes = cx(styles['engine-picker-card'], {\n [styles['--selected']]: query.get('engine') === engine.value,\n });\n\n return (\n <div onClick={_onClick} className={classes} key={engine.value} style={{ backgroundColor: engine.color }}>\n {engine.text}\n </div>\n );\n })}\n </div>\n </div>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>Selected Hotel:</Headline>\n </div>\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={hotels}\n value={(query.get('hotel') as string) ?? rsCompany.hotels[0].hotelID}\n onChange={onHotelChanged}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </div>\n </div>\n </div>\n </SimpleModal>\n </>\n );\n};\n"]}
|
|
@@ -31,7 +31,7 @@ const react_1 = __importStar(require("react"));
|
|
|
31
31
|
const MemberPortalWidget_1 = require("../../../../src/engines/MemberPortalWidget/MemberPortalWidget");
|
|
32
32
|
const FeatureProvider_1 = __importDefault(require("../../../../src/providers/FeatureProvider"));
|
|
33
33
|
const RoomstayThemeEngine_1 = __importDefault(require("../../../../src/providers/RoomstayThemeEngine"));
|
|
34
|
-
const
|
|
34
|
+
const OfflineEngineDefaults_1 = require("../OfflineEngineDefaults");
|
|
35
35
|
const memberPortalWidgetRenderer_module_scss_1 = __importDefault(require("./memberPortalWidgetRenderer.module.scss"));
|
|
36
36
|
const buttonPlacements = ['center', 'top-left', 'top-center', 'top-right', 'bottom-left', 'bottom-center', 'bottom-right', 'right-center', 'left-center'];
|
|
37
37
|
const MemberPortalWidgetRenderer = () => {
|
|
@@ -41,7 +41,7 @@ const MemberPortalWidgetRenderer = () => {
|
|
|
41
41
|
if (recent.current) {
|
|
42
42
|
const memberPortalWidget = new MemberPortalWidget_1.MemberPortalWidget(recent.current);
|
|
43
43
|
memberPortalWidget.setConfig({
|
|
44
|
-
company: { colors:
|
|
44
|
+
company: { colors: OfflineEngineDefaults_1.rsCompany.colors, companyShort: OfflineEngineDefaults_1.rsCompany.companyShort, hotel: OfflineEngineDefaults_1.rsCompany.hotels[0], checkoutLink: '/checkout' },
|
|
45
45
|
overlayPlacement: 'bottom-end',
|
|
46
46
|
fallbackPlacements: 'auto',
|
|
47
47
|
onSignedIn: console.log,
|