@gamepark/react-game 6.11.2 → 6.12.0

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.
@@ -46,12 +46,13 @@ var Avatar = function (_a) {
46
46
  var avatar = myPlayerId === playerId ? (_c = (_b = me === null || me === void 0 ? void 0 : me.user) === null || _b === void 0 ? void 0 : _b.avatar) !== null && _c !== void 0 ? _c : player === null || player === void 0 ? void 0 : player.avatar : player === null || player === void 0 ? void 0 : player.avatar;
47
47
  var query = new URLSearchParams(window.location.search);
48
48
  var gameId = query.get('game');
49
- return ((0, jsx_runtime_1.jsxs)("div", __assign({ css: style }, props, { children: [(0, jsx_runtime_1.jsx)(avataaars_1.default, __assign({ circle: true }, avatar, { css: avatarCss })), (speechBubbleProps === null || speechBubbleProps === void 0 ? void 0 : speechBubbleProps.children) ?
49
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ css: style }, props, { children: [(0, jsx_runtime_1.jsx)(avataaars_1.default, __assign({ circle: true }, avatar, { css: [avatarCss, (player === null || player === void 0 ? void 0 : player.quit) && greyscale] })), (speechBubbleProps === null || speechBubbleProps === void 0 ? void 0 : speechBubbleProps.children) ?
50
50
  (0, jsx_runtime_1.jsx)(SpeechBubble_1.SpeechBubble, __assign({}, speechBubbleProps, { children: speechBubbleProps.children })) :
51
51
  gameId && player && (0, jsx_runtime_1.jsx)(ChatSpeechBubble_1.ChatSpeechBubble, __assign({ gameId: gameId, player: player }, speechBubbleProps)), children] })));
52
52
  };
53
53
  exports.Avatar = Avatar;
54
54
  var style = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-radius: 50%;\n box-shadow: 0 0 0.4em black;\n"], ["\n border-radius: 50%;\n box-shadow: 0 0 0.4em black;\n"])));
55
55
  var avatarCss = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: absolute;\n bottom: 0;\n left: -6%;\n width: 112%;\n height: 117%;\n"], ["\n position: absolute;\n bottom: 0;\n left: -6%;\n width: 112%;\n height: 117%;\n"])));
56
- var templateObject_1, templateObject_2;
56
+ var greyscale = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n filter: grayscale();\n"], ["\n filter: grayscale();\n"])));
57
+ var templateObject_1, templateObject_2, templateObject_3;
57
58
  //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAoC;AACpC,kEAA0C;AAC1C,uDAA8C;AAE9C,qCAAoD;AACpD,uDAAqD;AACrD,+CAAgE;AAOzD,IAAM,MAAM,GAAG,UAAC,EAA0D;;IAAxD,IAAA,QAAQ,cAAA,EAAE,iBAAiB,uBAAA,EAAE,QAAQ,cAAA,EAAK,KAAK,cAAjD,6CAAmD,CAAF;IACtE,IAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;IAClC,IAAM,EAAE,GAAG,IAAA,oBAAK,GAAE,CAAA;IAClB,IAAM,UAAU,GAAG,IAAA,mBAAW,GAAE,CAAA;IAChC,IAAM,MAAM,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,MAAM,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;IAC5F,IAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzD,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,CACL,0CAAK,GAAG,EAAE,KAAK,IAAM,KAAK,eACxB,uBAAC,mBAAQ,aAAC,MAAM,UAAK,MAAM,IAAE,GAAG,EAAE,SAAS,IAAG,EAC7C,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,EAAC,CAAC;gBAC5B,uBAAC,2BAAY,eAAK,iBAAiB,cAAG,iBAAiB,CAAC,QAAQ,IAAgB,CAAC,CAAC;gBAClF,MAAM,IAAI,MAAM,IAAI,uBAAC,mCAAgB,aAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAM,iBAAiB,EAAG,EAE/F,QAAQ,KACL,CACP,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,MAAM,UAiBlB;AAED,IAAM,KAAK,OAAG,WAAG,+HAAA,2DAGhB,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,4JAAA,wFAMpB,IAAA,CAAA"}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAoC;AACpC,kEAA0C;AAC1C,uDAA8C;AAE9C,qCAAoD;AACpD,uDAAqD;AACrD,+CAAgE;AAOzD,IAAM,MAAM,GAAG,UAAC,EAA0D;;IAAxD,IAAA,QAAQ,cAAA,EAAE,iBAAiB,uBAAA,EAAE,QAAQ,cAAA,EAAK,KAAK,cAAjD,6CAAmD,CAAF;IACtE,IAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;IAClC,IAAM,EAAE,GAAG,IAAA,oBAAK,GAAE,CAAA;IAClB,IAAM,UAAU,GAAG,IAAA,mBAAW,GAAE,CAAA;IAChC,IAAM,MAAM,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,MAAM,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;IAC5F,IAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzD,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,CACL,0CAAK,GAAG,EAAE,KAAK,IAAM,KAAK,eACxB,uBAAC,mBAAQ,aAAC,MAAM,UAAK,MAAM,IAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,SAAS,CAAC,IAAG,EAC1E,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,EAAC,CAAC;gBAC5B,uBAAC,2BAAY,eAAK,iBAAiB,cAAG,iBAAiB,CAAC,QAAQ,IAAgB,CAAC,CAAC;gBAClF,MAAM,IAAI,MAAM,IAAI,uBAAC,mCAAgB,aAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAM,iBAAiB,EAAG,EAE/F,QAAQ,KACL,CACP,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,MAAM,UAiBlB;AAED,IAAM,KAAK,OAAG,WAAG,+HAAA,2DAGhB,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,4JAAA,wFAMpB,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,gGAAA,4BAEpB,IAAA,CAAA"}
@@ -28,19 +28,26 @@ var faCircleQuestion_1 = require("@fortawesome/free-regular-svg-icons/faCircleQu
28
28
  var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
29
29
  var react_1 = require("react");
30
30
  var react_i18next_1 = require("react-i18next");
31
+ var react_redux_1 = require("react-redux");
31
32
  var css_1 = require("../../css");
32
33
  var hooks_1 = require("../../hooks");
33
34
  var dialogs_1 = require("../dialogs");
34
35
  var Header_1 = require("./Header");
35
36
  var MaterialHeader = function (_a) {
37
+ var _b;
36
38
  var loading = _a.loading, rulesStepsHeaders = _a.rulesStepsHeaders, GameOver = _a.GameOver, GameOverRule = _a.GameOverRule, props = __rest(_a, ["loading", "rulesStepsHeaders", "GameOver", "GameOverRule"]);
37
39
  var t = (0, react_i18next_1.useTranslation)().t;
38
40
  var game = (0, hooks_1.useGame)();
41
+ var cancelled = (0, react_redux_1.useSelector)(function (state) { return state.players.every(function (player) { return player.quit; }); });
42
+ var gameOver = (0, react_redux_1.useSelector)(function (state) { return !!state.gameOver; }) || !(game === null || game === void 0 ? void 0 : game.rule);
43
+ var victoryClaim = gameOver && (game === null || game === void 0 ? void 0 : game.rule);
39
44
  var RulesStepsHeader = (game === null || game === void 0 ? void 0 : game.rule) ? rulesStepsHeaders[game.rule.id] : undefined;
40
- return ((0, jsx_runtime_1.jsx)(Header_1.Header, __assign({}, props, { children: loading ? t('Game loading...')
41
- : RulesStepsHeader ? (0, jsx_runtime_1.jsx)(RulesStepsHeader, {})
42
- : (game === null || game === void 0 ? void 0 : game.rule) !== undefined ? t("TODO: header for rule id ".concat(game.rule.id))
43
- : GameOver ? (0, jsx_runtime_1.jsx)(GameOver, {}) : (0, jsx_runtime_1.jsx)(GameOverHeader, { GameOverRule: GameOverRule }) })));
45
+ return ((0, jsx_runtime_1.jsx)(Header_1.Header, __assign({}, props, { children: (loading || !game) ? t('Game loading...')
46
+ : gameOver ? (cancelled ? t('game.cancelled')
47
+ : victoryClaim ? (0, jsx_runtime_1.jsx)(ShowVictoryClaim, {})
48
+ : GameOver ? (0, jsx_runtime_1.jsx)(GameOver, {})
49
+ : (0, jsx_runtime_1.jsx)(GameOverHeader, { GameOverRule: GameOverRule })) : RulesStepsHeader ? (0, jsx_runtime_1.jsx)(RulesStepsHeader, {})
50
+ : t("TODO: header for rule id ".concat((_b = game === null || game === void 0 ? void 0 : game.rule) === null || _b === void 0 ? void 0 : _b.id)) })));
44
51
  };
45
52
  exports.MaterialHeader = MaterialHeader;
46
53
  var GameOverHeader = function (_a) {
@@ -51,4 +58,16 @@ var GameOverHeader = function (_a) {
51
58
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: resultText });
52
59
  return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("span", { children: [resultText, "\u00A0", (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: faCircleQuestion_1.faCircleQuestion, onClick: function () { return setDialogOpen(true); }, css: css_1.pointerCursorCss })] }), (0, jsx_runtime_1.jsx)(dialogs_1.RulesDialog, __assign({ open: dialogOpen, close: function () { return setDialogOpen(false); } }, { children: (0, jsx_runtime_1.jsx)(GameOverRule, {}) }))] });
53
60
  };
61
+ var ShowVictoryClaim = function () {
62
+ var t = (0, react_i18next_1.useTranslation)().t;
63
+ var winnerId = (0, react_redux_1.useSelector)(function (state) { var _a; return (_a = state.players.find(function (p) { return !p.quit; })) === null || _a === void 0 ? void 0 : _a.id; });
64
+ var player = (0, hooks_1.usePlayerName)(winnerId);
65
+ var playerId = (0, hooks_1.usePlayerId)();
66
+ if (playerId === winnerId) {
67
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: t('game.over.concede.victory') });
68
+ }
69
+ else {
70
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: t('game.over.concede', { player: player }) });
71
+ }
72
+ };
54
73
  //# sourceMappingURL=MaterialHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialHeader.js","sourceRoot":"","sources":["../../../src/components/Header/MaterialHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yFAAuF;AACvF,oEAAgE;AAEhE,+BAA+C;AAC/C,+CAA8C;AAC9C,iCAA4C;AAC5C,qCAAoD;AACpD,sCAAwC;AACxC,mCAA8C;AASvC,IAAM,cAAc,GAAG,UAC5B,EAAgG;IAA9F,IAAA,OAAO,aAAA,EAAE,iBAAiB,uBAAA,EAAE,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAK,KAAK,cAA9D,4DAAgE,CAAF;IAEtD,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IAC9B,IAAM,IAAI,GAAG,IAAA,eAAO,GAAgB,CAAA;IACpC,IAAM,gBAAgB,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjF,OAAO,CACL,uBAAC,eAAM,eAAK,KAAK,cAEb,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,uBAAC,gBAAgB,KAAE;gBACtC,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,mCAA4B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC;oBACxE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAC,QAAQ,KAAE,CAAC,CAAC,CAAC,uBAAC,cAAc,IAAC,YAAY,EAAE,YAAY,GAAG,IAEzE,CACV,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,cAAc,kBAgB1B;AAED,IAAM,cAAc,GAAG,UAAC,EAAkD;QAAhD,YAAY,kBAAA;IACpC,IAAM,UAAU,GAAG,IAAA,qBAAa,GAAE,CAAA;IAC5B,IAAA,KAA8B,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAA5C,UAAU,QAAA,EAAE,aAAa,QAAmB,CAAA;IAEnD,IAAI,CAAC,YAAY;QAAE,OAAO,2DAAG,UAAU,GAAI,CAAA;IAC3C,OAAO,6DACL,6CAAO,UAAU,YAAO,uBAAC,mCAAe,IAAC,IAAI,EAAE,mCAAgB,EAAE,OAAO,EAAE,cAAM,OAAA,aAAa,CAAC,IAAI,CAAC,EAAnB,CAAmB,EAAE,GAAG,EAAE,sBAAgB,GAAG,IAAO,EACpI,uBAAC,qBAAW,aAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAM,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,gBAC9D,uBAAC,YAAY,KAAE,IACH,IACb,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"MaterialHeader.js","sourceRoot":"","sources":["../../../src/components/Header/MaterialHeader.tsx"],"names":[],"mappings":"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"}
@@ -69,9 +69,22 @@ var ResultDialog = function (_a) {
69
69
  var tournament = (0, react_redux_1.useSelector)(function (state) { return state.tournament; });
70
70
  var ranks = players.map(function (_) { return 1; });
71
71
  if ((0, rules_api_1.isCompetitive)(rules) && players.length > 1) {
72
- players.sort(function (playerA, playerB) { return (0, rules_api_1.rankPlayers)(rules, playerA.id, playerB.id); });
72
+ players.sort(function (playerA, playerB) {
73
+ if (playerA.quit || playerB.quit) {
74
+ return playerA.quit ? playerB.quit ? 0 : 1 : -1;
75
+ }
76
+ return (0, rules_api_1.rankPlayers)(rules, playerA.id, playerB.id);
77
+ });
73
78
  for (var i = 1; i < players.length; i++) {
74
- ranks[i] = (0, rules_api_1.rankPlayers)(rules, players[i - 1].id, players[i].id) === 0 ? ranks[i - 1] : i + 1;
79
+ if (players[i - 1].quit) {
80
+ ranks[i] = ranks[i - 1];
81
+ }
82
+ else if (players[i].quit) {
83
+ ranks[i] = ranks[i - 1] + 1;
84
+ }
85
+ else {
86
+ ranks[i] = (0, rules_api_1.rankPlayers)(rules, players[i - 1].id, players[i].id) === 0 ? ranks[i - 1] : ranks[i - 1] + 1;
87
+ }
75
88
  }
76
89
  }
77
90
  var rows = gameMode === react_client_1.GameMode.TOURNAMENT ? 3 : gameMode === react_client_1.GameMode.COMPETITIVE ? 2 : 1;
@@ -1 +1 @@
1
- {"version":3,"file":"ResultDialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/ResultDialog/ResultDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResultDialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/ResultDialog/ResultDialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAoC;AACpC,uEAAqE;AACrE,qEAAmE;AACnE,oEAAgE;AAChE,uDAAsF;AACtF,iDAAgE;AAChE,+BAAkC;AAClC,+CAA8C;AAC9C,2CAAyC;AACzC,oCAA+C;AAC/C,wCAAmF;AACnF,uCAAqC;AACrC,mDAAiD;AACjD,wDAAsD;AACtD,+CAA6C;AAC7C,qCAAmC;AACnC,mDAAgD;AAChD,0EAA+D;AAC/D,2EAAyE;AAOzE,IAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACzD,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAA;AAC1C,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAEzB,IAAM,YAAY,GAAG,UAAC,EAAsC;IAApC,IAAA,UAAU,gBAAA,EAAE,KAAK,WAAA,EAAK,KAAK,cAA7B,uBAA+B,CAAF;IAChD,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IAC9B,IAAM,OAAO,qBAAO,IAAA,kBAAU,GAAE,OAAC,CAAA;IACjC,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,0BAAW,CAAC,CAAA;IACvC,IAAM,KAAK,GAAG,IAAA,gBAAQ,GAAG,CAAA;IACzB,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,QAAQ,EAAd,CAAc,CAAC,CAAA;IACtE,IAAM,UAAU,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,UAAU,EAAhB,CAAgB,CAAC,CAAA;IAC1E,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC,CAAC,CAAA;IACjC,IAAI,IAAA,yBAAa,EAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,OAAO,CAAC,IAAI,CAAC,UAAC,OAAO,EAAE,OAAO;YAC5B,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aAChD;YACD,OAAO,IAAA,uBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;gBACvB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;aACxB;iBAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC1B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;aAC5B;iBAAM;gBACL,KAAK,CAAC,CAAC,CAAC,GAAG,IAAA,uBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;aACxG;SACF;KACF;IACD,IAAM,IAAI,GAAG,QAAQ,KAAK,uBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7F,IAAM,UAAU,GAAG,IAAA,qBAAa,GAAE,CAAA;IAClC,OAAO,CACL,wBAAC,eAAM,aAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAM,KAAK,eACnD,uBAAC,mCAAe,IAAC,IAAI,EAAE,iBAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,GAAG,EACjE,yCAAK,UAAU,GAAM,EACpB,QAAQ,KAAK,uBAAQ,CAAC,UAAU,IAAI,UAAU;gBAC7C,uBAAC,qBAAS,aAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAG,2BAAY,cAAI,MAAM,0BAAgB,OAAO,CAAC,IAAI,0BAAgB,UAAU,CAAC,MAAM,CAAE,gBACtH,CAAC,CAAC,wBAAwB,CAAC,IAClB,EAEb,QAAQ,KAAK,uBAAQ,CAAC,WAAW;gBAChC,uBAAC,qBAAS,aAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAG,2BAAY,cAAI,MAAM,0BAAgB,OAAO,CAAC,IAAI,2BAAwB,gBAC3G,CAAC,CAAC,YAAY,CAAC,IACN,EAEd,0CAAK,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,iBACxF,IAAI,GAAG,CAAC,IAAI,iCAAM,EAClB,QAAQ,KAAK,uBAAQ,CAAC,UAAU,IAAI,yCAAK,GAAG,EAAE,SAAS,gBAAG,CAAC,CAAC,YAAY,CAAC,IAAO,EAChF,CAAC,QAAQ,KAAK,uBAAQ,CAAC,UAAU,IAAI,QAAQ,KAAK,uBAAQ,CAAC,WAAW,CAAC,IAAI,yCAAK,GAAG,EAAE,SAAS,gBAAG,CAAC,CAAC,SAAS,CAAC,IAAO,EACpH,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK;wBACzB,OAAA,uBAAC,aAAa,IAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAC9C,IAAI,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,IADvF,KAAK,CACqF;oBAD9G,CAC8G,CAAC,KAE7G,EACL,QAAQ,KAAK,uBAAQ,CAAC,QAAQ;gBAC7B,4CACE,uCAAG,GAAG,MAAE,WAAG,gGAAA,4BAA4B,oBAAG,CAAC,CAAC,WAAW,CAAC,IAAK,EAC7D,wCAAG,GAAG,EAAE,WAAW,iBACjB,uBAAC,6CAAqB,KAAE,EACxB,wBAAC,qBAAS,aAAC,GAAG,EAAE,UAAG,2BAAY,cAAI,MAAM,0BAAgB,OAAO,CAAC,IAAI,UAAO,EAAE,GAAG,MAAE,WAAG,uFAAA,mBAAmB,qBACvG,uBAAC,mCAAe,IAAC,IAAI,EAAE,kCAAW,GAAG,EAAC,CAAC,CAAC,MAAM,CAAC,KACrC,KACV,IACA,EAEP,MAAM,KAAK,IAAI,IAAI,uBAAC,+BAAc,IAAC,UAAU,EAAE,UAAU,GAAG,KACtD,CACV,CAAA;AACH,CAAC,CAAA;AAhEY,QAAA,YAAY,gBAgExB;AAED,IAAM,aAAa,GAAG,UAAC,EAA2G;QAAzG,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,MAAM,YAAA;IACrD,IAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3C,OAAO,6DACL,0CAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,CAAC,iBACxC,0CAAK,GAAG,EAAE,eAAe,iBACvB,uBAAC,eAAM,IAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,EAC7C,IAAI,KAAK,SAAS,IAAI,uBAAC,aAAK,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,GAAG,KACtD,EACN,2CAAO,UAAU,GAAQ,KACrB,EACL,QAAQ,KAAK,uBAAQ,CAAC,UAAU;gBAC/B,yCAAK,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,gBAC9B,CAAC,CAAC,MAAM,CAAC,gBAAgB,IAAI,6DAAE,uBAAC,mCAAe,IAAC,IAAI,EAAE,mBAAQ,EAAE,GAAG,EAAE,UAAU,GAAG,EAAA,kDAAQ,MAAM,CAAC,gBAAgB,IAAQ,IAAG,IACzH,EAEP,CAAC,QAAQ,KAAK,uBAAQ,CAAC,UAAU,IAAI,QAAQ,KAAK,uBAAQ,CAAC,WAAW,CAAC;gBACtE,yCAAK,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,gBAC/B,uBAAC,uBAAU,IAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,GAAG,IAC9B,IAEP,CAAA;AACL,CAAC,CAAA;AAED,IAAM,KAAK,OAAG,WAAG,+JAAA,2FAOhB,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,wKAAA,oGAMpB,IAAA,CAAA;AAED,IAAM,UAAU,OAAG,WAAG,qHAAA,iDAGrB,IAAA,CAAA;AAED,IAAM,OAAO,OAAG,WAAG,0JAAA,sFAOlB,IAAA,CAAA;AAED,IAAM,SAAS,GAAG,UAAC,OAAe,EAAE,IAAY,IAAK,WAAA,WAAG,qKAAA,yCACjB,EAAO,wCACf,EAAI,YAClC,KAFsC,OAAO,EACf,IAAI,GAFkB,CAGpD,CAAA;AAED,IAAM,SAAS,GAAG,UAAC,OAAe,IAAK,WAAA,WAAG,+IAAA,oCACR,EAAO,qCAExC,KAFiC,OAAO,GADF,CAGtC,CAAA;AAED,IAAM,eAAe,OAAG,WAAG,0JAAA,sFAK1B,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,gIAAA,0DAIpB,IAAA,CAAA;AAED,IAAM,QAAQ,OAAG,WAAG,uLAAA,iHAOnB,IAAA,CAAA;AAED,IAAM,QAAQ,OAAG,WAAG,iGAAA,2BAEnB,IAAA,CAAA;AAED,IAAM,UAAU,OAAG,WAAG,+GAAA,yCAErB,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,8GAAA,wCAEpB,IAAA,CAAA;AAED,IAAM,UAAU,OAAG,WAAG,6FAAA,uBAErB,IAAA,CAAA;AAED,IAAM,WAAW,OAAG,WAAG,6IAAA,uEAItB,IAAA,CAAA"}
@@ -24,9 +24,11 @@ var react_client_1 = require("@gamepark/react-client");
24
24
  var react_2 = require("react");
25
25
  var react_i18next_1 = require("react-i18next");
26
26
  var react_redux_1 = require("react-redux");
27
+ var hooks_1 = require("../../../hooks");
27
28
  var dialogs_1 = require("../../dialogs");
28
29
  var menuCss_1 = require("../menuCss");
29
- var hooks_1 = require("../../../hooks");
30
+ var query = new URLSearchParams(window.location.search);
31
+ var gameId = query.get('game');
30
32
  var GiveUpButton = function () {
31
33
  var t = (0, react_i18next_1.useTranslation)().t;
32
34
  var giveUp = (0, hooks_1.useGiveUp)()[0];
@@ -36,11 +38,35 @@ var GiveUpButton = function () {
36
38
  setDisplayPopup(false);
37
39
  };
38
40
  var gameMode = (0, react_redux_1.useSelector)(function (state) { return state.gameMode; });
39
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("button", __assign({ css: [menuCss_1.menuButtonCss, buttonCss], onClick: function () { return setDisplayPopup(true); } }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_regular_svg_icons_1.faFlag }), t('Give up')] })), (0, jsx_runtime_1.jsxs)(dialogs_1.Dialog, __assign({ open: displayPopup, css: menuCss_1.menuDialogCss, onBackdropClick: function () { return setDisplayPopup(false); } }, { children: [(0, jsx_runtime_1.jsx)("h2", { children: t('Give up the game') }), (0, jsx_runtime_1.jsx)("p", { children: t('give-up.dialog.p1') }), (0, jsx_runtime_1.jsxs)("p", { children: [gameMode === react_client_1.GameMode.FRIENDLY ? t('give-up.dialog.p3') : t('give-up.dialog.p2'), " "] }), (0, jsx_runtime_1.jsx)("p", { children: gameMode === react_client_1.GameMode.TOURNAMENT && t('give-up.dialog.p4') }), (0, jsx_runtime_1.jsxs)("div", __assign({ css: buttonLineCss }, { children: [(0, jsx_runtime_1.jsx)("button", __assign({ css: [menuCss_1.menuButtonCss, inDialogButton], onClick: function () { return setDisplayPopup(false); } }, { children: t('Cancel') })), (0, jsx_runtime_1.jsxs)("button", __assign({ css: [menuCss_1.menuButtonCss, buttonCss, inDialogButton], onClick: onGiveUp }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_regular_svg_icons_1.faFlag }), t('Give up')] }))] }))] }))] }));
41
+ var playerIsLast = (0, react_redux_1.useSelector)(function (state) {
42
+ return state.playerId !== undefined && state.players.every(function (player) { return player.quit || player.id === state.playerId; });
43
+ });
44
+ (0, react_2.useEffect)(function () {
45
+ if (playerIsLast)
46
+ setDisplayPopup(true);
47
+ }, [playerIsLast]);
48
+ var onClaimVictory = function () {
49
+ if (gameId) {
50
+ new react_client_1.GameClientAPI(gameId).claimVictory();
51
+ }
52
+ setDisplayPopup(false);
53
+ };
54
+ var _b = (0, react_2.useState)(false), displayedLongEnough = _b[0], setDisplayedLongEnough = _b[1];
55
+ (0, react_2.useEffect)(function () {
56
+ if (!displayPopup) {
57
+ setDisplayedLongEnough(false);
58
+ }
59
+ else {
60
+ var timeout_1 = setTimeout(function () { return setDisplayedLongEnough(true); }, 200);
61
+ return function () { return clearTimeout(timeout_1); };
62
+ }
63
+ }, [displayPopup]);
64
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("button", __assign({ css: [menuCss_1.menuButtonCss, buttonCss], onClick: function () { return setDisplayPopup(true); } }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_regular_svg_icons_1.faFlag }), t('giveup')] })), (0, jsx_runtime_1.jsx)(dialogs_1.Dialog, __assign({ open: displayPopup, css: [menuCss_1.menuDialogCss, (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["max-width: 90dvw;"], ["max-width: 90dvw;"])))], onBackdropClick: function () { return setDisplayPopup(false); } }, { children: playerIsLast ? (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h2", { children: t('giveup.last') }), gameMode === react_client_1.GameMode.TOURNAMENT ? (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", { children: t('giveup.last.choice.tournament') }), (0, jsx_runtime_1.jsx)("button", __assign({ css: [menuCss_1.menuButtonCss, inDialogButton], onClick: onClaimVictory, disabled: !displayedLongEnough }, { children: t('giveup.last.claim') }))] }) : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", { children: t('giveup.last.choice') }), gameMode === react_client_1.GameMode.COMPETITIVE &&
65
+ (0, jsx_runtime_1.jsx)("p", { children: t('giveup.last.choice.competitive') }), (0, jsx_runtime_1.jsxs)("div", __assign({ css: buttonLineCss }, { children: [(0, jsx_runtime_1.jsx)("button", __assign({ css: [menuCss_1.menuButtonCss, buttonCss, inDialogButton], onClick: onGiveUp, disabled: !displayedLongEnough }, { children: t('giveup.last.cancel') })), (0, jsx_runtime_1.jsx)("button", __assign({ css: [menuCss_1.menuButtonCss, inDialogButton], onClick: function () { return setDisplayPopup(false); }, disabled: !displayedLongEnough }, { children: t('giveup.last.continue') })), (0, jsx_runtime_1.jsx)("button", __assign({ css: [menuCss_1.menuButtonCss, inDialogButton], onClick: onClaimVictory, disabled: !displayedLongEnough }, { children: t('giveup.last.claim') }))] }))] })] }) : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h2", { children: t('giveup.title') }), (0, jsx_runtime_1.jsx)("p", { children: t('giveup.robot') }), (0, jsx_runtime_1.jsxs)("p", { children: [gameMode === react_client_1.GameMode.FRIENDLY ? t('giveup.friendly') : t('giveup.competitive'), " "] }), (0, jsx_runtime_1.jsx)("p", { children: gameMode === react_client_1.GameMode.TOURNAMENT && t('giveup.tournament') }), (0, jsx_runtime_1.jsxs)("div", __assign({ css: buttonLineCss }, { children: [(0, jsx_runtime_1.jsx)("button", __assign({ css: [menuCss_1.menuButtonCss, inDialogButton], onClick: function () { return setDisplayPopup(false); }, disabled: !displayedLongEnough }, { children: t('Cancel') })), (0, jsx_runtime_1.jsxs)("button", __assign({ css: [menuCss_1.menuButtonCss, buttonCss, inDialogButton], onClick: onGiveUp, disabled: !displayedLongEnough }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_regular_svg_icons_1.faFlag }), t('giveup')] }))] }))] }) }))] }));
40
66
  };
41
67
  exports.GiveUpButton = GiveUpButton;
42
- var buttonCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: darkred;\n border-color: darkred;\n\n &:focus, &:hover {\n background: #ffd7d7;\n }\n\n &:active {\n background: #ffbebe;\n }\n"], ["\n color: darkred;\n border-color: darkred;\n\n &:focus, &:hover {\n background: #ffd7d7;\n }\n\n &:active {\n background: #ffbebe;\n }\n"])));
43
- var buttonLineCss = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin-top: 1em;\n display: flex;\n justify-content: space-between;\n"], ["\n margin-top: 1em;\n display: flex;\n justify-content: space-between;\n"])));
44
- var inDialogButton = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n margin: 0;\n"], ["\n margin: 0;\n"])));
45
- var templateObject_1, templateObject_2, templateObject_3;
68
+ var buttonCss = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: darkred;\n border-color: darkred;\n\n &:focus, &:hover {\n background: #ffd7d7;\n }\n\n &:active {\n background: #ffbebe;\n }\n"], ["\n color: darkred;\n border-color: darkred;\n\n &:focus, &:hover {\n background: #ffd7d7;\n }\n\n &:active {\n background: #ffbebe;\n }\n"])));
69
+ var buttonLineCss = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n margin-top: 1em;\n display: flex;\n justify-content: space-between;\n"], ["\n margin-top: 1em;\n display: flex;\n justify-content: space-between;\n"])));
70
+ var inDialogButton = (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin: 0;\n"], ["\n margin: 0;\n"])));
71
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
46
72
  //# sourceMappingURL=GiveUpButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiveUpButton.js","sourceRoot":"","sources":["../../../../src/components/menus/GiveUpButton/GiveUpButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AACA,wCAAoC;AACpC,8EAA4D;AAC5D,oEAAgE;AAChE,uDAAgE;AAChE,+BAAgC;AAChC,+CAA8C;AAC9C,2CAAyC;AACzC,yCAAsC;AACtC,sCAAyD;AACzD,wCAA0C;AAEnC,IAAM,YAAY,GAAG;IAClB,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IACvB,IAAA,MAAM,GAAI,IAAA,iBAAS,GAAE,GAAf,CAAe;IACtB,IAAA,KAAkC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAA;IACvD,IAAM,QAAQ,GAAG;QACf,MAAM,EAAE,CAAA;QACR,eAAe,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC,CAAA;IACD,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAAgB,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,QAAQ,EAAd,CAAc,CAAC,CAAA;IAEpE,OAAO,CACL,6DACE,6CAAQ,GAAG,EAAE,CAAC,uBAAa,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,IAAI,CAAC,EAArB,CAAqB,iBAC3E,uBAAC,mCAAe,IAAC,IAAI,EAAE,+BAAM,GAAG,EAC/B,CAAC,CAAC,SAAS,CAAC,KACN,EACT,wBAAC,gBAAM,aAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,uBAAa,EAAE,eAAe,EAAE,cAAM,OAAA,eAAe,CAAC,KAAK,CAAC,EAAtB,CAAsB,iBAC3F,yCAAK,CAAC,CAAC,kBAAkB,CAAC,GAAM,EAChC,wCAAI,CAAC,CAAC,mBAAmB,CAAC,GAAK,EAC/B,0CAAI,QAAQ,KAAK,uBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAM,EAC1F,wCAAI,QAAQ,KAAK,uBAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,mBAAmB,CAAC,GAAK,EACnE,0CAAK,GAAG,EAAE,aAAa,iBACrB,4CAAQ,GAAG,EAAE,CAAC,uBAAa,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,KAAK,CAAC,EAAtB,CAAsB,gBAAG,CAAC,CAAC,QAAQ,CAAC,IAAU,EAC3G,6CAAQ,GAAG,EAAE,CAAC,uBAAa,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,iBACxE,uBAAC,mCAAe,IAAC,IAAI,EAAE,+BAAM,GAAG,EAC/B,CAAC,CAAC,SAAS,CAAC,KACN,KACL,KACC,IACR,CACJ,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,YAAY,gBA+BxB;AAED,IAAM,SAAS,OAAG,WAAG,2NAAA,uJAWpB,IAAA,CAAA;AAED,IAAM,aAAa,OAAG,WAAG,iJAAA,6EAIxB,IAAA,CAAA;AAED,IAAM,cAAc,OAAG,WAAG,sFAAA,kBAEzB,IAAA,CAAA"}
1
+ {"version":3,"file":"GiveUpButton.js","sourceRoot":"","sources":["../../../../src/components/menus/GiveUpButton/GiveUpButton.tsx"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ var react_2 = require("react");
30
30
  var react_i18next_1 = require("react-i18next");
31
31
  var react_redux_1 = require("react-redux");
32
32
  var dialogs_1 = require("../../dialogs");
33
+ var PlayerQuit_1 = require("../PlayerQuit");
33
34
  var TimeStatsButton_1 = require("../TimeStatsButton");
34
35
  var Result_1 = require("../Result");
35
36
  var Fullscreen_1 = require("../Fullscreen");
@@ -82,7 +83,7 @@ var Menu = function () {
82
83
  }, [resultDialogOpen]);
83
84
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { css: [exports.backdrop, isOpen && exports.displayBackdrop], onClick: function () { return setOpen(false); } }), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerPopButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoPopButton, {}), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultPopButton, { onClick: function () { return setResultDialogOpen(true); } }), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenPopButton, {}), (0, jsx_runtime_1.jsxs)("div", __assign({ css: [menuCss_1.menuFontSize, menuCss_1.menuBaseCss, menuCss, !isOpen && hide] }, { children: [(0, jsx_runtime_1.jsx)("h2", __assign({ css: titleCss }, { children: t('Menu') })), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenButton, {}), (0, jsx_runtime_1.jsx)(SoundButton_1.SoundButton, {}), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoButton, {}), canGiveUp && (0, jsx_runtime_1.jsx)(GiveUpButton_1.GiveUpButton, {}), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), (options === null || options === void 0 ? void 0 : options.speed) === rules_api_1.GameSpeed.RealTime && (0, jsx_runtime_1.jsx)(TimeStatsButton_1.TimeStatsButton, {}), gameMode === react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(RestartTutorialButton_1.RestartTutorialButton, {}), (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game) }, { children: [(0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { css: buttonLogoIcon }), t('Back to Game Park')] })), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultButton, { onClick: function () { return setResultDialogOpen(true); } }), canPlayAgain &&
84
85
  (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/play") }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChessPawn }), t('Play again')] })), goToRanking &&
85
- (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/ranking") }, { children: [(0, jsx_runtime_1.jsx)(GamePoints_1.GamePointIcon, { css: gamePointIconStyle }), t('See overall ranking')] }))] })), (0, jsx_runtime_1.jsx)("button", __assign({ "aria-label": t('Menu'), title: t('Menu'), css: mainButtonCss, onClick: function () { return setOpen(!isOpen); } }, { children: isOpen ? (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faTimes, css: iconStyle }) : (0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { fill: "white" }) })), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerDialog, { open: ejectPlayerDialogOpen, close: function () { return setEjectPlayerDialogOpen(false); } }), gameOver && (0, jsx_runtime_1.jsx)(dialogs_1.ResultDialog, { open: resultDialogOpen, openDialog: function () { return setResultDialogOpen(true); }, close: function () { return setResultDialogOpen(false); } }), chatEnable && gameId && (0, jsx_runtime_1.jsx)(Chat_1.Chat, { gameId: gameId })] }));
86
+ (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/ranking") }, { children: [(0, jsx_runtime_1.jsx)(GamePoints_1.GamePointIcon, { css: gamePointIconStyle }), t('See overall ranking')] }))] })), (0, jsx_runtime_1.jsx)("button", __assign({ "aria-label": t('Menu'), title: t('Menu'), css: mainButtonCss, onClick: function () { return setOpen(!isOpen); } }, { children: isOpen ? (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faTimes, css: iconStyle }) : (0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { fill: "white" }) })), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerDialog, { open: ejectPlayerDialogOpen, close: function () { return setEjectPlayerDialogOpen(false); } }), !gameOver && (0, jsx_runtime_1.jsx)(PlayerQuit_1.TrackPlayersQuit, {}), gameOver && (0, jsx_runtime_1.jsx)(dialogs_1.ResultDialog, { open: resultDialogOpen, openDialog: function () { return setResultDialogOpen(true); }, close: function () { return setResultDialogOpen(false); } }), chatEnable && gameId && (0, jsx_runtime_1.jsx)(Chat_1.Chat, { gameId: gameId })] }));
86
87
  };
87
88
  exports.Menu = Menu;
88
89
  var mainButtonCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n z-index: 1000;\n background: #28B8CE;\n height: 2.5em;\n width: 2.5em;\n\n &:focus, &:hover {\n background: #24a5b9;\n }\n\n &:active {\n background: #2092a3;\n }\n\n svg {\n position: relative;\n width: 70%;\n height: 60%;\n }\n"], ["\n ", ";\n z-index: 1000;\n background: #28B8CE;\n height: 2.5em;\n width: 2.5em;\n\n &:focus, &:hover {\n background: #24a5b9;\n }\n\n &:active {\n background: #2092a3;\n }\n\n svg {\n position: relative;\n width: 70%;\n height: 60%;\n }\n"])), menuCss_1.menuFloatingButtonCss);
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/menus/Menu/Menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/menus/Menu/Menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const TrackPlayersQuit: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.TrackPlayersQuit = void 0;
15
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
16
+ var react_client_1 = require("@gamepark/react-client");
17
+ var react_1 = require("react");
18
+ var react_i18next_1 = require("react-i18next");
19
+ var react_redux_1 = require("react-redux");
20
+ var hooks_1 = require("../../../hooks");
21
+ var dialogs_1 = require("../../dialogs");
22
+ var menuCss_1 = require("../menuCss");
23
+ var TrackPlayersQuit = function () {
24
+ var players = (0, react_redux_1.useSelector)(function (state) { return state.players; });
25
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: players.map(function (player) { return (0, jsx_runtime_1.jsx)(TrackPlayerQuit, { player: player }, player.id); }) });
26
+ };
27
+ exports.TrackPlayersQuit = TrackPlayersQuit;
28
+ var TrackPlayerQuit = function (_a) {
29
+ var player = _a.player;
30
+ var t = (0, react_i18next_1.useTranslation)().t;
31
+ var _b = (0, react_1.useState)(false), open = _b[0], setOpen = _b[1];
32
+ var me = (0, react_client_1.useMe)();
33
+ var playerName = (0, hooks_1.usePlayerName)(player.id);
34
+ var alreadyQuit = (0, react_1.useState)(player.quit)[0];
35
+ (0, react_1.useEffect)(function () {
36
+ if (!alreadyQuit && player.quit)
37
+ setOpen(true);
38
+ }, [player.quit]);
39
+ if (!player.quit)
40
+ return null;
41
+ return (0, jsx_runtime_1.jsxs)(dialogs_1.Dialog, __assign({ css: menuCss_1.menuDialogCss, open: open }, { children: [(0, jsx_runtime_1.jsx)("p", { children: player.userId === (me === null || me === void 0 ? void 0 : me.user.id) ? (player.quitReason === react_client_1.PlayerQuitReason.Ejected ?
42
+ t('quit.you.ejected')
43
+ : t('quit.you')) : (player.quitReason === react_client_1.PlayerQuitReason.Ejected ?
44
+ t('quit.player.ejected', { player: playerName })
45
+ : t('quit.player', { player: playerName })) }), (0, jsx_runtime_1.jsx)("button", __assign({ css: menuCss_1.menuButtonCss, onClick: function () { return setOpen(false); } }, { children: t('OK') }))] }));
46
+ };
47
+ //# sourceMappingURL=TrackPlayersQuit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackPlayersQuit.js","sourceRoot":"","sources":["../../../../src/components/menus/PlayerQuit/TrackPlayersQuit.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,uDAAuF;AACvF,+BAA2C;AAC3C,+CAA8C;AAC9C,2CAAyC;AACzC,wCAA8C;AAC9C,yCAAsC;AACtC,sCAAyD;AAElD,IAAM,gBAAgB,GAAG;IAC9B,IAAM,OAAO,GAAG,IAAA,yBAAW,EAA0B,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,OAAO,EAAb,CAAa,CAAC,CAAA;IAC5E,OAAO,2DAAG,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,uBAAC,eAAe,IAAiB,MAAM,EAAE,MAAM,IAAzB,MAAM,CAAC,EAAE,CAAmB,EAAlD,CAAkD,CAAC,GAAI,CAAA;AACzF,CAAC,CAAA;AAHY,QAAA,gBAAgB,oBAG5B;AAED,IAAM,eAAe,GAAG,UAAC,EAA8B;QAA5B,MAAM,YAAA;IACvB,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IACxB,IAAA,KAAkB,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhC,IAAI,QAAA,EAAE,OAAO,QAAmB,CAAA;IACvC,IAAM,EAAE,GAAG,IAAA,oBAAK,GAAE,CAAA;IAClB,IAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACpC,IAAA,WAAW,GAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,GAAzB,CAAyB;IAC3C,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACjB,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,OAAO,wBAAC,gBAAM,aAAC,GAAG,EAAE,uBAAa,EAAE,IAAI,EAAE,IAAI,iBAC3C,wCAAI,MAAM,CAAC,MAAM,MAAK,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,CAAC,EAAE,CAAA,CAAC,CAAC,CAAC,CAClC,MAAM,CAAC,UAAU,KAAK,+BAAgB,CAAC,OAAO,CAAC,CAAC;oBAC9C,CAAC,CAAC,kBAAkB,CAAC;oBACrB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAClB,CAAC,CAAC,CAAC,CACF,MAAM,CAAC,UAAU,KAAK,+BAAgB,CAAC,OAAO,CAAC,CAAC;oBAC9C,CAAC,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;oBAChD,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAC7C,GACI,EACL,4CAAQ,GAAG,EAAE,uBAAa,EAAE,OAAO,EAAE,cAAM,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,gBAAG,CAAC,CAAC,IAAI,CAAC,IAAU,KACtE,CAAA;AACX,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './TrackPlayersQuit';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./TrackPlayersQuit"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/menus/PlayerQuit/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC"}
@@ -1,5 +1,6 @@
1
1
  export * from './Fullscreen';
2
2
  export * from './GiveUpButton';
3
3
  export * from './Menu';
4
+ export * from './PlayerQuit';
4
5
  export * from './Result';
5
6
  export * from './TimeStatsButton';
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Fullscreen"), exports);
18
18
  __exportStar(require("./GiveUpButton"), exports);
19
19
  __exportStar(require("./Menu"), exports);
20
+ __exportStar(require("./PlayerQuit"), exports);
20
21
  __exportStar(require("./Result"), exports);
21
22
  __exportStar(require("./TimeStatsButton"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/menus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,iDAA8B;AAC9B,yCAAsB;AACtB,2CAAwB;AACxB,oDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/menus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,iDAA8B;AAC9B,yCAAsB;AACtB,+CAA4B;AAC5B,2CAAwB;AACxB,oDAAiC"}
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useLegalMove = exports.useLegalMoves = void 0;
4
4
  var react_1 = require("react");
5
- var useRules_1 = require("./useRules");
5
+ var react_redux_1 = require("react-redux");
6
6
  var usePlayerId_1 = require("./usePlayerId");
7
+ var useRules_1 = require("./useRules");
7
8
  var cache = {
8
9
  game: undefined,
9
10
  moves: []
@@ -11,13 +12,16 @@ var cache = {
11
12
  function useLegalMoves(predicate) {
12
13
  var rules = (0, useRules_1.useRules)();
13
14
  var playerId = (0, usePlayerId_1.usePlayerId)();
15
+ var gameOver = (0, react_redux_1.useSelector)(function (state) { return state.gameOver; });
14
16
  if (rules && playerId !== undefined && cache.game !== rules.game) {
15
17
  cache.game = rules.game;
16
18
  cache.moves = rules.getLegalMoves(playerId);
17
19
  }
18
20
  return (0, react_1.useMemo)(function () {
21
+ if (gameOver)
22
+ return [];
19
23
  return predicate ? cache.moves.filter(predicate) : cache.moves;
20
- }, [cache.moves, predicate]);
24
+ }, [cache.moves, predicate, gameOver]);
21
25
  }
22
26
  exports.useLegalMoves = useLegalMoves;
23
27
  function useLegalMove(predicate) {
@@ -1 +1 @@
1
- {"version":3,"file":"useLegalMoves.js","sourceRoot":"","sources":["../../src/hooks/useLegalMoves.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,uCAAqC;AACrC,6CAA2C;AAO3C,IAAM,KAAK,GAAU;IACnB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,EAAE;CACV,CAAA;AAED,SAAgB,aAAa,CAAa,SAAmC;IAC3E,IAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAA;IACxB,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAI,KAAK,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;QAChE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;KAC5C;IACD,OAAO,IAAA,eAAO,EAAC;QACX,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAChE,CAAC,EACD,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;AAC7B,CAAC;AAXD,sCAWC;AAED,SAAgB,YAAY,CAAa,SAAmC;IAC1E,IAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAChD,CAAC;AAHD,oCAGC"}
1
+ {"version":3,"file":"useLegalMoves.js","sourceRoot":"","sources":["../../src/hooks/useLegalMoves.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2CAAyC;AAEzC,6CAA2C;AAC3C,uCAAqC;AAOrC,IAAM,KAAK,GAAU;IACnB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,EAAE;CACV,CAAA;AAED,SAAgB,aAAa,CAAa,SAAmC;IAC3E,IAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAA;IACxB,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,QAAQ,EAAd,CAAc,CAAC,CAAA;IACtE,IAAI,KAAK,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;QAChE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;KAC5C;IACD,OAAO,IAAA,eAAO,EAAC;QACX,IAAI,QAAQ;YAAE,OAAO,EAAE,CAAA;QACvB,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAChE,CAAC,EACD,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;AACvC,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAAa,SAAmC;IAC1E,IAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAChD,CAAC;AAHD,oCAGC"}
@@ -6,30 +6,28 @@ var react_1 = require("react");
6
6
  var react_redux_1 = require("react-redux");
7
7
  var usePlayers_1 = require("./usePlayers");
8
8
  var usePlayerTime = function (playerId) {
9
- var _a, _b, _c, _d;
10
- var _e = (0, react_1.useState)(), result = _e[0], setResult = _e[1];
9
+ var _a;
10
+ var _b = (0, react_1.useState)(), result = _b[0], setResult = _b[1];
11
11
  var options = (0, react_redux_1.useSelector)(function (state) { return state.options; });
12
12
  var player = (0, usePlayers_1.usePlayer)(playerId);
13
13
  var clientTimeDelta = (0, react_redux_1.useSelector)(function (state) { return state.clientTimeDelta; });
14
14
  var running = options && options.speed === rules_api_1.GameSpeed.RealTime && ((_a = player === null || player === void 0 ? void 0 : player.time) === null || _a === void 0 ? void 0 : _a.playing);
15
+ var getPlayerTime = (0, react_1.useCallback)(function () {
16
+ if ((options === null || options === void 0 ? void 0 : options.speed) !== rules_api_1.GameSpeed.RealTime || !(player === null || player === void 0 ? void 0 : player.time))
17
+ return undefined;
18
+ if (!player.time.playing)
19
+ return player.time.availableTime;
20
+ return player.time.availableTime + Date.parse(player.time.lastChange) - new Date().getTime() - clientTimeDelta;
21
+ }, [options === null || options === void 0 ? void 0 : options.speed, player === null || player === void 0 ? void 0 : player.time, clientTimeDelta]);
15
22
  (0, react_1.useEffect)(function () {
16
23
  if (running) {
17
- var intervalID_1 = setInterval(function () { return setResult(function (result) { return result ? result - 1000 : result; }); }, 1000);
24
+ var intervalID_1 = setInterval(function () { return setResult(getPlayerTime()); }, 1000);
18
25
  return function () { return clearInterval(intervalID_1); };
19
26
  }
20
- return;
21
- }, [running]);
27
+ }, [running, getPlayerTime]);
22
28
  (0, react_1.useEffect)(function () {
23
- if ((options === null || options === void 0 ? void 0 : options.speed) !== rules_api_1.GameSpeed.RealTime || !(player === null || player === void 0 ? void 0 : player.time)) {
24
- setResult(undefined);
25
- }
26
- else if (player.time.playing) {
27
- setResult(player.time.availableTime + Date.parse(player.time.lastChange) - new Date().getTime() - clientTimeDelta);
28
- }
29
- else {
30
- setResult(player.time.availableTime);
31
- }
32
- }, [options === null || options === void 0 ? void 0 : options.speed, (_b = player === null || player === void 0 ? void 0 : player.time) === null || _b === void 0 ? void 0 : _b.playing, (_c = player === null || player === void 0 ? void 0 : player.time) === null || _c === void 0 ? void 0 : _c.lastChange, (_d = player === null || player === void 0 ? void 0 : player.time) === null || _d === void 0 ? void 0 : _d.availableTime, clientTimeDelta]);
29
+ setResult(getPlayerTime());
30
+ }, [getPlayerTime]);
33
31
  return result;
34
32
  };
35
33
  exports.usePlayerTime = usePlayerTime;
@@ -1 +1 @@
1
- {"version":3,"file":"usePlayerTime.js","sourceRoot":"","sources":["../../src/hooks/usePlayerTime.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAC/C,+BAA2C;AAC3C,2CAAyC;AACzC,2CAAwC;AAEjC,IAAM,aAAa,GAAG,UAAW,QAAkB;;IAClD,IAAA,KAAsB,IAAA,gBAAQ,GAAU,EAAvC,MAAM,QAAA,EAAE,SAAS,QAAsB,CAAA;IAC9C,IAAM,OAAO,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,OAAO,EAAb,CAAa,CAAC,CAAA;IACpE,IAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAA;IAClC,IAAM,eAAe,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,eAAe,EAArB,CAAqB,CAAC,CAAA;IACpF,IAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,qBAAS,CAAC,QAAQ,KAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,OAAO,CAAA,CAAA;IAExF,IAAA,iBAAS,EAAC;QACR,IAAI,OAAO,EAAE;YACX,IAAM,YAAU,GAAG,WAAW,CAAC,cAAM,OAAA,SAAS,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,EAA/B,CAA+B,CAAC,EAApD,CAAoD,EAAE,IAAI,CAAC,CAAA;YAChG,OAAO,cAAM,OAAA,aAAa,CAAC,YAAU,CAAC,EAAzB,CAAyB,CAAA;SACvC;QACD,OAAM;IACR,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,IAAA,iBAAS,EAAC;QACR,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAK,qBAAS,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,EAAE;YAC1D,SAAS,CAAC,SAAS,CAAC,CAAA;SACrB;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,CAAA;SACnH;aAAM;YACL,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;SACrC;IACH,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,OAAO,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,UAAU,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAA;IAEnH,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA1BY,QAAA,aAAa,iBA0BzB"}
1
+ {"version":3,"file":"usePlayerTime.js","sourceRoot":"","sources":["../../src/hooks/usePlayerTime.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAC/C,+BAAwD;AACxD,2CAAyC;AACzC,2CAAwC;AAEjC,IAAM,aAAa,GAAG,UAAW,QAAkB;;IAClD,IAAA,KAAsB,IAAA,gBAAQ,GAAU,EAAvC,MAAM,QAAA,EAAE,SAAS,QAAsB,CAAA;IAC9C,IAAM,OAAO,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,OAAO,EAAb,CAAa,CAAC,CAAA;IACpE,IAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAA;IAClC,IAAM,eAAe,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,eAAe,EAArB,CAAqB,CAAC,CAAA;IACpF,IAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,qBAAS,CAAC,QAAQ,KAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,OAAO,CAAA,CAAA;IAExF,IAAM,aAAa,GAAG,IAAA,mBAAW,EAAC;QAChC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAK,qBAAS,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA;YAAE,OAAO,SAAS,CAAA;QAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAA;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,eAAe,CAAA;IAChH,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;IAEnD,IAAA,iBAAS,EAAC;QACR,IAAI,OAAO,EAAE;YACX,IAAM,YAAU,GAAG,WAAW,CAAC,cAAM,OAAA,SAAS,CAAC,aAAa,EAAE,CAAC,EAA1B,CAA0B,EAAE,IAAI,CAAC,CAAA;YACtE,OAAO,cAAM,OAAA,aAAa,CAAC,YAAU,CAAC,EAAzB,CAAyB,CAAA;SACvC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;IAE5B,IAAA,iBAAS,EAAC;QACR,SAAS,CAAC,aAAa,EAAE,CAAC,CAAA;IAC5B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAzBY,QAAA,aAAa,iBAyBzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/react-game",
3
- "version": "6.11.2",
3
+ "version": "6.12.0",
4
4
  "description": "React components & tools to create a Board Game user interface for Game Park",
5
5
  "author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
6
6
  "license": "ISC",
@@ -27,8 +27,8 @@
27
27
  "@fortawesome/free-solid-svg-icons": "^6.4.0",
28
28
  "@fortawesome/react-fontawesome": "^0.2.0",
29
29
  "@gamepark/avataaars": "^2.2.0",
30
- "@gamepark/react-client": "^6.11.2",
31
- "@gamepark/rules-api": "^6.11.1",
30
+ "@gamepark/react-client": "^6.12.0",
31
+ "@gamepark/rules-api": "^6.12.0",
32
32
  "dayjs": "^1.11.7",
33
33
  "emotion-normalize": "^11.0.1",
34
34
  "fscreen": "^1.2.0",