@everymatrix/casino-header-controller 0.0.216 → 0.0.220

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/index.html CHANGED
@@ -26,8 +26,8 @@
26
26
  cmsendpoint="https://widgets.everymatrix.com/apijson"
27
27
  lang="en"
28
28
  showbanner="true"
29
- session="8910603d-1ff3-4127-9e09-7435b5a393b6"
30
- userid="3685503"
29
+ session=""
30
+ userid=""
31
31
  profileurl='bla'
32
32
  endpoint="https://demo-api.stage.norway.everymatrix.com/v1"
33
33
  bannermatrix="https://bannermatrix-stage.everymatrix.com"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/casino-header-controller",
3
- "version": "0.0.216",
3
+ "version": "0.0.220",
4
4
  "main": "dist/casino-header-controller.js",
5
5
  "svelte": "src/index.ts",
6
6
  "scripts": {
@@ -38,5 +38,5 @@
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  },
41
- "gitHead": "f79846c393d362de102942d0410087389246073b"
41
+ "gitHead": "b7cf586f6e593e311259814b945a2806c80f1d0b"
42
42
  }
@@ -1,7 +1,10 @@
1
- <svelte:options tag={null}/>
1
+ <svelte:options tag={null} />
2
+
2
3
  <script lang="ts">
3
- import {onMount} from "svelte";
4
- import {isMobile} from 'rvhelper';
4
+ import { onMount } from "svelte";
5
+ import { isMobile } from 'rvhelper';
6
+ import { _, addNewMessages, setLocale, setupI18n } from './i18n';
7
+ import { CasinoHeaderController } from './translations';
5
8
 
6
9
  import '@everymatrix/casino-slider';
7
10
  import '@everymatrix/casino-hamburger-menu';
@@ -15,12 +18,19 @@
15
18
  export let cmsendpoint:string = '';
16
19
  export let cmsenv:string = 'stage';
17
20
  export let lang:string = '';
21
+ export let languageslist:string = 'en,ro';
18
22
  export let identity:string = '';
19
23
 
20
24
  export let operatorid:string = '';
21
25
  export let pagetag:string = '';
22
26
  export let positiontag:string = '';
23
27
 
28
+ setupI18n({ withLocale: 'en', translations: {}});
29
+
30
+ Object.keys(CasinoHeaderController).forEach((item:any) => {
31
+ addNewMessages(item, CasinoHeaderController[item]);
32
+ });
33
+
24
34
  const genericIcon = `<svg version="1.1" fill="#fff" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="width: 30px; color: #fff;" x="0px" y="0px"
25
35
  viewBox="0 0 384.971 384.971" style="enable-background:new 0 0 384.971 384.971;" xml:space="preserve">
26
36
  <path style="color: #fff" d="M180.455,360.91H24.061V24.061h156.394c6.641,0,12.03-5.39,12.03-12.03s-5.39-12.03-12.03-12.03H12.03
@@ -33,7 +43,6 @@
33
43
 
34
44
  let mainMenuArray = [];
35
45
  let secondaryMenuArray = [];
36
- let languagesArray = [{code: 'EN'}, {code: 'TR'}, {code: 'RO'}];
37
46
  let selectedLanguage = '';
38
47
  let hamburgerURL: any;
39
48
  let headerURL: any;
@@ -46,6 +55,7 @@
46
55
  let sessionID: string = '';
47
56
  let loginActive: boolean = true;
48
57
  let language: string = '';
58
+ let languagesArray: Array<string> = [];
49
59
  // use for medium devices styling, if necessary
50
60
  // const mediaQuery = window.matchMedia('(min-width: 768px)');
51
61
  let hamburgerMenuActive: boolean = false;
@@ -59,12 +69,12 @@
59
69
  switch (data) {
60
70
  case 'login':
61
71
  loginActive = true;
62
- window.postMessage({type: 'OpenLoginRegisterModal', login: loginActive}, window.location.href);
72
+ window.postMessage({type: 'OpenLoginRegisterModal', transition: 'Login' }, window.location.href);
63
73
  break;
64
74
 
65
75
  case 'register':
66
76
  loginActive = false;
67
- window.postMessage({type: 'OpenLoginRegisterModal', login: loginActive}, window.location.href);
77
+ window.postMessage({type: 'OpenLoginRegisterModal', transition: 'Register'}, window.location.href);
68
78
  break;
69
79
 
70
80
  case 'lobby':
@@ -147,6 +157,14 @@
147
157
  }
148
158
 
149
159
  const initialLoad = () => {
160
+ setLocale(lang);
161
+
162
+ // split operator provided languages string into string array
163
+ languagesArray = languageslist.split(',');
164
+ languagesArray.forEach((languageItem:string, index:number) => {
165
+ languagesArray[index] = languageItem.toUpperCase();
166
+ })
167
+
150
168
  selectedLanguage = lang.toUpperCase();
151
169
 
152
170
  createCMSUrls();
@@ -255,7 +273,7 @@
255
273
  <div class="HeaderTopActions">
256
274
  <div class="HeaderItemsMenu PrimaryMenu">
257
275
  <player-account-balance-modal {session} {userid} {endpoint} {lang}/>
258
- <div class="Item ItemDeposit" on:click={() => menuAction('deposit')}>Deposit</div>
276
+ <div class="Item ItemDeposit" on:click={() => menuAction('deposit')}>{$_('headerItem.deposit')}</div>
259
277
  <div class="Item ItemAccount" on:click={() => menuAction('myaccount')}>
260
278
  <svg xmlns="http://www.w3.org/2000/svg" width="15" height="16.429" viewBox="0 0 15 16.429">
261
279
  <defs>
@@ -272,8 +290,8 @@
272
290
  </svg>
273
291
  </div>
274
292
  <select bind:value={selectedLanguage} class="Item ItemLanguage" on:change={()=>menuAction('language')}>
275
- {#each languagesArray as lang}
276
- <option value={lang.code}>{lang.code}</option>
293
+ {#each languagesArray as operatorLanguage}
294
+ <option value={operatorLanguage}>{operatorLanguage}</option>
277
295
  {/each}
278
296
  </select>
279
297
  </div>
@@ -314,8 +332,8 @@
314
332
 
315
333
  <div class="HeaderTopActions">
316
334
  <div class="HeaderItemsMenu">
317
- <div class="Item ItemLogin" on:click={()=>menuAction('login')}>Login</div>
318
- <div class="Item ItemRegister" on:click={()=>menuAction('register')}>Register</div>
335
+ <div class="Item ItemLogin" on:click={()=>menuAction('login')}>{$_('headerItem.login')}</div>
336
+ <div class="Item ItemRegister" on:click={()=>menuAction('register')}>{$_('headerItem.register')}</div>
319
337
  </div>
320
338
  </div>
321
339
  </div>
@@ -335,11 +353,11 @@
335
353
  </nav>
336
354
  <div class="HeaderTopActions">
337
355
  <div class="HeaderItemsMenu">
338
- <div class="Item ItemLogin" on:click={()=>menuAction('login')}>Login</div>
339
- <div class="Item ItemRegister" on:click={()=>menuAction('register')}>Register</div>
356
+ <div class="Item ItemLogin" on:click={()=>menuAction('login')}>{$_('headerItem.login')}</div>
357
+ <div class="Item ItemRegister" on:click={()=>menuAction('register')}>{$_('headerItem.register')}</div>
340
358
  <select bind:value={selectedLanguage} class="Item ItemLanguage" on:change={()=>menuAction('language')}>
341
- {#each languagesArray as lang}
342
- <option value={lang.code}>{lang.code}</option>
359
+ {#each languagesArray as operatorLanguage}
360
+ <option value={operatorLanguage}>{operatorLanguage}</option>
343
361
  {/each}
344
362
  </select>
345
363
  </div>
package/src/i18n.js ADDED
@@ -0,0 +1,27 @@
1
+ import {
2
+ dictionary,
3
+ locale,
4
+ addMessages,
5
+ _
6
+ } from 'svelte-i18n';
7
+
8
+ function setupI18n({ withLocale: _locale, translations }) {
9
+ locale.subscribe((data) => {
10
+ if (data == null) {
11
+ dictionary.set(translations);
12
+ locale.set(_locale);
13
+ }
14
+ }); // maybe we will need this to make sure that the i18n is set up only once
15
+ /*dictionary.set(translations);
16
+ locale.set(_locale);*/
17
+ }
18
+
19
+ function addNewMessages(lang, dict) {
20
+ addMessages(lang, dict);
21
+ }
22
+
23
+ function setLocale(_locale) {
24
+ locale.set(_locale);
25
+ }
26
+
27
+ export { _, setupI18n, addNewMessages, setLocale };
@@ -0,0 +1,23 @@
1
+ export const CasinoHeaderController = {
2
+ en: {
3
+ headerItem: {
4
+ login: 'Login',
5
+ register: 'Register',
6
+ deposit: 'Deposit',
7
+ }
8
+ },
9
+ tr: {
10
+ headerItem: {
11
+ login: 'Giriş yapmak',
12
+ register: 'Kayıt olmak',
13
+ deposit: 'Depozito',
14
+ }
15
+ },
16
+ ro: {
17
+ headerItem: {
18
+ login: 'Autentificare',
19
+ register: 'Inregistreaza-te',
20
+ deposit: 'Depozit',
21
+ }
22
+ },
23
+ };