@qite/tide-booking-component 1.4.60 → 1.4.61

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.
Files changed (29) hide show
  1. package/build/build-cjs/index.js +46 -1
  2. package/build/build-cjs/src/content/navbar/placeholderData.d.ts +2 -0
  3. package/build/build-cjs/src/content/navbar/types.d.ts +4 -0
  4. package/build/build-cjs/src/shared/utils/localization-util.d.ts +1 -0
  5. package/build/build-esm/index.js +44 -1
  6. package/build/build-esm/src/content/navbar/placeholderData.d.ts +2 -0
  7. package/build/build-esm/src/content/navbar/types.d.ts +4 -0
  8. package/build/build-esm/src/shared/utils/localization-util.d.ts +1 -0
  9. package/package.json +1 -1
  10. package/src/content/navbar/index.tsx +38 -1
  11. package/src/content/navbar/placeholderData.tsx +15 -4
  12. package/src/content/navbar/types.ts +6 -0
  13. package/src/shared/translations/ar-SA.json +1 -0
  14. package/src/shared/translations/da-DK.json +1 -0
  15. package/src/shared/translations/de-DE.json +1 -0
  16. package/src/shared/translations/en-GB.json +1 -0
  17. package/src/shared/translations/es-ES.json +1 -0
  18. package/src/shared/translations/fr-BE.json +1 -0
  19. package/src/shared/translations/fr-FR.json +1 -0
  20. package/src/shared/translations/is-IS.json +1 -0
  21. package/src/shared/translations/it-IT.json +1 -0
  22. package/src/shared/translations/ja-JP.json +1 -0
  23. package/src/shared/translations/nl-BE.json +1 -0
  24. package/src/shared/translations/nl-NL.json +1 -0
  25. package/src/shared/translations/no-NO.json +1 -0
  26. package/src/shared/translations/pl-PL.json +1 -0
  27. package/src/shared/translations/pt-PT.json +1 -0
  28. package/src/shared/translations/sv-SE.json +1 -0
  29. package/styles/components/_navbar.scss +18 -0
@@ -516,6 +516,7 @@ var LOGIN$f = {
516
516
  PASSWORD_REQUIRED: 'كلمة المرور مطلوبة.',
517
517
  INVALID_CREDENTIALS: 'البريد الإلكتروني أو كلمة المرور غير صحيحة.',
518
518
  LOGIN: 'تسجيل الدخول',
519
+ LOGOUT: 'تسجيل الخروج',
519
520
  FORGOT_PASSWORD: 'هل نسيت كلمة المرور؟',
520
521
  LOGGING_IN: 'جاري تسجيل الدخول...',
521
522
  WELCOME_X: 'مرحبًا، ',
@@ -913,6 +914,7 @@ var LOGIN$e = {
913
914
  PASSWORD_REQUIRED: 'Adgangskode er påkrævet.',
914
915
  INVALID_CREDENTIALS: 'Ugyldig e-mail eller adgangskode.',
915
916
  LOGIN: 'Log ind',
917
+ LOGOUT: 'Log ud',
916
918
  FORGOT_PASSWORD: 'Glemt adgangskode?',
917
919
  LOGGING_IN: 'Logger ind...',
918
920
  WELCOME_X: 'Velkommen, ',
@@ -1311,6 +1313,7 @@ var LOGIN$d = {
1311
1313
  PASSWORD_REQUIRED: 'Passwort ist erforderlich.',
1312
1314
  INVALID_CREDENTIALS: 'Ungültige E-Mail oder Passwort.',
1313
1315
  LOGIN: 'Anmelden',
1316
+ LOGOUT: 'Abmelden',
1314
1317
  FORGOT_PASSWORD: 'Passwort vergessen?',
1315
1318
  LOGGING_IN: 'Anmeldung läuft...',
1316
1319
  WELCOME_X: 'Willkommen, ',
@@ -1712,6 +1715,7 @@ var LOGIN$c = {
1712
1715
  PASSWORD_REQUIRED: 'Password is required.',
1713
1716
  INVALID_CREDENTIALS: 'Invalid email or password.',
1714
1717
  LOGIN: 'Login',
1718
+ LOGOUT: 'Logout',
1715
1719
  FORGOT_PASSWORD: 'Forgot password?',
1716
1720
  LOGGING_IN: 'Logging in...',
1717
1721
  WELCOME_X: 'Welcome, ',
@@ -2110,6 +2114,7 @@ var LOGIN$b = {
2110
2114
  PASSWORD_REQUIRED: 'La contraseña es obligatoria.',
2111
2115
  INVALID_CREDENTIALS: 'Correo electrónico o contraseña no válidos.',
2112
2116
  LOGIN: 'Iniciar sesión',
2117
+ LOGOUT: 'Cerrar sesión',
2113
2118
  FORGOT_PASSWORD: '¿Olvidaste tu contraseña?',
2114
2119
  LOGGING_IN: 'Iniciando sesión...',
2115
2120
  WELCOME_X: 'Bienvenido, ',
@@ -2512,6 +2517,7 @@ var LOGIN$a = {
2512
2517
  PASSWORD_REQUIRED: 'Le mot de passe est requis.',
2513
2518
  INVALID_CREDENTIALS: 'Email ou mot de passe invalide.',
2514
2519
  LOGIN: 'Se connecter',
2520
+ LOGOUT: 'Se déconnecter',
2515
2521
  FORGOT_PASSWORD: 'Mot de passe oublié ?',
2516
2522
  LOGGING_IN: 'Connexion...',
2517
2523
  WELCOME_X: 'Bienvenue, ',
@@ -2909,6 +2915,7 @@ var LOGIN$9 = {
2909
2915
  PASSWORD_REQUIRED: 'Le mot de passe est requis.',
2910
2916
  INVALID_CREDENTIALS: 'Email ou mot de passe invalide.',
2911
2917
  LOGIN: 'Se connecter',
2918
+ LOGOUT: 'Se déconnecter',
2912
2919
  FORGOT_PASSWORD: 'Mot de passe oublié ?',
2913
2920
  LOGGING_IN: 'Connexion...',
2914
2921
  WELCOME_X: 'Bienvenue, ',
@@ -3306,6 +3313,7 @@ var LOGIN$8 = {
3306
3313
  PASSWORD_REQUIRED: 'Lykilorð er nauðsynlegt.',
3307
3314
  INVALID_CREDENTIALS: 'Ógilt netfang eða lykilorð.',
3308
3315
  LOGIN: 'Skrá inn',
3316
+ LOGOUT: 'Skrá út',
3309
3317
  FORGOT_PASSWORD: 'Gleymt lykilorð?',
3310
3318
  LOGGING_IN: 'Skrái inn...',
3311
3319
  WELCOME_X: 'Velkomin, ',
@@ -3704,6 +3712,7 @@ var LOGIN$7 = {
3704
3712
  PASSWORD_REQUIRED: 'La password è obbligatoria.',
3705
3713
  INVALID_CREDENTIALS: 'Email o password non validi.',
3706
3714
  LOGIN: 'Accedi',
3715
+ LOGOUT: 'Esci',
3707
3716
  FORGOT_PASSWORD: 'Password dimenticata?',
3708
3717
  LOGGING_IN: 'Accesso in corso...',
3709
3718
  WELCOME_X: 'Benvenuto, ',
@@ -4106,6 +4115,7 @@ var LOGIN$6 = {
4106
4115
  PASSWORD_REQUIRED: 'Wachtwoord is verplicht.',
4107
4116
  INVALID_CREDENTIALS: 'Ongeldig e-mailadres of wachtwoord.',
4108
4117
  LOGIN: 'Inloggen',
4118
+ LOGOUT: 'Uitloggen',
4109
4119
  FORGOT_PASSWORD: 'Wachtwoord vergeten?',
4110
4120
  LOGGING_IN: 'Bezig met inloggen...',
4111
4121
  WELCOME_X: 'Welkom, ',
@@ -4504,6 +4514,7 @@ var LOGIN$5 = {
4504
4514
  PASSWORD_REQUIRED: 'Wachtwoord is verplicht.',
4505
4515
  INVALID_CREDENTIALS: 'Ongeldig e-mailadres of wachtwoord.',
4506
4516
  LOGIN: 'Inloggen',
4517
+ LOGOUT: 'Uitloggen',
4507
4518
  FORGOT_PASSWORD: 'Wachtwoord vergeten?',
4508
4519
  LOGGING_IN: 'Bezig met inloggen...',
4509
4520
  WELCOME_X: 'Welkom, ',
@@ -4902,6 +4913,7 @@ var LOGIN$4 = {
4902
4913
  PASSWORD_REQUIRED: 'Passord er påkrevd.',
4903
4914
  INVALID_CREDENTIALS: 'Ugyldig e-post eller passord.',
4904
4915
  LOGIN: 'Logg inn',
4916
+ LOGOUT: 'Logg ut',
4905
4917
  FORGOT_PASSWORD: 'Glemt passord?',
4906
4918
  LOGGING_IN: 'Logger inn...',
4907
4919
  WELCOME_X: 'Velkommen, ',
@@ -5300,6 +5312,7 @@ var LOGIN$3 = {
5300
5312
  PASSWORD_REQUIRED: 'Hasło jest wymagane.',
5301
5313
  INVALID_CREDENTIALS: 'Nieprawidłowy adres e-mail lub hasło.',
5302
5314
  LOGIN: 'Zaloguj się',
5315
+ LOGOUT: 'Wyloguj się',
5303
5316
  FORGOT_PASSWORD: 'Zapomniałeś hasła?',
5304
5317
  LOGGING_IN: 'Logowanie...',
5305
5318
  WELCOME_X: 'Witaj, ',
@@ -5698,6 +5711,7 @@ var LOGIN$2 = {
5698
5711
  PASSWORD_REQUIRED: 'A palavra-passe é obrigatória.',
5699
5712
  INVALID_CREDENTIALS: 'Email ou palavra-passe inválidos.',
5700
5713
  LOGIN: 'Iniciar sessão',
5714
+ LOGOUT: 'Terminar sessão',
5701
5715
  FORGOT_PASSWORD: 'Esqueceu a palavra-passe?',
5702
5716
  LOGGING_IN: 'A iniciar sessão...',
5703
5717
  WELCOME_X: 'Bem-vindo, ',
@@ -6096,6 +6110,7 @@ var LOGIN$1 = {
6096
6110
  PASSWORD_REQUIRED: 'Lösenord krävs.',
6097
6111
  INVALID_CREDENTIALS: 'Ogiltig e-post eller lösenord.',
6098
6112
  LOGIN: 'Logga in',
6113
+ LOGOUT: 'Logga ut',
6099
6114
  FORGOT_PASSWORD: 'Glömt lösenord?',
6100
6115
  LOGGING_IN: 'Loggar in...',
6101
6116
  WELCOME_X: 'Välkommen, ',
@@ -6492,6 +6507,7 @@ var LOGIN = {
6492
6507
  PASSWORD_REQUIRED: 'パスワードは必須です。',
6493
6508
  INVALID_CREDENTIALS: 'メールアドレスまたはパスワードが無効です。',
6494
6509
  LOGIN: 'ログイン',
6510
+ LOGOUT: 'ログアウト',
6495
6511
  FORGOT_PASSWORD: 'パスワードをお忘れですか?',
6496
6512
  LOGGING_IN: 'ログイン中...',
6497
6513
  WELCOME_X: 'ようこそ、',
@@ -29669,7 +29685,10 @@ var Navbar = function (_a) {
29669
29685
  language = _a.language,
29670
29686
  languages = _a.languages,
29671
29687
  onLanguageChange = _a.onLanguageChange,
29672
- onSearch = _a.onSearch;
29688
+ onSearch = _a.onSearch,
29689
+ member = _a.member,
29690
+ onLogin = _a.onLogin,
29691
+ onLogout = _a.onLogout;
29673
29692
  var _c = React.useState(false),
29674
29693
  menuOpen = _c[0],
29675
29694
  setMenuOpen = _c[1];
@@ -29897,6 +29916,18 @@ var Navbar = function (_a) {
29897
29916
  )
29898
29917
  );
29899
29918
  };
29919
+ var handleLogout = function (event) {
29920
+ event.preventDefault();
29921
+ if (onLogout) {
29922
+ onLogout();
29923
+ }
29924
+ };
29925
+ var handleLogin = function (event) {
29926
+ event.preventDefault();
29927
+ if (onLogin) {
29928
+ onLogin();
29929
+ }
29930
+ };
29900
29931
  return React__default['default'].createElement(
29901
29932
  React__default['default'].Fragment,
29902
29933
  null,
@@ -29909,6 +29940,20 @@ var Navbar = function (_a) {
29909
29940
  React__default['default'].createElement(
29910
29941
  'div',
29911
29942
  { className: 'nav__subnav__links' },
29943
+ member && React__default['default'].createElement('span', { className: 'nav__subnav__member' }, translations.LOGIN.WELCOME_X, member.name),
29944
+ member
29945
+ ? React__default['default'].createElement(
29946
+ React__default['default'].Fragment,
29947
+ null,
29948
+ onLogout &&
29949
+ React__default['default'].createElement('a', { href: '#', className: 'nav__subnav__link', onClick: handleLogout }, translations.LOGIN.LOGOUT)
29950
+ )
29951
+ : React__default['default'].createElement(
29952
+ React__default['default'].Fragment,
29953
+ null,
29954
+ onLogin &&
29955
+ React__default['default'].createElement('a', { href: '#', className: 'nav__subnav__link', onClick: handleLogin }, translations.LOGIN.LOGIN)
29956
+ ),
29912
29957
  React__default['default'].createElement(LanguageSwitcher, {
29913
29958
  value: language.code,
29914
29959
  languages: languages,
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Language, NavItem } from './types';
3
+ import { MemberInfo } from '@qite/tide-client';
3
4
  export declare const language: Language;
4
5
  export declare const languages: Language[];
5
6
  export declare const topLinks: {
@@ -8,3 +9,4 @@ export declare const topLinks: {
8
9
  }[];
9
10
  export declare const navItems: NavItem[];
10
11
  export declare const TideLogo: () => React.JSX.Element;
12
+ export declare const placeholderMember: MemberInfo;
@@ -1,3 +1,4 @@
1
+ import { MemberInfo } from '@qite/tide-client';
1
2
  export interface Language {
2
3
  code: string;
3
4
  label: string;
@@ -24,4 +25,7 @@ export interface NavbarProps {
24
25
  languages: Language[];
25
26
  onLanguageChange: (lang: string) => void;
26
27
  onSearch: (query: string) => void;
28
+ member?: MemberInfo;
29
+ onLogin?: () => void;
30
+ onLogout?: () => void;
27
31
  }
@@ -273,6 +273,7 @@ export declare const getTranslations: (language: string) => {
273
273
  PASSWORD_REQUIRED: string;
274
274
  INVALID_CREDENTIALS: string;
275
275
  LOGIN: string;
276
+ LOGOUT: string;
276
277
  FORGOT_PASSWORD: string;
277
278
  LOGGING_IN: string;
278
279
  WELCOME_X: string;
@@ -547,6 +547,7 @@ var LOGIN$f = {
547
547
  PASSWORD_REQUIRED: 'كلمة المرور مطلوبة.',
548
548
  INVALID_CREDENTIALS: 'البريد الإلكتروني أو كلمة المرور غير صحيحة.',
549
549
  LOGIN: 'تسجيل الدخول',
550
+ LOGOUT: 'تسجيل الخروج',
550
551
  FORGOT_PASSWORD: 'هل نسيت كلمة المرور؟',
551
552
  LOGGING_IN: 'جاري تسجيل الدخول...',
552
553
  WELCOME_X: 'مرحبًا، ',
@@ -944,6 +945,7 @@ var LOGIN$e = {
944
945
  PASSWORD_REQUIRED: 'Adgangskode er påkrævet.',
945
946
  INVALID_CREDENTIALS: 'Ugyldig e-mail eller adgangskode.',
946
947
  LOGIN: 'Log ind',
948
+ LOGOUT: 'Log ud',
947
949
  FORGOT_PASSWORD: 'Glemt adgangskode?',
948
950
  LOGGING_IN: 'Logger ind...',
949
951
  WELCOME_X: 'Velkommen, ',
@@ -1342,6 +1344,7 @@ var LOGIN$d = {
1342
1344
  PASSWORD_REQUIRED: 'Passwort ist erforderlich.',
1343
1345
  INVALID_CREDENTIALS: 'Ungültige E-Mail oder Passwort.',
1344
1346
  LOGIN: 'Anmelden',
1347
+ LOGOUT: 'Abmelden',
1345
1348
  FORGOT_PASSWORD: 'Passwort vergessen?',
1346
1349
  LOGGING_IN: 'Anmeldung läuft...',
1347
1350
  WELCOME_X: 'Willkommen, ',
@@ -1743,6 +1746,7 @@ var LOGIN$c = {
1743
1746
  PASSWORD_REQUIRED: 'Password is required.',
1744
1747
  INVALID_CREDENTIALS: 'Invalid email or password.',
1745
1748
  LOGIN: 'Login',
1749
+ LOGOUT: 'Logout',
1746
1750
  FORGOT_PASSWORD: 'Forgot password?',
1747
1751
  LOGGING_IN: 'Logging in...',
1748
1752
  WELCOME_X: 'Welcome, ',
@@ -2141,6 +2145,7 @@ var LOGIN$b = {
2141
2145
  PASSWORD_REQUIRED: 'La contraseña es obligatoria.',
2142
2146
  INVALID_CREDENTIALS: 'Correo electrónico o contraseña no válidos.',
2143
2147
  LOGIN: 'Iniciar sesión',
2148
+ LOGOUT: 'Cerrar sesión',
2144
2149
  FORGOT_PASSWORD: '¿Olvidaste tu contraseña?',
2145
2150
  LOGGING_IN: 'Iniciando sesión...',
2146
2151
  WELCOME_X: 'Bienvenido, ',
@@ -2543,6 +2548,7 @@ var LOGIN$a = {
2543
2548
  PASSWORD_REQUIRED: 'Le mot de passe est requis.',
2544
2549
  INVALID_CREDENTIALS: 'Email ou mot de passe invalide.',
2545
2550
  LOGIN: 'Se connecter',
2551
+ LOGOUT: 'Se déconnecter',
2546
2552
  FORGOT_PASSWORD: 'Mot de passe oublié ?',
2547
2553
  LOGGING_IN: 'Connexion...',
2548
2554
  WELCOME_X: 'Bienvenue, ',
@@ -2940,6 +2946,7 @@ var LOGIN$9 = {
2940
2946
  PASSWORD_REQUIRED: 'Le mot de passe est requis.',
2941
2947
  INVALID_CREDENTIALS: 'Email ou mot de passe invalide.',
2942
2948
  LOGIN: 'Se connecter',
2949
+ LOGOUT: 'Se déconnecter',
2943
2950
  FORGOT_PASSWORD: 'Mot de passe oublié ?',
2944
2951
  LOGGING_IN: 'Connexion...',
2945
2952
  WELCOME_X: 'Bienvenue, ',
@@ -3337,6 +3344,7 @@ var LOGIN$8 = {
3337
3344
  PASSWORD_REQUIRED: 'Lykilorð er nauðsynlegt.',
3338
3345
  INVALID_CREDENTIALS: 'Ógilt netfang eða lykilorð.',
3339
3346
  LOGIN: 'Skrá inn',
3347
+ LOGOUT: 'Skrá út',
3340
3348
  FORGOT_PASSWORD: 'Gleymt lykilorð?',
3341
3349
  LOGGING_IN: 'Skrái inn...',
3342
3350
  WELCOME_X: 'Velkomin, ',
@@ -3735,6 +3743,7 @@ var LOGIN$7 = {
3735
3743
  PASSWORD_REQUIRED: 'La password è obbligatoria.',
3736
3744
  INVALID_CREDENTIALS: 'Email o password non validi.',
3737
3745
  LOGIN: 'Accedi',
3746
+ LOGOUT: 'Esci',
3738
3747
  FORGOT_PASSWORD: 'Password dimenticata?',
3739
3748
  LOGGING_IN: 'Accesso in corso...',
3740
3749
  WELCOME_X: 'Benvenuto, ',
@@ -4137,6 +4146,7 @@ var LOGIN$6 = {
4137
4146
  PASSWORD_REQUIRED: 'Wachtwoord is verplicht.',
4138
4147
  INVALID_CREDENTIALS: 'Ongeldig e-mailadres of wachtwoord.',
4139
4148
  LOGIN: 'Inloggen',
4149
+ LOGOUT: 'Uitloggen',
4140
4150
  FORGOT_PASSWORD: 'Wachtwoord vergeten?',
4141
4151
  LOGGING_IN: 'Bezig met inloggen...',
4142
4152
  WELCOME_X: 'Welkom, ',
@@ -4535,6 +4545,7 @@ var LOGIN$5 = {
4535
4545
  PASSWORD_REQUIRED: 'Wachtwoord is verplicht.',
4536
4546
  INVALID_CREDENTIALS: 'Ongeldig e-mailadres of wachtwoord.',
4537
4547
  LOGIN: 'Inloggen',
4548
+ LOGOUT: 'Uitloggen',
4538
4549
  FORGOT_PASSWORD: 'Wachtwoord vergeten?',
4539
4550
  LOGGING_IN: 'Bezig met inloggen...',
4540
4551
  WELCOME_X: 'Welkom, ',
@@ -4933,6 +4944,7 @@ var LOGIN$4 = {
4933
4944
  PASSWORD_REQUIRED: 'Passord er påkrevd.',
4934
4945
  INVALID_CREDENTIALS: 'Ugyldig e-post eller passord.',
4935
4946
  LOGIN: 'Logg inn',
4947
+ LOGOUT: 'Logg ut',
4936
4948
  FORGOT_PASSWORD: 'Glemt passord?',
4937
4949
  LOGGING_IN: 'Logger inn...',
4938
4950
  WELCOME_X: 'Velkommen, ',
@@ -5331,6 +5343,7 @@ var LOGIN$3 = {
5331
5343
  PASSWORD_REQUIRED: 'Hasło jest wymagane.',
5332
5344
  INVALID_CREDENTIALS: 'Nieprawidłowy adres e-mail lub hasło.',
5333
5345
  LOGIN: 'Zaloguj się',
5346
+ LOGOUT: 'Wyloguj się',
5334
5347
  FORGOT_PASSWORD: 'Zapomniałeś hasła?',
5335
5348
  LOGGING_IN: 'Logowanie...',
5336
5349
  WELCOME_X: 'Witaj, ',
@@ -5729,6 +5742,7 @@ var LOGIN$2 = {
5729
5742
  PASSWORD_REQUIRED: 'A palavra-passe é obrigatória.',
5730
5743
  INVALID_CREDENTIALS: 'Email ou palavra-passe inválidos.',
5731
5744
  LOGIN: 'Iniciar sessão',
5745
+ LOGOUT: 'Terminar sessão',
5732
5746
  FORGOT_PASSWORD: 'Esqueceu a palavra-passe?',
5733
5747
  LOGGING_IN: 'A iniciar sessão...',
5734
5748
  WELCOME_X: 'Bem-vindo, ',
@@ -6127,6 +6141,7 @@ var LOGIN$1 = {
6127
6141
  PASSWORD_REQUIRED: 'Lösenord krävs.',
6128
6142
  INVALID_CREDENTIALS: 'Ogiltig e-post eller lösenord.',
6129
6143
  LOGIN: 'Logga in',
6144
+ LOGOUT: 'Logga ut',
6130
6145
  FORGOT_PASSWORD: 'Glömt lösenord?',
6131
6146
  LOGGING_IN: 'Loggar in...',
6132
6147
  WELCOME_X: 'Välkommen, ',
@@ -6523,6 +6538,7 @@ var LOGIN = {
6523
6538
  PASSWORD_REQUIRED: 'パスワードは必須です。',
6524
6539
  INVALID_CREDENTIALS: 'メールアドレスまたはパスワードが無効です。',
6525
6540
  LOGIN: 'ログイン',
6541
+ LOGOUT: 'ログアウト',
6526
6542
  FORGOT_PASSWORD: 'パスワードをお忘れですか?',
6527
6543
  LOGGING_IN: 'ログイン中...',
6528
6544
  WELCOME_X: 'ようこそ、',
@@ -29558,7 +29574,10 @@ var Navbar = function (_a) {
29558
29574
  language = _a.language,
29559
29575
  languages = _a.languages,
29560
29576
  onLanguageChange = _a.onLanguageChange,
29561
- onSearch = _a.onSearch;
29577
+ onSearch = _a.onSearch,
29578
+ member = _a.member,
29579
+ onLogin = _a.onLogin,
29580
+ onLogout = _a.onLogout;
29562
29581
  var _c = useState(false),
29563
29582
  menuOpen = _c[0],
29564
29583
  setMenuOpen = _c[1];
@@ -29786,6 +29805,18 @@ var Navbar = function (_a) {
29786
29805
  )
29787
29806
  );
29788
29807
  };
29808
+ var handleLogout = function (event) {
29809
+ event.preventDefault();
29810
+ if (onLogout) {
29811
+ onLogout();
29812
+ }
29813
+ };
29814
+ var handleLogin = function (event) {
29815
+ event.preventDefault();
29816
+ if (onLogin) {
29817
+ onLogin();
29818
+ }
29819
+ };
29789
29820
  return React__default.createElement(
29790
29821
  React__default.Fragment,
29791
29822
  null,
@@ -29798,6 +29829,18 @@ var Navbar = function (_a) {
29798
29829
  React__default.createElement(
29799
29830
  'div',
29800
29831
  { className: 'nav__subnav__links' },
29832
+ member && React__default.createElement('span', { className: 'nav__subnav__member' }, translations.LOGIN.WELCOME_X, member.name),
29833
+ member
29834
+ ? React__default.createElement(
29835
+ React__default.Fragment,
29836
+ null,
29837
+ onLogout && React__default.createElement('a', { href: '#', className: 'nav__subnav__link', onClick: handleLogout }, translations.LOGIN.LOGOUT)
29838
+ )
29839
+ : React__default.createElement(
29840
+ React__default.Fragment,
29841
+ null,
29842
+ onLogin && React__default.createElement('a', { href: '#', className: 'nav__subnav__link', onClick: handleLogin }, translations.LOGIN.LOGIN)
29843
+ ),
29801
29844
  React__default.createElement(LanguageSwitcher, {
29802
29845
  value: language.code,
29803
29846
  languages: languages,
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Language, NavItem } from './types';
3
+ import { MemberInfo } from '@qite/tide-client';
3
4
  export declare const language: Language;
4
5
  export declare const languages: Language[];
5
6
  export declare const topLinks: {
@@ -8,3 +9,4 @@ export declare const topLinks: {
8
9
  }[];
9
10
  export declare const navItems: NavItem[];
10
11
  export declare const TideLogo: () => React.JSX.Element;
12
+ export declare const placeholderMember: MemberInfo;
@@ -1,3 +1,4 @@
1
+ import { MemberInfo } from '@qite/tide-client';
1
2
  export interface Language {
2
3
  code: string;
3
4
  label: string;
@@ -24,4 +25,7 @@ export interface NavbarProps {
24
25
  languages: Language[];
25
26
  onLanguageChange: (lang: string) => void;
26
27
  onSearch: (query: string) => void;
28
+ member?: MemberInfo;
29
+ onLogin?: () => void;
30
+ onLogout?: () => void;
27
31
  }
@@ -273,6 +273,7 @@ export declare const getTranslations: (language: string) => {
273
273
  PASSWORD_REQUIRED: string;
274
274
  INVALID_CREDENTIALS: string;
275
275
  LOGIN: string;
276
+ LOGOUT: string;
276
277
  FORGOT_PASSWORD: string;
277
278
  LOGGING_IN: string;
278
279
  WELCOME_X: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qite/tide-booking-component",
3
- "version": "1.4.60",
3
+ "version": "1.4.61",
4
4
  "description": "React Booking wizard & Booking product component for Tide",
5
5
  "main": "build/build-cjs/index.js",
6
6
  "types": "build/build-cjs/src/index.d.ts",
@@ -4,7 +4,7 @@ import Icon from '../components/icon';
4
4
  import { NavbarProps, NavItem } from '../navbar/types';
5
5
  import { getTranslations } from '../../shared/utils/localization-util';
6
6
 
7
- const Navbar: React.FC<NavbarProps> = ({ currentPath, logo, topLinks, items, language, languages, onLanguageChange, onSearch }) => {
7
+ const Navbar: React.FC<NavbarProps> = ({ currentPath, logo, topLinks, items, language, languages, onLanguageChange, onSearch, member, onLogin, onLogout }) => {
8
8
  const [menuOpen, setMenuOpen] = useState(false);
9
9
  const [query, setQuery] = useState('');
10
10
  const [activeMobileGroup, setActiveMobileGroup] = useState<string>();
@@ -187,11 +187,48 @@ const Navbar: React.FC<NavbarProps> = ({ currentPath, logo, topLinks, items, lan
187
187
  );
188
188
  };
189
189
 
190
+ const handleLogout = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>): void => {
191
+ event.preventDefault();
192
+ if (onLogout) {
193
+ onLogout();
194
+ }
195
+ };
196
+
197
+ const handleLogin = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>): void => {
198
+ event.preventDefault();
199
+ if (onLogin) {
200
+ onLogin();
201
+ }
202
+ };
203
+
190
204
  return (
191
205
  <>
192
206
  <div className="nav__subnav">
193
207
  <div className="nav__subnav__container">
194
208
  <div className="nav__subnav__links">
209
+ {member && (
210
+ <span className="nav__subnav__member">
211
+ {translations.LOGIN.WELCOME_X}
212
+ {member.name}
213
+ </span>
214
+ )}
215
+ {member ? (
216
+ <>
217
+ {onLogout && (
218
+ <a href="#" className="nav__subnav__link" onClick={handleLogout}>
219
+ {translations.LOGIN.LOGOUT}
220
+ </a>
221
+ )}
222
+ </>
223
+ ) : (
224
+ <>
225
+ {onLogin && (
226
+ <a href="#" className="nav__subnav__link" onClick={handleLogin}>
227
+ {translations.LOGIN.LOGIN}
228
+ </a>
229
+ )}
230
+ </>
231
+ )}
195
232
  <LanguageSwitcher
196
233
  value={language.code}
197
234
  languages={languages}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Language, NavItem } from './types';
3
+ import { MemberInfo } from '@qite/tide-client';
3
4
 
4
5
  export const language: Language = { code: 'en-GB', label: 'English' };
5
6
 
@@ -9,10 +10,7 @@ export const languages: Language[] = [
9
10
  { code: 'de-DE', label: 'Deutsch' }
10
11
  ];
11
12
 
12
- export const topLinks = [
13
- { label: 'Login', href: '/login' },
14
- { label: 'Help', href: '/help' }
15
- ];
13
+ export const topLinks = [{ label: 'Help', href: '/help' }];
16
14
 
17
15
  export const navItems: NavItem[] = [
18
16
  {
@@ -160,3 +158,16 @@ export const TideLogo = () => (
160
158
  </defs>
161
159
  </svg>
162
160
  );
161
+
162
+ export const placeholderMember: MemberInfo = {
163
+ id: 31,
164
+ companyId: 13,
165
+ companyName: 'Tidesoftware',
166
+ name: 'John Doe',
167
+ email: 'info@qite.be',
168
+ language: 'nl-BE',
169
+ agentId: 31,
170
+ addressId: 803,
171
+ addressName: 'John Doe',
172
+ addressLogo: ''
173
+ };
@@ -1,3 +1,5 @@
1
+ import { MemberInfo } from '@qite/tide-client';
2
+
1
3
  export interface Language {
2
4
  code: string;
3
5
  label: string;
@@ -33,4 +35,8 @@ export interface NavbarProps {
33
35
  onLanguageChange: (lang: string) => void;
34
36
 
35
37
  onSearch: (query: string) => void;
38
+
39
+ member?: MemberInfo;
40
+ onLogin?: () => void;
41
+ onLogout?: () => void;
36
42
  }
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "كلمة المرور مطلوبة.",
269
269
  "INVALID_CREDENTIALS": "البريد الإلكتروني أو كلمة المرور غير صحيحة.",
270
270
  "LOGIN": "تسجيل الدخول",
271
+ "LOGOUT": "تسجيل الخروج",
271
272
  "FORGOT_PASSWORD": "هل نسيت كلمة المرور؟",
272
273
  "LOGGING_IN": "جاري تسجيل الدخول...",
273
274
  "WELCOME_X": "مرحبًا، ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "Adgangskode er påkrævet.",
269
269
  "INVALID_CREDENTIALS": "Ugyldig e-mail eller adgangskode.",
270
270
  "LOGIN": "Log ind",
271
+ "LOGOUT": "Log ud",
271
272
  "FORGOT_PASSWORD": "Glemt adgangskode?",
272
273
  "LOGGING_IN": "Logger ind...",
273
274
  "WELCOME_X": "Velkommen, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "Passwort ist erforderlich.",
269
269
  "INVALID_CREDENTIALS": "Ungültige E-Mail oder Passwort.",
270
270
  "LOGIN": "Anmelden",
271
+ "LOGOUT": "Abmelden",
271
272
  "FORGOT_PASSWORD": "Passwort vergessen?",
272
273
  "LOGGING_IN": "Anmeldung läuft...",
273
274
  "WELCOME_X": "Willkommen, ",
@@ -272,6 +272,7 @@
272
272
  "PASSWORD_REQUIRED": "Password is required.",
273
273
  "INVALID_CREDENTIALS": "Invalid email or password.",
274
274
  "LOGIN": "Login",
275
+ "LOGOUT": "Logout",
275
276
  "FORGOT_PASSWORD": "Forgot password?",
276
277
  "LOGGING_IN": "Logging in...",
277
278
  "WELCOME_X": "Welcome, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "La contraseña es obligatoria.",
269
269
  "INVALID_CREDENTIALS": "Correo electrónico o contraseña no válidos.",
270
270
  "LOGIN": "Iniciar sesión",
271
+ "LOGOUT": "Cerrar sesión",
271
272
  "FORGOT_PASSWORD": "¿Olvidaste tu contraseña?",
272
273
  "LOGGING_IN": "Iniciando sesión...",
273
274
  "WELCOME_X": "Bienvenido, ",
@@ -272,6 +272,7 @@
272
272
  "PASSWORD_REQUIRED": "Le mot de passe est requis.",
273
273
  "INVALID_CREDENTIALS": "Email ou mot de passe invalide.",
274
274
  "LOGIN": "Se connecter",
275
+ "LOGOUT": "Se déconnecter",
275
276
  "FORGOT_PASSWORD": "Mot de passe oublié ?",
276
277
  "LOGGING_IN": "Connexion...",
277
278
  "WELCOME_X": "Bienvenue, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "Le mot de passe est requis.",
269
269
  "INVALID_CREDENTIALS": "Email ou mot de passe invalide.",
270
270
  "LOGIN": "Se connecter",
271
+ "LOGOUT": "Se déconnecter",
271
272
  "FORGOT_PASSWORD": "Mot de passe oublié ?",
272
273
  "LOGGING_IN": "Connexion...",
273
274
  "WELCOME_X": "Bienvenue, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "Lykilorð er nauðsynlegt.",
269
269
  "INVALID_CREDENTIALS": "Ógilt netfang eða lykilorð.",
270
270
  "LOGIN": "Skrá inn",
271
+ "LOGOUT": "Skrá út",
271
272
  "FORGOT_PASSWORD": "Gleymt lykilorð?",
272
273
  "LOGGING_IN": "Skrái inn...",
273
274
  "WELCOME_X": "Velkomin, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "La password è obbligatoria.",
269
269
  "INVALID_CREDENTIALS": "Email o password non validi.",
270
270
  "LOGIN": "Accedi",
271
+ "LOGOUT": "Esci",
271
272
  "FORGOT_PASSWORD": "Password dimenticata?",
272
273
  "LOGGING_IN": "Accesso in corso...",
273
274
  "WELCOME_X": "Benvenuto, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "パスワードは必須です。",
269
269
  "INVALID_CREDENTIALS": "メールアドレスまたはパスワードが無効です。",
270
270
  "LOGIN": "ログイン",
271
+ "LOGOUT": "ログアウト",
271
272
  "FORGOT_PASSWORD": "パスワードをお忘れですか?",
272
273
  "LOGGING_IN": "ログイン中...",
273
274
  "WELCOME_X": "ようこそ、",
@@ -272,6 +272,7 @@
272
272
  "PASSWORD_REQUIRED": "Wachtwoord is verplicht.",
273
273
  "INVALID_CREDENTIALS": "Ongeldig e-mailadres of wachtwoord.",
274
274
  "LOGIN": "Inloggen",
275
+ "LOGOUT": "Uitloggen",
275
276
  "FORGOT_PASSWORD": "Wachtwoord vergeten?",
276
277
  "LOGGING_IN": "Bezig met inloggen...",
277
278
  "WELCOME_X": "Welkom, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "Wachtwoord is verplicht.",
269
269
  "INVALID_CREDENTIALS": "Ongeldig e-mailadres of wachtwoord.",
270
270
  "LOGIN": "Inloggen",
271
+ "LOGOUT": "Uitloggen",
271
272
  "FORGOT_PASSWORD": "Wachtwoord vergeten?",
272
273
  "LOGGING_IN": "Bezig met inloggen...",
273
274
  "WELCOME_X": "Welkom, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "Passord er påkrevd.",
269
269
  "INVALID_CREDENTIALS": "Ugyldig e-post eller passord.",
270
270
  "LOGIN": "Logg inn",
271
+ "LOGOUT": "Logg ut",
271
272
  "FORGOT_PASSWORD": "Glemt passord?",
272
273
  "LOGGING_IN": "Logger inn...",
273
274
  "WELCOME_X": "Velkommen, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "Hasło jest wymagane.",
269
269
  "INVALID_CREDENTIALS": "Nieprawidłowy adres e-mail lub hasło.",
270
270
  "LOGIN": "Zaloguj się",
271
+ "LOGOUT": "Wyloguj się",
271
272
  "FORGOT_PASSWORD": "Zapomniałeś hasła?",
272
273
  "LOGGING_IN": "Logowanie...",
273
274
  "WELCOME_X": "Witaj, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "A palavra-passe é obrigatória.",
269
269
  "INVALID_CREDENTIALS": "Email ou palavra-passe inválidos.",
270
270
  "LOGIN": "Iniciar sessão",
271
+ "LOGOUT": "Terminar sessão",
271
272
  "FORGOT_PASSWORD": "Esqueceu a palavra-passe?",
272
273
  "LOGGING_IN": "A iniciar sessão...",
273
274
  "WELCOME_X": "Bem-vindo, ",
@@ -268,6 +268,7 @@
268
268
  "PASSWORD_REQUIRED": "Lösenord krävs.",
269
269
  "INVALID_CREDENTIALS": "Ogiltig e-post eller lösenord.",
270
270
  "LOGIN": "Logga in",
271
+ "LOGOUT": "Logga ut",
271
272
  "FORGOT_PASSWORD": "Glömt lösenord?",
272
273
  "LOGGING_IN": "Loggar in...",
273
274
  "WELCOME_X": "Välkommen, ",
@@ -1,4 +1,5 @@
1
1
  @use '../components/mixins' as mixins;
2
+
2
3
  .nav {
3
4
  &__subnav {
4
5
  background: var(--tide-booking-subnav-background);
@@ -52,6 +53,19 @@
52
53
  }
53
54
  }
54
55
 
56
+ &__member {
57
+ color: var(--tide-booking-subnav-link-color);
58
+ font-weight: var(--tide-booking-subnav-link-font-weight);
59
+ font-family: var(--tide-booking-subnav-link-font-family);
60
+ font-size: 12px;
61
+ padding: 0 8px;
62
+ height: 100%;
63
+ display: flex;
64
+ align-items: center;
65
+ justify-content: center;
66
+ gap: 5px;
67
+ }
68
+
55
69
  &__languages {
56
70
  position: relative;
57
71
  display: inline-flex;
@@ -302,6 +316,7 @@
302
316
  .nav__link--has-dropdown::after {
303
317
  transform: rotate(180deg);
304
318
  }
319
+
305
320
  .nav__dropdown {
306
321
  position: relative;
307
322
  opacity: 1;
@@ -390,6 +405,7 @@
390
405
  border: none;
391
406
  color: gray;
392
407
  border-bottom: none;
408
+
393
409
  &:last-child {
394
410
  border-bottom: none;
395
411
  }
@@ -461,6 +477,7 @@
461
477
  .nav__link--has-dropdown::after {
462
478
  transform: rotate(180deg);
463
479
  }
480
+
464
481
  .nav__dropdown {
465
482
  @include mixins.media-md {
466
483
  position: absolute;
@@ -645,6 +662,7 @@
645
662
  stroke-dashoffset: -134;
646
663
  stroke-width: 6;
647
664
  }
665
+
648
666
  &--2 {
649
667
  stroke-dasharray: 1 60;
650
668
  stroke-dashoffset: -30;