@triptease/tt-navbar 0.0.74 → 0.0.75

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @triptease/tt-navbar v0.0.74
2
+ * @triptease/tt-navbar v0.0.75
3
3
  */
4
4
 
5
5
  // src/urlMappings.ts
@@ -17,8 +17,16 @@ var urlMappings = {
17
17
  "/:clientKey/messages/*": "/channels",
18
18
  "/:clientKey/pricematch/*": "/channels",
19
19
  "/:clientKey/chat/insights": "/channels",
20
- "/settings/:clientKey/*": "/settings/$CLIENT_KEY/guides",
21
- "/:clientKey/settings/*": "/$CLIENT_KEY/settings/guides"
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
+ "/:clientKey/account/team": "/account/team/$CLIENT_KEY",
25
+ "/:clientKey/account/team/*": "/account/team/$CLIENT_KEY",
26
+ "/:clientKey/account/billing-management": "/account/billing-management/$CLIENT_KEY",
27
+ "/:clientKey/account/billing-management/*": "/account/billing-management/$CLIENT_KEY",
28
+ "/:clientKey/subscriptions": "/subscriptions/$CLIENT_KEY",
29
+ "/:clientKey/subscriptions/*": "/subscriptions/$CLIENT_KEY"
22
30
  };
23
31
  export {
24
32
  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/*': '/$CLIENT_KEY/settings/guides',\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,0BAA0B;AAAA,EAC1B,0BAA0B;AAC5B;",
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 '/: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,EAC1B,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
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent tt-navbar following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "tt-navbar",
6
- "version": "0.0.74",
6
+ "version": "0.0.75",
7
7
  "type": "module",
8
8
  "main": "dist/src/index.js",
9
9
  "module": "dist/src/index.js",
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/$CLIENT_KEY')}
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('/settings/$CLIENT_KEY/guides')}
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('/settings/$CLIENT_KEY/hotels')}
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')}
@@ -14,8 +14,16 @@ const urlMappings: UrlMapping = {
14
14
  '/:clientKey/messages/*': '/channels',
15
15
  '/:clientKey/pricematch/*': '/channels',
16
16
  '/:clientKey/chat/insights': '/channels',
17
- '/settings/:clientKey/*': '/settings/$CLIENT_KEY/guides',
18
- '/:clientKey/settings/*': '/$CLIENT_KEY/settings/guides',
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
+ '/:clientKey/account/team': '/account/team/$CLIENT_KEY',
22
+ '/:clientKey/account/team/*': '/account/team/$CLIENT_KEY',
23
+ '/:clientKey/account/billing-management': '/account/billing-management/$CLIENT_KEY',
24
+ '/:clientKey/account/billing-management/*': '/account/billing-management/$CLIENT_KEY',
25
+ '/:clientKey/subscriptions': '/subscriptions/$CLIENT_KEY',
26
+ '/:clientKey/subscriptions/*': '/subscriptions/$CLIENT_KEY',
19
27
  };
20
28
 
21
29
  export { urlMappings };
@@ -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, `/guest-insights/${CLIENT_KEY}`)).to.exist;
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, `/settings/${CLIENT_KEY}/guides`)).to.exist;
67
- expect(getLinkByHref(links, `/settings/${CLIENT_KEY}/hotels`)).to.exist;
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,31 @@ 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
- // Settings routes
251
+ [`/${CLIENT_KEY}/guest-insights`, 'Guest insights'],
252
+ [`/${CLIENT_KEY}/parity`, 'Parity'],
253
+
254
254
  [`/settings/${CLIENT_KEY}/branding`, 'Group settings'],
255
255
  [`/settings/${CLIENT_KEY}/price-check`, 'Group settings'],
256
256
  [`/settings/${CLIENT_KEY}/price-config`, 'Group settings'],
257
257
  [`/settings/${CLIENT_KEY}/hotel-details-finder`, 'Group settings'],
258
258
  [`/settings/${CLIENT_KEY}/deactivation-center`, 'Group settings'],
259
+
260
+ [`/${CLIENT_KEY}/settings/guides`, 'Group settings'],
261
+ [`/${CLIENT_KEY}/settings/hotels`, 'Property settings'],
262
+
263
+ [`/account/team/${CLIENT_KEY}`, 'Team and permissions'],
264
+ [`/account/billing-management/${CLIENT_KEY}`, 'Booking reconciliation'],
265
+ [`/subscriptions/${CLIENT_KEY}`, 'Subscriptions'],
266
+
267
+ [`/${CLIENT_KEY}/account/team`, 'Team and permissions'],
268
+ [`/${CLIENT_KEY}/account/billing-management`, 'Booking reconciliation'],
269
+ [`/${CLIENT_KEY}/subscriptions`, 'Subscriptions'],
259
270
  ];
260
271
 
261
272
  URLs.forEach(([route, text]) => {