@triptease/tt-navbar 0.0.74 → 0.0.76
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/CHANGELOG.md +12 -0
- package/dist/src/TtNavbar.js +6 -3
- package/dist/src/TtNavbar.js.map +1 -1
- package/dist/src/urlMappings.js +16 -2
- package/dist/src/urlMappings.js.map +1 -1
- package/dist/test/tt-navbar.test.js +19 -6
- package/dist/test/tt-navbar.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/Config.js +1 -1
- package/dist/web/Routes.js +1 -1
- package/dist/web/TtNavbar.js +23 -6
- package/dist/web/TtNavbar.js.map +2 -2
- package/dist/web/getInitialNavbarState.js +1 -1
- package/dist/web/global.d.js +1 -1
- package/dist/web/index.js +23 -6
- package/dist/web/index.js.map +2 -2
- package/dist/web/styles.js +1 -1
- package/dist/web/triptease-logo.js +1 -1
- package/dist/web/tt-navbar.js +23 -6
- package/dist/web/tt-navbar.js.map +2 -2
- package/dist/web/urlMappings.js +17 -3
- package/dist/web/urlMappings.js.map +2 -2
- package/package.json +1 -1
- package/src/TtNavbar.ts +6 -3
- package/src/urlMappings.ts +16 -2
- package/test/tt-navbar.test.ts +23 -6
package/dist/web/urlMappings.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @triptease/tt-navbar v0.0.
|
|
2
|
+
* @triptease/tt-navbar v0.0.76
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
// src/urlMappings.ts
|
|
@@ -17,8 +17,22 @@ var urlMappings = {
|
|
|
17
17
|
"/:clientKey/messages/*": "/channels",
|
|
18
18
|
"/:clientKey/pricematch/*": "/channels",
|
|
19
19
|
"/:clientKey/chat/insights": "/channels",
|
|
20
|
-
"
|
|
21
|
-
"/:clientKey/
|
|
20
|
+
"/:clientKey/parity": "/parity/$CLIENT_KEY",
|
|
21
|
+
"/:clientKey/parity/*": "/parity/$CLIENT_KEY",
|
|
22
|
+
// Settings routes - legacy paths map to new navbar link
|
|
23
|
+
"/settings/:clientKey/*": "/$CLIENT_KEY/settings/guides",
|
|
24
|
+
// Settings routes with :clientKey first (excluding guides/hotels which have direct links)
|
|
25
|
+
"/:clientKey/settings/branding": "/$CLIENT_KEY/settings/guides",
|
|
26
|
+
"/:clientKey/settings/price-check": "/$CLIENT_KEY/settings/guides",
|
|
27
|
+
"/:clientKey/settings/price-config": "/$CLIENT_KEY/settings/guides",
|
|
28
|
+
"/:clientKey/settings/hotel-details-finder": "/$CLIENT_KEY/settings/guides",
|
|
29
|
+
"/:clientKey/settings/deactivation-center": "/$CLIENT_KEY/settings/guides",
|
|
30
|
+
"/:clientKey/account/team": "/account/team/$CLIENT_KEY",
|
|
31
|
+
"/:clientKey/account/team/*": "/account/team/$CLIENT_KEY",
|
|
32
|
+
"/:clientKey/account/billing-management": "/account/billing-management/$CLIENT_KEY",
|
|
33
|
+
"/:clientKey/account/billing-management/*": "/account/billing-management/$CLIENT_KEY",
|
|
34
|
+
"/:clientKey/subscriptions": "/subscriptions/$CLIENT_KEY",
|
|
35
|
+
"/:clientKey/subscriptions/*": "/subscriptions/$CLIENT_KEY"
|
|
22
36
|
};
|
|
23
37
|
export {
|
|
24
38
|
urlMappings
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/urlMappings.ts"],
|
|
4
|
-
"sourcesContent": ["type UrlMapping = Record<string, string>;\n\nconst urlMappings: UrlMapping = {\n '/paidsearch/:clientKey/*': '/channels',\n '/meta/:clientKey/*': '/channels',\n '/retargeting/:clientKey/*': '/channels',\n '/messages/:clientKey/*': '/channels',\n '/:clientKey/email': '/channels',\n '/pricematch/:clientKey/*': '/channels',\n '/chat/insights/:clientKey': '/channels',\n '/:clientKey/meta/*': '/channels',\n '/:clientKey/paidsearch/*': '/channels',\n '/:clientKey/retargeting/*': '/channels',\n '/:clientKey/messages/*': '/channels',\n '/:clientKey/pricematch/*': '/channels',\n '/:clientKey/chat/insights': '/channels',\n '/settings/:clientKey/*': '/settings/$CLIENT_KEY/guides',\n '/:clientKey/settings
|
|
5
|
-
"mappings": ";;;;;AAEA,IAAM,cAA0B;AAAA,EAC9B,4BAA4B;AAAA,EAC5B,sBAAsB;AAAA,EACtB,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B,qBAAqB;AAAA,EACrB,4BAA4B;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,
|
|
4
|
+
"sourcesContent": ["type UrlMapping = Record<string, string>;\n\nconst urlMappings: UrlMapping = {\n '/paidsearch/:clientKey/*': '/channels',\n '/meta/:clientKey/*': '/channels',\n '/retargeting/:clientKey/*': '/channels',\n '/messages/:clientKey/*': '/channels',\n '/:clientKey/email': '/channels',\n '/pricematch/:clientKey/*': '/channels',\n '/chat/insights/:clientKey': '/channels',\n '/:clientKey/meta/*': '/channels',\n '/:clientKey/paidsearch/*': '/channels',\n '/:clientKey/retargeting/*': '/channels',\n '/:clientKey/messages/*': '/channels',\n '/:clientKey/pricematch/*': '/channels',\n '/:clientKey/chat/insights': '/channels',\n '/:clientKey/parity': '/parity/$CLIENT_KEY',\n '/:clientKey/parity/*': '/parity/$CLIENT_KEY',\n // Settings routes - legacy paths map to new navbar link\n '/settings/:clientKey/*': '/$CLIENT_KEY/settings/guides',\n // Settings routes with :clientKey first (excluding guides/hotels which have direct links)\n '/:clientKey/settings/branding': '/$CLIENT_KEY/settings/guides',\n '/:clientKey/settings/price-check': '/$CLIENT_KEY/settings/guides',\n '/:clientKey/settings/price-config': '/$CLIENT_KEY/settings/guides',\n '/:clientKey/settings/hotel-details-finder': '/$CLIENT_KEY/settings/guides',\n '/:clientKey/settings/deactivation-center': '/$CLIENT_KEY/settings/guides',\n '/:clientKey/account/team': '/account/team/$CLIENT_KEY',\n '/:clientKey/account/team/*': '/account/team/$CLIENT_KEY',\n '/:clientKey/account/billing-management': '/account/billing-management/$CLIENT_KEY',\n '/:clientKey/account/billing-management/*': '/account/billing-management/$CLIENT_KEY',\n '/:clientKey/subscriptions': '/subscriptions/$CLIENT_KEY',\n '/:clientKey/subscriptions/*': '/subscriptions/$CLIENT_KEY',\n};\n\nexport { urlMappings };\n"],
|
|
5
|
+
"mappings": ";;;;;AAEA,IAAM,cAA0B;AAAA,EAC9B,4BAA4B;AAAA,EAC5B,sBAAsB;AAAA,EACtB,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B,qBAAqB;AAAA,EACrB,4BAA4B;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,sBAAsB;AAAA,EACtB,wBAAwB;AAAA;AAAA,EAExB,0BAA0B;AAAA;AAAA,EAE1B,iCAAiC;AAAA,EACjC,oCAAoC;AAAA,EACpC,qCAAqC;AAAA,EACrC,6CAA6C;AAAA,EAC7C,4CAA4C;AAAA,EAC5C,4BAA4B;AAAA,EAC5B,8BAA8B;AAAA,EAC9B,0CAA0C;AAAA,EAC1C,4CAA4C;AAAA,EAC5C,6BAA6B;AAAA,EAC7B,+BAA+B;AACjC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
package/src/TtNavbar.ts
CHANGED
|
@@ -293,7 +293,7 @@ export class TtNavbar extends LitElement {
|
|
|
293
293
|
>
|
|
294
294
|
<a
|
|
295
295
|
class="sub-nav-item"
|
|
296
|
-
href=${this.buildUrl('/guest-insights
|
|
296
|
+
href=${this.buildUrl('/$CLIENT_KEY/guest-insights')}
|
|
297
297
|
@click=${this.onAnchorClick}
|
|
298
298
|
data-intercom-target="guest-insights"
|
|
299
299
|
>Guest insights</a
|
|
@@ -323,14 +323,14 @@ export class TtNavbar extends LitElement {
|
|
|
323
323
|
>
|
|
324
324
|
<a
|
|
325
325
|
class="sub-nav-item"
|
|
326
|
-
href=${this.buildUrl('
|
|
326
|
+
href=${this.buildUrl('/$CLIENT_KEY/settings/guides')}
|
|
327
327
|
@click=${this.onAnchorClick}
|
|
328
328
|
data-intercom-target="group-settings"
|
|
329
329
|
>Group settings</a
|
|
330
330
|
>
|
|
331
331
|
<a
|
|
332
332
|
class="sub-nav-item"
|
|
333
|
-
href=${this.buildUrl('
|
|
333
|
+
href=${this.buildUrl('/$CLIENT_KEY/settings/hotels')}
|
|
334
334
|
@click=${this.onAnchorClick}
|
|
335
335
|
data-intercom-target="property-settings"
|
|
336
336
|
>Property settings</a
|
|
@@ -352,6 +352,7 @@ export class TtNavbar extends LitElement {
|
|
|
352
352
|
data-intercom-target="user-settings"
|
|
353
353
|
>User settings</a
|
|
354
354
|
>
|
|
355
|
+
<!-- TODO: Change to /$CLIENT_KEY/account/team when the change in Tetris is ready -->
|
|
355
356
|
<a
|
|
356
357
|
class="sub-nav-item"
|
|
357
358
|
href=${this.buildUrl('/account/team/$CLIENT_KEY')}
|
|
@@ -368,6 +369,7 @@ export class TtNavbar extends LitElement {
|
|
|
368
369
|
<span class="icon chevron"> ${unsafeSVG(chevronDown)}</span>
|
|
369
370
|
</summary>
|
|
370
371
|
<div>
|
|
372
|
+
<!-- TODO: Change to /$CLIENT_KEY/account/billing-management when the change in Tetris is ready -->
|
|
371
373
|
<a
|
|
372
374
|
class="sub-nav-item"
|
|
373
375
|
href=${this.buildUrl('/account/billing-management/$CLIENT_KEY')}
|
|
@@ -375,6 +377,7 @@ export class TtNavbar extends LitElement {
|
|
|
375
377
|
data-intercom-target="booking-reconciliation"
|
|
376
378
|
>Booking reconciliation</a
|
|
377
379
|
>
|
|
380
|
+
<!-- TODO: Change to /$CLIENT_KEY/subscriptions when the change in Tetris is ready -->
|
|
378
381
|
<a
|
|
379
382
|
class="sub-nav-item"
|
|
380
383
|
href=${this.buildUrl('/subscriptions/$CLIENT_KEY')}
|
package/src/urlMappings.ts
CHANGED
|
@@ -14,8 +14,22 @@ const urlMappings: UrlMapping = {
|
|
|
14
14
|
'/:clientKey/messages/*': '/channels',
|
|
15
15
|
'/:clientKey/pricematch/*': '/channels',
|
|
16
16
|
'/:clientKey/chat/insights': '/channels',
|
|
17
|
-
'
|
|
18
|
-
'/:clientKey/
|
|
17
|
+
'/:clientKey/parity': '/parity/$CLIENT_KEY',
|
|
18
|
+
'/:clientKey/parity/*': '/parity/$CLIENT_KEY',
|
|
19
|
+
// Settings routes - legacy paths map to new navbar link
|
|
20
|
+
'/settings/:clientKey/*': '/$CLIENT_KEY/settings/guides',
|
|
21
|
+
// Settings routes with :clientKey first (excluding guides/hotels which have direct links)
|
|
22
|
+
'/:clientKey/settings/branding': '/$CLIENT_KEY/settings/guides',
|
|
23
|
+
'/:clientKey/settings/price-check': '/$CLIENT_KEY/settings/guides',
|
|
24
|
+
'/:clientKey/settings/price-config': '/$CLIENT_KEY/settings/guides',
|
|
25
|
+
'/:clientKey/settings/hotel-details-finder': '/$CLIENT_KEY/settings/guides',
|
|
26
|
+
'/:clientKey/settings/deactivation-center': '/$CLIENT_KEY/settings/guides',
|
|
27
|
+
'/:clientKey/account/team': '/account/team/$CLIENT_KEY',
|
|
28
|
+
'/:clientKey/account/team/*': '/account/team/$CLIENT_KEY',
|
|
29
|
+
'/:clientKey/account/billing-management': '/account/billing-management/$CLIENT_KEY',
|
|
30
|
+
'/:clientKey/account/billing-management/*': '/account/billing-management/$CLIENT_KEY',
|
|
31
|
+
'/:clientKey/subscriptions': '/subscriptions/$CLIENT_KEY',
|
|
32
|
+
'/:clientKey/subscriptions/*': '/subscriptions/$CLIENT_KEY',
|
|
19
33
|
};
|
|
20
34
|
|
|
21
35
|
export { urlMappings };
|
package/test/tt-navbar.test.ts
CHANGED
|
@@ -60,11 +60,11 @@ describe('TtNavbar', () => {
|
|
|
60
60
|
expect(getLinkByHref(links, 'https://app.campaign-manager.triptease.io')).to.exist;
|
|
61
61
|
expect(getLinkByHref(links, `/${CLIENT_KEY}/channels`)).to.exist;
|
|
62
62
|
expect(getLinkByHref(links, `/parity/${CLIENT_KEY}`)).to.exist;
|
|
63
|
-
expect(getLinkByHref(links,
|
|
63
|
+
expect(getLinkByHref(links, `/${CLIENT_KEY}/guest-insights`)).to.exist;
|
|
64
64
|
expect(getLinkByHref(links, `/${CLIENT_KEY}/guest-behavioural-data`)).to.exist;
|
|
65
65
|
expect(getLinkByHref(links, `/${CLIENT_KEY}/crm-config`)).to.exist;
|
|
66
|
-
expect(getLinkByHref(links,
|
|
67
|
-
expect(getLinkByHref(links,
|
|
66
|
+
expect(getLinkByHref(links, `/${CLIENT_KEY}/settings/guides`)).to.exist;
|
|
67
|
+
expect(getLinkByHref(links, `/${CLIENT_KEY}/settings/hotels`)).to.exist;
|
|
68
68
|
expect(getLinkByHref(links, `/account`)).to.exist;
|
|
69
69
|
expect(getLinkByHref(links, `/account/team/${CLIENT_KEY}`)).to.exist;
|
|
70
70
|
expect(getLinkByHref(links, `/account/billing-management/${CLIENT_KEY}`)).to.exist;
|
|
@@ -228,7 +228,6 @@ describe('TtNavbar', () => {
|
|
|
228
228
|
[`/parity/${CLIENT_KEY}`, 'Parity'],
|
|
229
229
|
[`/parity/${CLIENT_KEY}/foo`, 'Parity'],
|
|
230
230
|
|
|
231
|
-
// Channels routes
|
|
232
231
|
[`/paidsearch/${CLIENT_KEY}/performance`, 'Channels'],
|
|
233
232
|
[`/meta/${CLIENT_KEY}/performance`, 'Channels'],
|
|
234
233
|
[`/retargeting/${CLIENT_KEY}/performance`, 'Channels'],
|
|
@@ -243,19 +242,37 @@ describe('TtNavbar', () => {
|
|
|
243
242
|
[`/chat/insights/${CLIENT_KEY}`, 'Channels'],
|
|
244
243
|
[`/messages/${CLIENT_KEY}/messages/new/save-the-search`, 'Channels'],
|
|
245
244
|
|
|
246
|
-
// Channels routes with :clientKey as first path segment
|
|
247
245
|
[`/${CLIENT_KEY}/meta/performance`, 'Channels'],
|
|
248
246
|
[`/${CLIENT_KEY}/paidsearch/performance`, 'Channels'],
|
|
249
247
|
[`/${CLIENT_KEY}/retargeting/performance`, 'Channels'],
|
|
250
248
|
[`/${CLIENT_KEY}/messages/messages`, 'Channels'],
|
|
251
249
|
[`/${CLIENT_KEY}/pricematch/performance`, 'Channels'],
|
|
252
250
|
|
|
253
|
-
|
|
251
|
+
[`/${CLIENT_KEY}/guest-insights`, 'Guest insights'],
|
|
252
|
+
[`/${CLIENT_KEY}/parity`, 'Parity'],
|
|
253
|
+
|
|
254
|
+
[`/settings/${CLIENT_KEY}/guides`, 'Group settings'],
|
|
254
255
|
[`/settings/${CLIENT_KEY}/branding`, 'Group settings'],
|
|
255
256
|
[`/settings/${CLIENT_KEY}/price-check`, 'Group settings'],
|
|
256
257
|
[`/settings/${CLIENT_KEY}/price-config`, 'Group settings'],
|
|
257
258
|
[`/settings/${CLIENT_KEY}/hotel-details-finder`, 'Group settings'],
|
|
258
259
|
[`/settings/${CLIENT_KEY}/deactivation-center`, 'Group settings'],
|
|
260
|
+
[`/${CLIENT_KEY}/settings/guides`, 'Group settings'],
|
|
261
|
+
[`/${CLIENT_KEY}/settings/branding`, 'Group settings'],
|
|
262
|
+
[`/${CLIENT_KEY}/settings/price-check`, 'Group settings'],
|
|
263
|
+
[`/${CLIENT_KEY}/settings/price-config`, 'Group settings'],
|
|
264
|
+
[`/${CLIENT_KEY}/settings/hotel-details-finder`, 'Group settings'],
|
|
265
|
+
[`/${CLIENT_KEY}/settings/deactivation-center`, 'Group settings'],
|
|
266
|
+
|
|
267
|
+
[`/${CLIENT_KEY}/settings/hotels`, 'Property settings'],
|
|
268
|
+
|
|
269
|
+
[`/account/team/${CLIENT_KEY}`, 'Team and permissions'],
|
|
270
|
+
[`/account/billing-management/${CLIENT_KEY}`, 'Booking reconciliation'],
|
|
271
|
+
[`/subscriptions/${CLIENT_KEY}`, 'Subscriptions'],
|
|
272
|
+
|
|
273
|
+
[`/${CLIENT_KEY}/account/team`, 'Team and permissions'],
|
|
274
|
+
[`/${CLIENT_KEY}/account/billing-management`, 'Booking reconciliation'],
|
|
275
|
+
[`/${CLIENT_KEY}/subscriptions`, 'Subscriptions'],
|
|
259
276
|
];
|
|
260
277
|
|
|
261
278
|
URLs.forEach(([route, text]) => {
|