@everymatrix/general-player-register-form-step2 0.0.213 → 0.0.217

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/general-player-register-form-step2",
3
- "version": "0.0.213",
3
+ "version": "0.0.217",
4
4
  "main": "dist/general-player-register-form-step2.js",
5
5
  "svelte": "src/index.ts",
6
6
  "scripts": {
@@ -36,5 +36,5 @@
36
36
  "publishConfig": {
37
37
  "access": "public"
38
38
  },
39
- "gitHead": "0b49e65f747ec6eaac6ca9d4a4e7ee9702980bfc"
39
+ "gitHead": "eece4cbb47122ec254298d89beb7fdb184124cdc"
40
40
  }
@@ -1,9 +1,14 @@
1
1
  <svelte:options tag={null} />
2
2
 
3
- <script lang="typescript">
3
+ <script lang="ts">
4
4
  import { onMount } from "svelte";
5
+ import moment from 'moment';
6
+ import { _, addNewMessages, setLocale, setupI18n } from './i18n';
7
+ import { RegisterFormStep2Translations } from './translations';
5
8
 
6
9
  export let endpoint:string = '';
10
+ export let lang:string = '';
11
+ export let licenseyears:string = '';
7
12
 
8
13
  let invalidFirstName:boolean = false;
9
14
  let invalidLastName:boolean = false;
@@ -17,14 +22,34 @@
17
22
  let birthDaySelected:number = birthDays[0];
18
23
  let birthMonths:Array<Object> = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
19
24
  let birthMonthSelected:number = birthMonths[0];
20
- let birthYears:Array<Object> = [1999, 1998, 1997, 1996, 1995, 1994, 1993, 1992, 1991, 1990, 1989, 1988, 1987, 1986, 1985, 1984, 1983, 1982, 1981, 1980, 1979];
21
- let birthYearSelected:number = birthYears[0];
25
+ let birthYears:Array<Object> = [];
26
+ let birthYearSelected:number;
22
27
  let birthPlace:string = '';
23
28
  let currencies:Array<Object> = [];
24
29
  let currencySelected:string = '';
30
+ let currentDate:Date = new Date();
31
+ let minDate:string;
32
+ let maxDate:string;
25
33
 
26
34
  let isValid:Boolean = false;
27
35
 
36
+ // setupI18n({ withLocale: 'en', translations: {}});
37
+
38
+ Object.keys(RegisterFormStep2Translations).forEach((item:any) => {
39
+ addNewMessages(item, RegisterFormStep2Translations[item]);
40
+ });
41
+
42
+ const createYearsArray = () => {
43
+ maxDate = moment(currentDate.setDate(currentDate.getDate())).subtract(parseInt(licenseyears), 'y').format('YYYY');
44
+ minDate = moment(currentDate.setDate(currentDate.getDate())).subtract(100 + parseInt(licenseyears), 'y').format('YYYY');
45
+
46
+ birthYearSelected = parseInt(maxDate);
47
+
48
+ for(let i=maxDate; i>=minDate; i--) {
49
+ birthYears.push(i);
50
+ }
51
+ }
52
+
28
53
  const getCurrencies = () => {
29
54
  fetch(`${endpoint}/player/operatorSupportedCurrencies`)
30
55
  .then((res:any) => res.json())
@@ -130,6 +155,10 @@
130
155
  }
131
156
  }
132
157
 
158
+ const initialLoad = () => {
159
+ setLocale(lang);
160
+ }
161
+
133
162
  onMount(() => {
134
163
  window.addEventListener('message', messageHandler, false);
135
164
 
@@ -139,17 +168,19 @@
139
168
  });
140
169
 
141
170
  $: endpoint && getCurrencies();
171
+ $: lang && initialLoad();
172
+ $: licenseyears && createYearsArray();
142
173
  </script>
143
174
 
144
175
  <div class="RegisterFormHeader">
145
176
  <button class="BackButton" on:click={goBack}>
146
177
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.a{fill:#d0046c;}</style></defs><path class="a" d="M12,0,9.818,2.182l8.26,8.26H0v3.117H18.078l-8.26,8.26L12,24,24,12Z" transform="translate(24 24) rotate(180)"/></svg>
147
- Back
178
+ {$_('registerFormStep2.registerBackButton')}
148
179
  </button>
149
180
  </div>
150
181
  <div class="RegisterFormContent">
151
182
  <div class="UserTitleContainer">
152
- <label for="Title">Title:<span class="FormRequired">*</span></label>
183
+ <label for="Title">{$_('registerFormStep2.registerUserTitle')}:<span class="FormRequired">*</span></label>
153
184
  <select bind:value={userTitleSelected} id="Title">
154
185
  {#each userTitles as userTitle}
155
186
  <option value="{userTitle}">{userTitle}</option>
@@ -157,21 +188,21 @@
157
188
  </select>
158
189
  </div>
159
190
  <div class="FirstNameContainer {invalidFirstName ? 'InvalidField' : ''}">
160
- <label for="FirstName">First Name:<span class="FormRequired">*</span></label>
191
+ <label for="FirstName">{$_('registerFormStep2.registerFirstName')}:<span class="FormRequired">*</span></label>
161
192
  <input bind:value={userFirstName} on:blur={validateUserFirstName} type="text" id="FirstName" />
162
193
  {#if invalidFirstName}
163
- <p class="InvalidInput">First name must be at least 2 characters long and contain no special characters.</p>
194
+ <p class="InvalidInput">{$_('registerFormStep2.registerFirstNameError')}</p>
164
195
  {/if}
165
196
  </div>
166
197
  <div class="LastNameContainer {invalidLastName ? 'InvalidField' : ''}">
167
- <label for="LastName">Last Name:<span class="FormRequired">*</span></label>
198
+ <label for="LastName">{$_('registerFormStep2.registerLastName')}:<span class="FormRequired">*</span></label>
168
199
  <input bind:value={userLastName} on:blur={validateUserLastName} type="text" id="LastName" />
169
200
  {#if invalidLastName}
170
- <p class="InvalidInput">Last name must be at least 2 characters long and contain no special characters.</p>
201
+ <p class="InvalidInput">{$_('registerFormStep2.registerLastNameError')}</p>
171
202
  {/if}
172
203
  </div>
173
204
  <div class="BirthDateContainer">
174
- <label for="BirthDate">Date of Birth:<span class="FormRequired">*</span></label>
205
+ <label for="BirthDate">{$_('registerFormStep2.registerDateOfBirth')}:<span class="FormRequired">*</span></label>
175
206
  <div class="BirthDateOptions">
176
207
  <select bind:value={birthDaySelected} class="BirthDaySelected">
177
208
  {#each birthDays as birthDay}
@@ -191,14 +222,14 @@
191
222
  </div>
192
223
  </div>
193
224
  <div class="BirthPlaceContainer {invalidBirthPlace ? 'InvalidField' : ''}">
194
- <label for="BirthPlace">Birth Place:<span class="FormRequired">*</span></label>
225
+ <label for="BirthPlace">{$_('registerFormStep2.registerBirthPlace')}:<span class="FormRequired">*</span></label>
195
226
  <input bind:value={birthPlace} on:keyup={validateBirthPlace} type="text" id="BirthPlace" />
196
227
  {#if invalidBirthPlace}
197
- <p class="InvalidInput">Birth place must be at least 1 character long.</p>
228
+ <p class="InvalidInput">{$_('registerFormStep2.registerBirthPlaceError')}</p>
198
229
  {/if}
199
230
  </div>
200
231
  <div class="CurrencyContainer">
201
- <label for="Currency">Currency:<span class="FormRequired">*</span></label>
232
+ <label for="Currency">{$_('registerFormStep2.registerCurrency')}:<span class="FormRequired">*</span></label>
202
233
  <select bind:value={currencySelected} id="Currency">
203
234
  {#each currencies as currency}
204
235
  <option value={currency}>{currency}</option>
@@ -206,7 +237,7 @@
206
237
  </select>
207
238
  </div>
208
239
  </div>
209
- <button class="RegisterStepNext" disabled={!isValid} on:click={goNext}>Next</button>
240
+ <button class="RegisterStepNext" disabled={!isValid} on:click={goNext}>{$_('registerFormStep2.registerNext')}</button>
210
241
 
211
242
  <style lang="scss">
212
243
  //This function does a multiplication
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,47 @@
1
+ export const RegisterFormStep2Translations = {
2
+ en: {
3
+ registerFormStep2: {
4
+ registerBackButton: 'Back',
5
+ registerUserTitle: 'Title',
6
+ registerFirstName: 'First Name',
7
+ registerFirstNameError: 'First name must be at least 2 characters long and contain no special characters.',
8
+ registerLastName: 'Last Name',
9
+ registerLastNameError: 'Last name must be at least 2 characters long and contain no special characters.',
10
+ registerDateOfBirth: 'Date of Birth',
11
+ registerBirthPlace: 'Birth Place',
12
+ registerBirthPlaceError: 'Birth place must be at least 1 character long.',
13
+ registerCurrency: 'Currency',
14
+ registerNext: 'Next'
15
+ }
16
+ },
17
+ tr: {
18
+ registerFormStep2: {
19
+ registerBackButton: 'Geri',
20
+ registerUserTitle: 'Başlık',
21
+ registerFirstName: 'İlk adı',
22
+ registerFirstNameError: 'Ad en az 2 karakter uzunluğunda olmalı ve özel karakter içermemelidir.',
23
+ registerLastName: 'Soyadı',
24
+ registerLastNameError: 'Soyadı en az 2 karakter uzunluğunda olmalı ve özel karakter içermemelidir.',
25
+ registerDateOfBirth: 'Doğum tarihi',
26
+ registerBirthPlace: 'Doğum yeri',
27
+ registerBirthPlaceError: 'Doğum yeri en az 1 karakter uzunluğunda olmalıdır.',
28
+ registerCurrency: 'Para birimi',
29
+ registerNext: 'Sonraki'
30
+ }
31
+ },
32
+ ro: {
33
+ registerFormStep2: {
34
+ registerBackButton: 'Inapoi',
35
+ registerUserTitle: 'Titlu',
36
+ registerFirstName: 'Prenume',
37
+ registerFirstNameError: 'Prenumele trebuie sa fie de minim 2 litere si sa nu contina caractere speciale.',
38
+ registerLastName: 'Nume',
39
+ registerLastNameError: 'Numele trebuie sa fie de minim 2 litere si sa nu contina caractere speciale',
40
+ registerDateOfBirth: 'Data Nasterii',
41
+ registerBirthPlace: 'Locule nasterii',
42
+ registerBirthPlaceError: 'Locul nasterii trebuie sa contina minim o litera',
43
+ registerCurrency: 'Moneda',
44
+ registerNext: 'Urmatorul'
45
+ }
46
+ },
47
+ };