@everymatrix/casino-wagering-bonuses-controller 1.30.0 → 1.30.1

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/casino-wagering-bonuses-controller",
3
- "version": "1.30.0",
3
+ "version": "1.30.1",
4
4
  "main": "dist/casino-wagering-bonuses-controller.js",
5
5
  "svelte": "src/index.ts",
6
6
  "scripts": {
@@ -35,5 +35,5 @@
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "b9795b320e7d96e10963f25cdea2d9300029d8d7"
38
+ "gitHead": "fb8f6763064049c1da23e78c065e8c2bca2aa409"
39
39
  }
@@ -20,6 +20,7 @@
20
20
  import { infoParts } from '@everymatrix/casino-wagering-bonus/src/private.exportparts';
21
21
 
22
22
  import { _, setLocale } from '@everymatrix/casino-wagering-bonus/src/svelte.i18n';
23
+ import { findMaxIdSubset } from '@everymatrix/casino-wagering-bonus/src/api.apdater.util';
23
24
 
24
25
  export let endpoint = ''
25
26
  export let lang = Lang.en
@@ -27,6 +28,7 @@
27
28
  export let currency: string = 'EUR';
28
29
  export let filter: BonusStatusFilterType = BonusStatusFilterType.claimable
29
30
  export let limit: string = ''
31
+ export let sortorder: string = 'desc'
30
32
 
31
33
  let isMounted = false
32
34
  $: isMounted && init()
@@ -39,6 +41,7 @@
39
41
 
40
42
  let bonuses: any[] = []
41
43
  let eventSource: TEventSource
44
+ let bonusesProgress: any = {}
42
45
  let isLoading: boolean = true;
43
46
  let errorMessage: string = ''
44
47
  let abortController: AbortController
@@ -48,11 +51,14 @@
48
51
  const eventSourceHandler = composeEventSourceMessageHandler({
49
52
  "WageringProgressUpdate": (data: any) => {
50
53
  bonuses = bonuses.map(bonus => {
51
- let item = data?.items[bonus.bonusWalletID]
54
+ let progresses = data?.items[bonus.bonusWalletID]
52
55
 
53
- if(!item) return bonus
56
+ if(!progresses) return bonus
57
+
58
+ const { maxIdObj, maxId } = findMaxIdSubset(progresses)
59
+ let { status: _status, level, levelIncrement, gap } = maxIdObj
60
+ bonusesProgress[bonus.id] = maxId
54
61
 
55
- let { status: _status, level, levelIncrement, gap } = item
56
62
  let _bonus: any = {...bonus}
57
63
 
58
64
  _bonus = { ..._bonus, wageringProgress: {
@@ -84,6 +90,7 @@
84
90
  lang,
85
91
  status: filter === 'claimable' ? 'claimable' : getRequestStatusByStatusFilter(filter),
86
92
  limit,
93
+ sortOrder: sortorder || 'desc',
87
94
  })
88
95
 
89
96
  if(!response.success) {
@@ -93,10 +100,18 @@
93
100
 
94
101
  clearEventSource(eventSource, eventSourceHandler)
95
102
  if(filter === BonusStatusFilterType.active){
96
- eventSource = setWageringEventSource(endpoint, session, bonuses, eventSourceHandler)
103
+ updateEventSource()
97
104
  }
98
105
  }
99
106
  }
107
+
108
+ const updateEventSource = () => {
109
+ clearEventSource(eventSource, eventSourceHandler)
110
+ eventSource = setWageringEventSource(endpoint, session, bonuses, eventSourceHandler, bonusesProgress)
111
+ eventSource.onerror = () => {
112
+ updateEventSource()
113
+ }
114
+ }
100
115
 
101
116
  const init = async () => {
102
117
  if(!isMounted || !filter || !lang || !session || !endpoint) return;
@@ -115,6 +130,7 @@
115
130
  $: endpoint && init()
116
131
  $: lang && init()
117
132
  $: session && init()
133
+ $: sortorder && init()
118
134
 
119
135
  let innerWidth
120
136
  $: isMobileView = innerWidth <= 648
@@ -177,7 +193,6 @@
177
193
 
178
194
  <style lang="scss">
179
195
 
180
-
181
196
  *,
182
197
  *::before,
183
198
  *::after {
@@ -193,6 +208,12 @@
193
208
  margin-bottom: 30px;
194
209
  }
195
210
 
211
+ .Root {
212
+ background: var(--emfe-w-color-white, #FFFFFF);
213
+ padding: 20px;
214
+ color: var(--emfe-w-color-black, #000000);
215
+ }
216
+
196
217
  .Bonuses {
197
218
  display: flex;
198
219
  flex-wrap: wrap;