jp.ms.common.modules 1.0.41 → 1.0.43

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 (234) hide show
  1. package/dist/dto/app-table/card.dto.d.ts +1 -0
  2. package/dist/dto/app-table/card.dto.js +11 -0
  3. package/dist/dto/app-table/card.dto.js.map +1 -1
  4. package/dist/dto/app-table/player.dto.d.ts +1 -0
  5. package/dist/dto/app-table/player.dto.js +11 -0
  6. package/dist/dto/app-table/player.dto.js.map +1 -1
  7. package/dist/dto/games/fool/fool-table.dto.d.ts +1 -0
  8. package/dist/dto/games/fool/fool-table.dto.js +10 -0
  9. package/dist/dto/games/fool/fool-table.dto.js.map +1 -1
  10. package/dist/modules/anti-freeze-system/anti-freeze-system.module.d.ts +3 -1
  11. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js +8 -4
  12. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js.map +1 -1
  13. package/dist/modules/anti-freeze-system/anti-freeze-system.service.d.ts +6 -2
  14. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +37 -10
  15. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
  16. package/dist/modules/base-achievements/base-achievements.module.js +2 -2
  17. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  18. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.d.ts +1 -0
  19. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.js +5 -0
  20. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.js.map +1 -0
  21. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.d.ts +13 -0
  22. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.js +3 -0
  23. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.js.map +1 -0
  24. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.d.ts +15 -0
  25. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.js +77 -0
  26. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.js.map +1 -0
  27. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.d.ts +19 -0
  28. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.js +83 -0
  29. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.js.map +1 -0
  30. package/dist/modules/event-bus/events-bus.module.js +3 -0
  31. package/dist/modules/event-bus/events-bus.module.js.map +1 -1
  32. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.d.ts +10 -0
  33. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.js +26 -0
  34. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.js.map +1 -0
  35. package/dist/modules/event-bus/index.d.ts +1 -0
  36. package/dist/modules/event-bus/index.js +3 -1
  37. package/dist/modules/event-bus/index.js.map +1 -1
  38. package/dist/modules/events/events.gateway.d.ts +6 -1
  39. package/dist/modules/events/events.gateway.js +19 -5
  40. package/dist/modules/events/events.gateway.js.map +1 -1
  41. package/dist/modules/index.d.ts +1 -0
  42. package/dist/modules/index.js +3 -1
  43. package/dist/modules/index.js.map +1 -1
  44. package/dist/modules/main/main.controller.d.ts +0 -1
  45. package/dist/modules/main/main.controller.js +0 -12
  46. package/dist/modules/main/main.controller.js.map +1 -1
  47. package/dist/modules/main/main.module.js +1 -1
  48. package/dist/modules/main/main.module.js.map +1 -1
  49. package/dist/modules/main/main.service.d.ts +0 -1
  50. package/dist/modules/main/main.service.js +0 -13
  51. package/dist/modules/main/main.service.js.map +1 -1
  52. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.d.ts +1 -0
  53. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js +12 -0
  54. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js.map +1 -1
  55. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js +7 -2
  56. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js.map +1 -1
  57. package/dist/modules/many-tables-tournament/many-tables-tournament.service.d.ts +4 -1
  58. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js +18 -2
  59. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js.map +1 -1
  60. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js +2 -0
  61. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js.map +1 -1
  62. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.d.ts +3 -2
  63. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js +9 -6
  64. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js.map +1 -1
  65. package/dist/modules/menu/menu-screen.view.d.ts +2 -1
  66. package/dist/modules/menu/menu-screen.view.js +9 -3
  67. package/dist/modules/menu/menu-screen.view.js.map +1 -1
  68. package/dist/modules/menu/menu.interfaces.d.ts +1 -0
  69. package/dist/modules/menu/menu.service.js +1 -1
  70. package/dist/modules/menu/menu.service.js.map +1 -1
  71. package/dist/modules/one-table-tournament/one-table-tournament.module.js +1 -1
  72. package/dist/modules/one-table-tournament/one-table-tournament.module.js.map +1 -1
  73. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js +2 -0
  74. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js.map +1 -1
  75. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.d.ts +3 -2
  76. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js +9 -6
  77. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js.map +1 -1
  78. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js +2 -0
  79. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js.map +1 -1
  80. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.d.ts +3 -2
  81. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +8 -5
  82. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/dist/utils/game-table-result.d.ts +4 -3
  85. package/dist/utils/game-table-result.js +54 -4
  86. package/dist/utils/game-table-result.js.map +1 -1
  87. package/package.json +57 -57
  88. package/src/dto/app-screen/app-screen-app-bar.dto.ts +36 -36
  89. package/src/dto/app-screen/app-screen-dialog.dto.ts +64 -64
  90. package/src/dto/app-screen/app-screen-field-list-item.dto.ts +42 -42
  91. package/src/dto/app-screen/app-screen-field.dto.ts +59 -59
  92. package/src/dto/app-screen/app-screen-section-button.dto.ts +60 -60
  93. package/src/dto/app-screen/app-screen-section-buttons.dto.ts +14 -14
  94. package/src/dto/app-screen/app-screen-section-image.dto.ts +33 -33
  95. package/src/dto/app-screen/app-screen-section-list-item.dto.ts +105 -105
  96. package/src/dto/app-screen/app-screen-section-req.dto.ts +33 -33
  97. package/src/dto/app-screen/app-screen-section.dto.ts +76 -76
  98. package/src/dto/app-screen/app-screen.dto.ts +50 -50
  99. package/src/dto/app-screen/base-app-screen.dto.ts +16 -16
  100. package/src/dto/app-screen/index.ts +10 -10
  101. package/src/dto/app-table/bids-panel-item.dto.ts +33 -33
  102. package/src/dto/app-table/bids-panel.dto.ts +32 -32
  103. package/src/dto/app-table/card.dto.ts +63 -54
  104. package/src/dto/app-table/cards-deck.dto.ts +22 -22
  105. package/src/dto/app-table/cards-pair-slots-item.dto.ts +45 -45
  106. package/src/dto/app-table/cards-pair-slots.dto.ts +13 -13
  107. package/src/dto/app-table/cards-panel.dto.ts +48 -48
  108. package/src/dto/app-table/cards-player.dto.ts +14 -14
  109. package/src/dto/app-table/cards-slots-item.dto.ts +40 -40
  110. package/src/dto/app-table/cards-slots.dto.ts +13 -13
  111. package/src/dto/app-table/index.ts +15 -15
  112. package/src/dto/app-table/moves-panel-button.dto.ts +24 -24
  113. package/src/dto/app-table/moves-panel.dto.ts +23 -23
  114. package/src/dto/app-table/player.dto.ts +78 -69
  115. package/src/dto/app-table/summary-item.dto.ts +51 -51
  116. package/src/dto/app-table/summary.dto.ts +13 -13
  117. package/src/dto/common/find-free-table.dto.ts +3 -3
  118. package/src/dto/common/index.ts +2 -2
  119. package/src/dto/common/join-tournament.dto.ts +33 -33
  120. package/src/dto/common/log.dto.ts +9 -9
  121. package/src/dto/common/many-tables-tournament-create.dto.ts +125 -125
  122. package/src/dto/common/many-tables-tournament-update.dto.ts +3 -3
  123. package/src/dto/common/player-check-state.dto.ts +33 -33
  124. package/src/dto/common/player-connected.dto.ts +58 -58
  125. package/src/dto/games/fool/fool-player.dto.ts +3 -3
  126. package/src/dto/games/fool/fool-table.dto.ts +89 -81
  127. package/src/dto/games/index.ts +2 -2
  128. package/src/dto/games/poker/poker-player.dto.ts +3 -3
  129. package/src/dto/games/poker/poker-table.dto.ts +81 -81
  130. package/src/dto/index.ts +4 -4
  131. package/src/exception/error-code.enum.ts +4 -4
  132. package/src/exception/global-exception-filter.ts +53 -53
  133. package/src/exception/http-exception-wth-snackbar.ts +27 -27
  134. package/src/exception/index.ts +4 -4
  135. package/src/exception/not-enough-money-for-purchase.exception.ts +14 -14
  136. package/src/exception/not-found-free-room-for-fast-game.exception.ts +14 -14
  137. package/src/index.ts +4 -4
  138. package/src/modules/anti-freeze-system/anti-freeze-system.constants.ts +1 -1
  139. package/src/modules/anti-freeze-system/anti-freeze-system.interfaces.ts +20 -20
  140. package/src/modules/anti-freeze-system/anti-freeze-system.module.ts +59 -55
  141. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +136 -105
  142. package/src/modules/anti-freeze-system/index.ts +1 -1
  143. package/src/modules/base-achievements/base-achievements.module.ts +324 -322
  144. package/src/modules/base-achievements/index.ts +1 -1
  145. package/src/modules/confirmation-message-manager/confirmation-message-manager.constants.ts +3 -0
  146. package/src/modules/confirmation-message-manager/confirmation-message-manager.interfaces.ts +20 -0
  147. package/src/modules/confirmation-message-manager/confirmation-message-manager.module.ts +77 -0
  148. package/src/modules/confirmation-message-manager/confirmation-message-manager.service.ts +91 -0
  149. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +20 -20
  150. package/src/modules/event-bus/events-bus.main-tables.subscribe.service.ts +34 -34
  151. package/src/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.ts +6 -6
  152. package/src/modules/event-bus/events-bus.module.ts +26 -23
  153. package/src/modules/event-bus/events-bus.one-table-tournament.subscribe.service.ts +6 -6
  154. package/src/modules/event-bus/events-bus.player-ws-message.subscribe.service.ts +30 -0
  155. package/src/modules/event-bus/events-bus.tournament.subscribe.service.ts +18 -18
  156. package/src/modules/event-bus/index.ts +6 -5
  157. package/src/modules/events/events.constants.ts +1 -1
  158. package/src/modules/events/events.gateway.ts +84 -70
  159. package/src/modules/events/events.interfaces.ts +17 -17
  160. package/src/modules/events/events.module.ts +32 -32
  161. package/src/modules/events/index.ts +1 -1
  162. package/src/modules/index.ts +28 -27
  163. package/src/modules/logger/index.ts +2 -2
  164. package/src/modules/logger/jp-logger.module.ts +10 -10
  165. package/src/modules/logger/jp-logger.service.ts +38 -38
  166. package/src/modules/main/index.ts +1 -1
  167. package/src/modules/main/main-tables-list-screen.view.ts +275 -275
  168. package/src/modules/main/main.constants.ts +1 -1
  169. package/src/modules/main/main.controller.ts +51 -72
  170. package/src/modules/main/main.interfaces.ts +17 -17
  171. package/src/modules/main/main.module.ts +73 -73
  172. package/src/modules/main/main.service.ts +154 -183
  173. package/src/modules/many-tables-tournament/index.ts +1 -1
  174. package/src/modules/many-tables-tournament/many-tables-tournament-status-screen.view.ts +143 -143
  175. package/src/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.ts +63 -63
  176. package/src/modules/many-tables-tournament/many-tables-tournament.constants.ts +3 -3
  177. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +164 -151
  178. package/src/modules/many-tables-tournament/many-tables-tournament.interfaces.ts +20 -20
  179. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +89 -80
  180. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +241 -208
  181. package/src/modules/many-tables-tournament-rooms-manager/index.ts +2 -2
  182. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.constants.ts +3 -3
  183. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.ts +37 -37
  184. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.ts +89 -84
  185. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.ts +333 -331
  186. package/src/modules/menu/index.ts +1 -1
  187. package/src/modules/menu/menu-screen.view.ts +78 -71
  188. package/src/modules/menu/menu.constants.ts +1 -1
  189. package/src/modules/menu/menu.controller.ts +16 -16
  190. package/src/modules/menu/menu.interfaces.ts +18 -17
  191. package/src/modules/menu/menu.module.ts +39 -39
  192. package/src/modules/menu/menu.service.ts +40 -39
  193. package/src/modules/one-table-tournament/index.ts +1 -1
  194. package/src/modules/one-table-tournament/one-table-tournament-status-screen.view.ts +166 -166
  195. package/src/modules/one-table-tournament/one-table-tournament.constants.ts +3 -3
  196. package/src/modules/one-table-tournament/one-table-tournament.controller.ts +104 -104
  197. package/src/modules/one-table-tournament/one-table-tournament.interfaces.ts +20 -20
  198. package/src/modules/one-table-tournament/one-table-tournament.module.ts +80 -76
  199. package/src/modules/one-table-tournament/one-table-tournament.service.ts +146 -146
  200. package/src/modules/one-table-tournament-rooms-manager/index.ts +2 -2
  201. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.constants.ts +3 -3
  202. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.ts +31 -31
  203. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts +71 -66
  204. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts +222 -220
  205. package/src/modules/players-manager/index.ts +2 -2
  206. package/src/modules/players-manager/players-manager.module.ts +9 -9
  207. package/src/modules/players-manager/players-manager.service.ts +27 -27
  208. package/src/modules/simple-rooms/index.ts +1 -1
  209. package/src/modules/simple-rooms/simple-rooms.constants.ts +1 -1
  210. package/src/modules/simple-rooms/simple-rooms.controller.ts +63 -63
  211. package/src/modules/simple-rooms/simple-rooms.interfaces.ts +20 -20
  212. package/src/modules/simple-rooms/simple-rooms.module.ts +39 -39
  213. package/src/modules/simple-rooms/simple-rooms.service.ts +95 -95
  214. package/src/modules/simple-rooms-manager/index.ts +2 -2
  215. package/src/modules/simple-rooms-manager/simple-rooms-manager.constants.ts +3 -3
  216. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +26 -26
  217. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +65 -60
  218. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +192 -190
  219. package/src/modules/support/dump.service.ts +11 -11
  220. package/src/modules/support/index.ts +1 -1
  221. package/src/modules/support/metric.service.ts +41 -41
  222. package/src/modules/support/support.constants.ts +1 -1
  223. package/src/modules/support/support.controller.ts +79 -79
  224. package/src/modules/support/support.interfaces.ts +16 -16
  225. package/src/modules/support/support.module.ts +35 -35
  226. package/src/modules/support/support.service.ts +27 -27
  227. package/src/utils/date.ts +7 -7
  228. package/src/utils/game-table-result.ts +190 -129
  229. package/src/views/index.ts +5 -5
  230. package/src/views/many-tables-tournament-conifrm-exit-dialog.view.ts +37 -37
  231. package/src/views/one-table-tournament-conifrm-exit-dialog.view.ts +37 -37
  232. package/src/views/simple-room-conifrm-exit-dialog.view.ts +37 -37
  233. package/src/views/table-summary.view.ts +104 -104
  234. package/src/views/tournament-buy-ticket-dialog.view.ts +34 -34
@@ -1,166 +1,166 @@
1
- import {
2
- AppScreenIconEnum,
3
- AppScreenIdEnum,
4
- IAppScreen,
5
- UniversalScreenView,
6
- ILocaleService,
7
- StandardScreenComponent,
8
- StatusAppBarComponent,
9
- StatusHeaderSectionComponent,
10
- CardListSectionComponent,
11
- ArrowBackButtonComponent,
12
- IconImageComponent,
13
- PrimaryButtonButtonsComponent,
14
- TextButtonComponent,
15
- MiniCardSectionListItemComponent,
16
- UrlImageComponent,
17
- } from 'jp.common.models';
18
- import { formatChips } from 'jp.common.utils';
19
- import { OneTableTournamentRoom, TournamentMaster } from 'jp.ms.common.engine';
20
-
21
- export class OneTableTournamentStatusScreenView extends UniversalScreenView {
22
- private readonly tournament: OneTableTournamentRoom;
23
- private readonly playerId: string;
24
-
25
- constructor(
26
- localeService: ILocaleService,
27
- lang: string,
28
- tournament: OneTableTournamentRoom,
29
- playerId: string,
30
- ) {
31
- super(localeService, lang);
32
- this.tournament = tournament;
33
- this.playerId = playerId;
34
- }
35
-
36
- build(): IAppScreen {
37
- return new StandardScreenComponent(AppScreenIdEnum.ROOMS)
38
- .addAppBar(
39
- new StatusAppBarComponent(
40
- this.tournament.getTitle(this.lang),
41
- new ArrowBackButtonComponent(
42
- this.localeService.t('common.button.back', { lang: this.lang }),
43
- ),
44
- ),
45
- )
46
- .addSection(this.getStatusHeader())
47
- .addSection(new CardListSectionComponent('id1', this.getPlayersList()));
48
- }
49
-
50
- private getPlayersList(): Array<MiniCardSectionListItemComponent> {
51
- if (this.tournament.getRoomMaster<TournamentMaster>().isFinish()) {
52
- return this.tournament.getWinners().map(
53
- (item) =>
54
- new MiniCardSectionListItemComponent(
55
- item.playerId,
56
- item.playerName,
57
- this.localeService.t(
58
- 'common.tournaments.status.screen.finish.description',
59
- {
60
- lang: this.lang,
61
- args: {
62
- RANK: item.rank.toString(),
63
- PRIZE: formatChips(item.profit, this.lang, true),
64
- },
65
- },
66
- ),
67
- new UrlImageComponent(item.playerAvatarUrl),
68
- true,
69
- true,
70
- '',
71
- ),
72
- );
73
- }
74
-
75
- return this.tournament
76
- .getParticipants()
77
- .map(
78
- (item) =>
79
- new MiniCardSectionListItemComponent(
80
- item.playerId,
81
- item.playerName,
82
- '',
83
- new UrlImageComponent(item.playerAvatarUrl),
84
- true,
85
- true,
86
- '',
87
- ),
88
- );
89
- }
90
-
91
- private getStatusHeader(): StatusHeaderSectionComponent {
92
- const foundPlayer = this.tournament.getParticipant(this.playerId);
93
-
94
- return new StatusHeaderSectionComponent(
95
- 'status',
96
- this.getStatusDescription(),
97
- new IconImageComponent(this.getStatusIcon()),
98
- !foundPlayer &&
99
- this.tournament.getRoomMaster<TournamentMaster>().isWaiting()
100
- ? new PrimaryButtonButtonsComponent(
101
- new TextButtonComponent(
102
- this.localeService.t(
103
- 'common.tournaments.screen.button.join.tournament',
104
- { lang: this.lang },
105
- ),
106
- ),
107
- )
108
- : undefined,
109
- );
110
- }
111
-
112
- private getStatusIcon(): string {
113
- if (this.tournament.getRoomMaster<TournamentMaster>().isCancelled()) {
114
- return AppScreenIconEnum.INFO;
115
- } else if (this.tournament.getRoomMaster<TournamentMaster>().isFinish()) {
116
- return AppScreenIconEnum.EMOJI_EVENTS;
117
- } else if (this.tournament.getRoomMaster<TournamentMaster>().isWaiting()) {
118
- return AppScreenIconEnum.HOURGLASS_EMPTY;
119
- }
120
-
121
- return '';
122
- }
123
-
124
- private getStatusDescription(): string {
125
- if (this.tournament.getRoomMaster<TournamentMaster>().isCancelled()) {
126
- return this.localeService.t('common.tournaments.status.4', {
127
- lang: this.lang,
128
- });
129
- } else if (this.tournament.getRoomMaster<TournamentMaster>().isFinish()) {
130
- return this.localeService.t('common.tournaments.status.3', {
131
- lang: this.lang,
132
- });
133
- } else if (this.tournament.getRoomMaster<TournamentMaster>().isWaiting()) {
134
- return this.getStatusDescriptionWaiting();
135
- }
136
-
137
- return '';
138
- }
139
-
140
- private getStatusDescriptionWaiting(): string {
141
- const players = this.tournament.getParticipants().length;
142
- const maxPlayers = this.tournament.getTableSize();
143
-
144
- if (players === 0) {
145
- return this.localeService.t(
146
- 'common.room.screen.seat.and.go.waiting.for.the.players',
147
- {
148
- lang: this.lang,
149
- args: {
150
- MAX_PLAYERS: this.tournament.getTableSize().toString(),
151
- },
152
- },
153
- );
154
- }
155
-
156
- return this.localeService.t(
157
- 'common.room.screen.seat.and.go.more.waiting.for.the.players',
158
- {
159
- lang: this.lang,
160
- args: {
161
- PLAYERS: (maxPlayers - players).toString(),
162
- },
163
- },
164
- );
165
- }
166
- }
1
+ import {
2
+ AppScreenIconEnum,
3
+ AppScreenIdEnum,
4
+ IAppScreen,
5
+ UniversalScreenView,
6
+ ILocaleService,
7
+ StandardScreenComponent,
8
+ StatusAppBarComponent,
9
+ StatusHeaderSectionComponent,
10
+ CardListSectionComponent,
11
+ ArrowBackButtonComponent,
12
+ IconImageComponent,
13
+ PrimaryButtonButtonsComponent,
14
+ TextButtonComponent,
15
+ MiniCardSectionListItemComponent,
16
+ UrlImageComponent,
17
+ } from 'jp.common.models';
18
+ import { formatChips } from 'jp.common.utils';
19
+ import { OneTableTournamentRoom, TournamentMaster } from 'jp.ms.common.engine';
20
+
21
+ export class OneTableTournamentStatusScreenView extends UniversalScreenView {
22
+ private readonly tournament: OneTableTournamentRoom;
23
+ private readonly playerId: string;
24
+
25
+ constructor(
26
+ localeService: ILocaleService,
27
+ lang: string,
28
+ tournament: OneTableTournamentRoom,
29
+ playerId: string,
30
+ ) {
31
+ super(localeService, lang);
32
+ this.tournament = tournament;
33
+ this.playerId = playerId;
34
+ }
35
+
36
+ build(): IAppScreen {
37
+ return new StandardScreenComponent(AppScreenIdEnum.ROOMS)
38
+ .addAppBar(
39
+ new StatusAppBarComponent(
40
+ this.tournament.getTitle(this.lang),
41
+ new ArrowBackButtonComponent(
42
+ this.localeService.t('common.button.back', { lang: this.lang }),
43
+ ),
44
+ ),
45
+ )
46
+ .addSection(this.getStatusHeader())
47
+ .addSection(new CardListSectionComponent('id1', this.getPlayersList()));
48
+ }
49
+
50
+ private getPlayersList(): Array<MiniCardSectionListItemComponent> {
51
+ if (this.tournament.getRoomMaster<TournamentMaster>().isFinish()) {
52
+ return this.tournament.getWinners().map(
53
+ (item) =>
54
+ new MiniCardSectionListItemComponent(
55
+ item.playerId,
56
+ item.playerName,
57
+ this.localeService.t(
58
+ 'common.tournaments.status.screen.finish.description',
59
+ {
60
+ lang: this.lang,
61
+ args: {
62
+ RANK: item.rank.toString(),
63
+ PRIZE: formatChips(item.profit, this.lang, true),
64
+ },
65
+ },
66
+ ),
67
+ new UrlImageComponent(item.playerAvatarUrl),
68
+ true,
69
+ true,
70
+ '',
71
+ ),
72
+ );
73
+ }
74
+
75
+ return this.tournament
76
+ .getParticipants()
77
+ .map(
78
+ (item) =>
79
+ new MiniCardSectionListItemComponent(
80
+ item.playerId,
81
+ item.playerName,
82
+ '',
83
+ new UrlImageComponent(item.playerAvatarUrl),
84
+ true,
85
+ true,
86
+ '',
87
+ ),
88
+ );
89
+ }
90
+
91
+ private getStatusHeader(): StatusHeaderSectionComponent {
92
+ const foundPlayer = this.tournament.getParticipant(this.playerId);
93
+
94
+ return new StatusHeaderSectionComponent(
95
+ 'status',
96
+ this.getStatusDescription(),
97
+ new IconImageComponent(this.getStatusIcon()),
98
+ !foundPlayer &&
99
+ this.tournament.getRoomMaster<TournamentMaster>().isWaiting()
100
+ ? new PrimaryButtonButtonsComponent(
101
+ new TextButtonComponent(
102
+ this.localeService.t(
103
+ 'common.tournaments.screen.button.join.tournament',
104
+ { lang: this.lang },
105
+ ),
106
+ ),
107
+ )
108
+ : undefined,
109
+ );
110
+ }
111
+
112
+ private getStatusIcon(): string {
113
+ if (this.tournament.getRoomMaster<TournamentMaster>().isCancelled()) {
114
+ return AppScreenIconEnum.INFO;
115
+ } else if (this.tournament.getRoomMaster<TournamentMaster>().isFinish()) {
116
+ return AppScreenIconEnum.EMOJI_EVENTS;
117
+ } else if (this.tournament.getRoomMaster<TournamentMaster>().isWaiting()) {
118
+ return AppScreenIconEnum.HOURGLASS_EMPTY;
119
+ }
120
+
121
+ return '';
122
+ }
123
+
124
+ private getStatusDescription(): string {
125
+ if (this.tournament.getRoomMaster<TournamentMaster>().isCancelled()) {
126
+ return this.localeService.t('common.tournaments.status.4', {
127
+ lang: this.lang,
128
+ });
129
+ } else if (this.tournament.getRoomMaster<TournamentMaster>().isFinish()) {
130
+ return this.localeService.t('common.tournaments.status.3', {
131
+ lang: this.lang,
132
+ });
133
+ } else if (this.tournament.getRoomMaster<TournamentMaster>().isWaiting()) {
134
+ return this.getStatusDescriptionWaiting();
135
+ }
136
+
137
+ return '';
138
+ }
139
+
140
+ private getStatusDescriptionWaiting(): string {
141
+ const players = this.tournament.getParticipants().length;
142
+ const maxPlayers = this.tournament.getTableSize();
143
+
144
+ if (players === 0) {
145
+ return this.localeService.t(
146
+ 'common.room.screen.seat.and.go.waiting.for.the.players',
147
+ {
148
+ lang: this.lang,
149
+ args: {
150
+ MAX_PLAYERS: this.tournament.getTableSize().toString(),
151
+ },
152
+ },
153
+ );
154
+ }
155
+
156
+ return this.localeService.t(
157
+ 'common.room.screen.seat.and.go.more.waiting.for.the.players',
158
+ {
159
+ lang: this.lang,
160
+ args: {
161
+ PLAYERS: (maxPlayers - players).toString(),
162
+ },
163
+ },
164
+ );
165
+ }
166
+ }
@@ -1,3 +1,3 @@
1
- export const ONE_TABLE_TOURNAMENT_OPTIONS = Symbol(
2
- 'ONE_TABLE_TOURNAMENT_OPTIONS',
3
- );
1
+ export const ONE_TABLE_TOURNAMENT_OPTIONS = Symbol(
2
+ 'ONE_TABLE_TOURNAMENT_OPTIONS',
3
+ );
@@ -1,104 +1,104 @@
1
- import {
2
- Body,
3
- Controller,
4
- Get,
5
- Param,
6
- Post,
7
- Headers,
8
- HttpStatus,
9
- HttpCode,
10
- } from '@nestjs/common';
11
- import {
12
- IAppHeaders,
13
- IBaseAppScreen,
14
- IBaseMoveData,
15
- IAppTableState,
16
- } from 'jp.common.models';
17
-
18
- import { OneTableTournamentService } from './one-table-tournament.service';
19
-
20
- @Controller('tournament/one_table')
21
- export class OneTableTournamentController {
22
- constructor(private readonly tournamentService: OneTableTournamentService) {}
23
-
24
- @Get('status/:tournamentId')
25
- getStatusScreen(
26
- @Param('tournamentId') tournamentId: string,
27
- @Headers() headers: IAppHeaders,
28
- ): IBaseAppScreen {
29
- return this.tournamentService.getStatusScreen(
30
- tournamentId,
31
- headers.client_language,
32
- headers.client_auth_token,
33
- );
34
- }
35
-
36
- @Get('status/subscribe/:tournamentId')
37
- subscribeOnStatusScreen(
38
- @Param('tournamentId') tournamentId: string,
39
- @Headers() headers: IAppHeaders,
40
- ): void {
41
- return this.tournamentService.subscribeOnStatusScreen(
42
- tournamentId,
43
- headers.client_auth_token,
44
- );
45
- }
46
-
47
- @Get('status/unsubscribe/:tournamentId')
48
- unsubscribeFromStatusScreen(
49
- @Param('tournamentId') tournamentId: string,
50
- @Headers() headers: IAppHeaders,
51
- ): void {
52
- return this.tournamentService.unsubscribeFromStatusScreen(
53
- tournamentId,
54
- headers.client_auth_token,
55
- );
56
- }
57
-
58
- @Post('table/watch/:tableId')
59
- @HttpCode(HttpStatus.OK)
60
- watchTheTable(
61
- @Param('tableId') tableId: string,
62
- @Headers() headers: IAppHeaders,
63
- ): IAppTableState {
64
- return this.tournamentService.watchTheTable(
65
- tableId,
66
- headers.client_auth_token,
67
- );
68
- }
69
-
70
- @Post('table/move/:tableId')
71
- @HttpCode(HttpStatus.OK)
72
- moveOnTheTable(
73
- @Param('tableId') tableId: string,
74
- @Body() baseMoveData: IBaseMoveData,
75
- @Headers() headers: IAppHeaders,
76
- ): IAppTableState {
77
- return this.tournamentService.moveOnTheTable(
78
- tableId,
79
- headers.client_auth_token,
80
- baseMoveData,
81
- );
82
- }
83
-
84
- @Post('join/:tournamentId')
85
- @HttpCode(HttpStatus.OK)
86
- joinTournament(
87
- @Param('tournamentId') tournamentId: string,
88
- @Headers() headers: IAppHeaders,
89
- ): IBaseAppScreen {
90
- return this.tournamentService.joinTournament(tournamentId, headers);
91
- }
92
-
93
- @Post('leave/:tournamentId')
94
- @HttpCode(HttpStatus.OK)
95
- leaveTournament(
96
- @Param('tournamentId') tournamentId: string,
97
- @Headers() headers: IAppHeaders,
98
- ): void {
99
- return this.tournamentService.leaveTournament(
100
- tournamentId,
101
- headers.client_auth_token,
102
- );
103
- }
104
- }
1
+ import {
2
+ Body,
3
+ Controller,
4
+ Get,
5
+ Param,
6
+ Post,
7
+ Headers,
8
+ HttpStatus,
9
+ HttpCode,
10
+ } from '@nestjs/common';
11
+ import {
12
+ IAppHeaders,
13
+ IBaseAppScreen,
14
+ IBaseMoveData,
15
+ IAppTableState,
16
+ } from 'jp.common.models';
17
+
18
+ import { OneTableTournamentService } from './one-table-tournament.service';
19
+
20
+ @Controller('tournament/one_table')
21
+ export class OneTableTournamentController {
22
+ constructor(private readonly tournamentService: OneTableTournamentService) {}
23
+
24
+ @Get('status/:tournamentId')
25
+ getStatusScreen(
26
+ @Param('tournamentId') tournamentId: string,
27
+ @Headers() headers: IAppHeaders,
28
+ ): IBaseAppScreen {
29
+ return this.tournamentService.getStatusScreen(
30
+ tournamentId,
31
+ headers.client_language,
32
+ headers.client_auth_token,
33
+ );
34
+ }
35
+
36
+ @Get('status/subscribe/:tournamentId')
37
+ subscribeOnStatusScreen(
38
+ @Param('tournamentId') tournamentId: string,
39
+ @Headers() headers: IAppHeaders,
40
+ ): void {
41
+ return this.tournamentService.subscribeOnStatusScreen(
42
+ tournamentId,
43
+ headers.client_auth_token,
44
+ );
45
+ }
46
+
47
+ @Get('status/unsubscribe/:tournamentId')
48
+ unsubscribeFromStatusScreen(
49
+ @Param('tournamentId') tournamentId: string,
50
+ @Headers() headers: IAppHeaders,
51
+ ): void {
52
+ return this.tournamentService.unsubscribeFromStatusScreen(
53
+ tournamentId,
54
+ headers.client_auth_token,
55
+ );
56
+ }
57
+
58
+ @Post('table/watch/:tableId')
59
+ @HttpCode(HttpStatus.OK)
60
+ watchTheTable(
61
+ @Param('tableId') tableId: string,
62
+ @Headers() headers: IAppHeaders,
63
+ ): IAppTableState {
64
+ return this.tournamentService.watchTheTable(
65
+ tableId,
66
+ headers.client_auth_token,
67
+ );
68
+ }
69
+
70
+ @Post('table/move/:tableId')
71
+ @HttpCode(HttpStatus.OK)
72
+ moveOnTheTable(
73
+ @Param('tableId') tableId: string,
74
+ @Body() baseMoveData: IBaseMoveData,
75
+ @Headers() headers: IAppHeaders,
76
+ ): IAppTableState {
77
+ return this.tournamentService.moveOnTheTable(
78
+ tableId,
79
+ headers.client_auth_token,
80
+ baseMoveData,
81
+ );
82
+ }
83
+
84
+ @Post('join/:tournamentId')
85
+ @HttpCode(HttpStatus.OK)
86
+ joinTournament(
87
+ @Param('tournamentId') tournamentId: string,
88
+ @Headers() headers: IAppHeaders,
89
+ ): IBaseAppScreen {
90
+ return this.tournamentService.joinTournament(tournamentId, headers);
91
+ }
92
+
93
+ @Post('leave/:tournamentId')
94
+ @HttpCode(HttpStatus.OK)
95
+ leaveTournament(
96
+ @Param('tournamentId') tournamentId: string,
97
+ @Headers() headers: IAppHeaders,
98
+ ): void {
99
+ return this.tournamentService.leaveTournament(
100
+ tournamentId,
101
+ headers.client_auth_token,
102
+ );
103
+ }
104
+ }
@@ -1,20 +1,20 @@
1
- import { ModuleMetadata } from '@nestjs/common';
2
- import { I18nService } from 'nestjs-i18n';
3
- import { Type } from '@nestjs/common/interfaces/type.interface';
4
- import { DynamicModule } from '@nestjs/common/interfaces/modules/dynamic-module.interface';
5
- import { ForwardReference } from '@nestjs/common/interfaces/modules/forward-reference.interface';
6
-
7
- export interface OneTableTournamentModuleOptions extends Pick<
8
- ModuleMetadata,
9
- 'imports'
10
- > {
11
- imports?: Array<
12
- Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
13
- >;
14
- inject?: any[];
15
- useFactory?: (...args: any[]) => Promise<any> | any;
16
- }
17
-
18
- export interface OneTableTournamentFactoryOptions {
19
- i18n: I18nService;
20
- }
1
+ import { ModuleMetadata } from '@nestjs/common';
2
+ import { I18nService } from 'nestjs-i18n';
3
+ import { Type } from '@nestjs/common/interfaces/type.interface';
4
+ import { DynamicModule } from '@nestjs/common/interfaces/modules/dynamic-module.interface';
5
+ import { ForwardReference } from '@nestjs/common/interfaces/modules/forward-reference.interface';
6
+
7
+ export interface OneTableTournamentModuleOptions extends Pick<
8
+ ModuleMetadata,
9
+ 'imports'
10
+ > {
11
+ imports?: Array<
12
+ Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
13
+ >;
14
+ inject?: any[];
15
+ useFactory?: (...args: any[]) => Promise<any> | any;
16
+ }
17
+
18
+ export interface OneTableTournamentFactoryOptions {
19
+ i18n: I18nService;
20
+ }