@gamepark/react-game 7.7.33 → 7.7.35

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.
@@ -5,6 +5,11 @@ export declare const MaterialHeader: <RulesStep extends number = number>({ loadi
5
5
  type MaterialHeaderContentProps<RulesStep extends number = number> = {
6
6
  loading?: boolean;
7
7
  rulesStepsHeaders: Partial<Record<RulesStep, ComponentType>>;
8
+ /**
9
+ * @deprecated Use {@link ScoringDescription.ResultHeader} instead. `ResultHeader` is read from the game context by both
10
+ * this header and the result popup, so the result text stays aligned. The `GameOver` prop only overrides the header and
11
+ * leaves the popup showing a different content.
12
+ */
8
13
  GameOver?: ComponentType;
9
14
  GameOverRule?: ComponentType;
10
15
  };
@@ -32,7 +32,7 @@ const MaterialHeaderContent = ({ loading, rulesStepsHeaders, GameOver, GameOverR
32
32
  return _jsx(ShowVictoryClaim, {});
33
33
  }
34
34
  else if (!game?.rule) {
35
- return GameOver ? _jsx(GameOver, {}) : _jsx(GameOverHeader, { GameOverRule: GameOverRule });
35
+ return _jsx(GameOverHeader, { GameOver: GameOver, GameOverRule: GameOverRule });
36
36
  }
37
37
  else if (RulesStepsHeader) {
38
38
  return _jsxs(_Fragment, { children: [_jsx(RulesStepsHeader, {}), context.rulesHelp?.hasOwnProperty(game.rule.id) && _jsxs(_Fragment, { children: ["\u00A0", _jsx(FontAwesomeIcon, { icon: faCircleQuestion, onClick: () => play(displayRulesHelp(game.rule.id), { transient: true }), css: pointerCursorCss })] })] });
@@ -42,14 +42,15 @@ const MaterialHeaderContent = ({ loading, rulesStepsHeaders, GameOver, GameOverR
42
42
  return null;
43
43
  }
44
44
  };
45
- const GameOverHeader = ({ GameOverRule }) => {
45
+ const GameOverHeader = ({ GameOver, GameOverRule }) => {
46
46
  const resultText = useResultText();
47
47
  const context = useContext(gameContext);
48
48
  const [dialogOpen, setDialogOpen] = useState(false);
49
49
  const ResultHeader = context.scoring?.ResultHeader;
50
+ const result = GameOver ? _jsx(GameOver, {}) : ResultHeader ? _jsx(ResultHeader, {}) : _jsx(_Fragment, { children: resultText });
50
51
  if (!GameOverRule)
51
- return ResultHeader ? _jsx(ResultHeader, {}) : _jsx(_Fragment, { children: resultText });
52
- return _jsxs(_Fragment, { children: [_jsxs("span", { children: [ResultHeader ? _jsx(ResultHeader, {}) : resultText, "\u00A0", _jsx(FontAwesomeIcon, { icon: faCircleQuestion, onClick: () => setDialogOpen(true), css: pointerCursorCss })] }), _jsx(RulesDialog, { open: dialogOpen, close: () => setDialogOpen(false), children: _jsx(GameOverRule, {}) })] });
52
+ return result;
53
+ return _jsxs(_Fragment, { children: [_jsxs("span", { children: [result, "\u00A0", _jsx(FontAwesomeIcon, { icon: faCircleQuestion, onClick: () => setDialogOpen(true), css: pointerCursorCss })] }), _jsx(RulesDialog, { open: dialogOpen, close: () => setDialogOpen(false), children: _jsx(GameOverRule, {}) })] });
53
54
  };
54
55
  const ShowVictoryClaim = () => {
55
56
  const { t } = useTranslation('common');
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialHeader.js","sourceRoot":"","sources":["../../../src/components/Header/MaterialHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAA;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAgB,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAiB,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAA;AAC9C,IAAO,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAA;AAK9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,EAAkC,EAChG,EAAE;IACF,OAAO,CACL,KAAC,MAAM,OAAK,KAAK,YACf,KAAC,qBAAqB,IAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,GAAG,GACzH,CACV,CAAA;AACH,CAAC,CAAA;AASD,MAAM,qBAAqB,GAAG,CAC5B,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAkC,EACtF,EAAE;IACF,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,OAAO,EAAmD,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACxF,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CACjH,CAAA;IACD,MAAM,gBAAgB,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAkB,CAAC,CAAC,CAAC,SAAS,CAAA;IAElG,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,4BAAG,CAAC,CAAC,iBAAiB,CAAC,GAAI,CAAA;IACpC,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,OAAO,4BAAG,CAAC,CAAC,gBAAgB,CAAC,GAAI,CAAA;IACnC,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,OAAO,KAAC,gBAAgB,KAAE,CAAA;IAC5B,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAC,QAAQ,KAAE,CAAC,CAAC,CAAC,KAAC,cAAc,IAAC,YAAY,EAAE,YAAY,GAAG,CAAA;IAC/E,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC5B,OAAO,8BACL,KAAC,gBAAgB,KAAE,EAClB,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,IAAK,CAAC,EAAE,CAAC,IAAI,wCAC7C,KAAC,eAAe,IAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAK,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,GAAG,IACjJ,IACF,CAAA;IACL,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,8BAA8B,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,EAAE,YAAY,EAAoC,EAAE,EAAE;IAC5E,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,YAAY,CAAA;IAElD,IAAI,CAAC,YAAY;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,KAAC,YAAY,KAAE,CAAC,CAAC,CAAC,4BAAG,UAAU,GAAI,CAAA;IAC5E,OAAO,8BACL,2BAAO,YAAY,CAAC,CAAC,CAAC,KAAC,YAAY,KAAE,CAAC,CAAC,CAAC,UAAU,YAAO,KAAC,eAAe,IAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,GAAG,IAAO,EACrK,KAAC,WAAW,IAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,YAC9D,KAAC,YAAY,KAAE,GACH,IACb,CAAA;AACL,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IACjF,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,4BAAG,CAAC,CAAC,2BAA2B,CAAC,GAAI,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,4BAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,GAAI,CAAA;IAClD,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"MaterialHeader.js","sourceRoot":"","sources":["../../../src/components/Header/MaterialHeader.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
2
2
  import { css } from '@emotion/react';
3
- import { useCallback, useEffect, useState } from 'react';
3
+ import { useCallback, useEffect, useRef, useState } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { usePlay } from '../../../hooks';
6
6
  import { Dialog } from '../../dialogs';
@@ -21,7 +21,13 @@ export const PlayMoveButton = (props) => {
21
21
  return () => clearTimeout(timeout);
22
22
  }
23
23
  }, [disabled]);
24
+ // Guard against double-clicks: replaying the same move once the state changed would be rejected ("move unauthorized")
25
+ const lastPlay = useRef(0);
24
26
  const doPlay = useCallback(() => {
27
+ const time = new Date().getTime();
28
+ if (time - lastPlay.current < 300)
29
+ return;
30
+ lastPlay.current = time;
25
31
  setCountdown(undefined);
26
32
  setShowDialog(false);
27
33
  for (const move of moves) {
@@ -1 +1 @@
1
- {"version":3,"file":"PlayMoveButton.js","sourceRoot":"","sources":["../../../../src/components/buttons/PlayMoveButton/PlayMoveButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlayMoveButton.js","sourceRoot":"","sources":["../../../../src/components/buttons/PlayMoveButton/PlayMoveButton.tsx"],"names":[],"mappings":"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"}
@@ -48,6 +48,10 @@ const failuresDescription = {
48
48
  title: (t) => t('Too late!'),
49
49
  text: (t) => t('failure.dialog.undo')
50
50
  },
51
+ [Failure.EJECT_IMPOSSIBLE]: {
52
+ title: (t) => t('Too late!'),
53
+ text: (t) => t('failure.dialog.eject')
54
+ },
51
55
  [Failure.TUTORIAL_MOVE_EXPECTED]: {
52
56
  title: (t) => t('Move not expected in the tutorial'),
53
57
  text: (t) => t('failure.dialog.tutorial')
@@ -1 +1 @@
1
- {"version":3,"file":"FailuresDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/FailuresDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FailuresDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/FailuresDialog.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { useDndMonitor } from '@dnd-kit/core';
2
+ import { useDndContext, useDndMonitor } from '@dnd-kit/core';
3
3
  import { css } from '@emotion/react';
4
4
  import { isMoveItem } from '@gamepark/rules-api';
5
5
  import { useCallback, useState } from 'react';
@@ -10,6 +10,7 @@ import { getBestDropMove } from '../utils/getBestDropMove';
10
10
  export const DropPreview = ({ boundaries }) => {
11
11
  const context = useMaterialContext();
12
12
  const legalMoves = useLegalMoves();
13
+ const { active } = useDndContext();
13
14
  const [bestMove, setBestMove] = useState();
14
15
  const [location, setLocation] = useState();
15
16
  const onDragStart = useCallback(() => setBestMove(undefined), []);
@@ -21,7 +22,12 @@ export const DropPreview = ({ boundaries }) => {
21
22
  }, [context, legalMoves]);
22
23
  const onDragEnd = useCallback(() => setBestMove(undefined), []);
23
24
  useDndMonitor({ onDragStart, onDragEnd, onDragMove, onDragCancel: onDragEnd });
24
- if (bestMove && isMoveItem(bestMove) && location && context.locators[location.type]?.showDropPreview(bestMove, context)) {
25
+ // Only show the preview while a drag is actually active. `active` comes from dnd-kit's reactive context and
26
+ // resets to null as soon as the drag ends (drop, cancel, or the GameTable stuck-drag safety net), regardless
27
+ // of whether our onDragEnd/onDragCancel monitor callback was delivered. Relying on the callback alone (like
28
+ // before) leaves the ghost card stuck on the table whenever that end-of-drag event is missed — the same
29
+ // class of bug that left drop areas stuck before they were switched to dnd-kit's reactive state.
30
+ if (active && bestMove && isMoveItem(bestMove) && location && context.locators[location.type]?.showDropPreview(bestMove, context)) {
25
31
  const type = bestMove.itemType;
26
32
  const index = bestMove.itemIndex;
27
33
  const item = context.rules.material(type).getItem(index);
@@ -1 +1 @@
1
- {"version":3,"file":"DropPreview.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/DropPreview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropPreview.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/DropPreview.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
2
  import { css } from '@emotion/react';
3
+ import { useRef } from 'react';
3
4
  import { transformCss } from '../../css';
4
5
  import { usePlay } from '../../hooks';
5
6
  export const ItemMenuButton = ({ move, moves = move ? [move] : [], options, label, angle = 0, radius = 3, x = radius * Math.sin(angle * Math.PI / 180), y = radius * -Math.cos(angle * Math.PI / 180), labelPosition = x > 0 ? 'left' : 'right', children, ...props }) => {
6
7
  const play = usePlay();
8
+ // Guard against double-clicks: replaying the same move once the state changed would be rejected ("move unauthorized")
9
+ const lastClick = useRef(0);
7
10
  if (!props.onClick && moves.length) {
8
11
  props.onClick = () => {
12
+ const time = new Date().getTime();
13
+ if (time - lastClick.current < 300)
14
+ return;
15
+ lastClick.current = time;
9
16
  for (const move of moves)
10
17
  play(move, options);
11
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ItemMenuButton.js","sourceRoot":"","sources":["../../../src/components/material/ItemMenuButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAcrC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,EACE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAChD,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAClH,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EACxC,QAAQ,EAAE,GAAG,KAAK,EACkC,EACtD,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACnC,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACnB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC;IACD,OAAO,kBAAQ,GAAG,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC,uBAAuB,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,KAAM,KAAK,aAC7I,QAAQ,EACR,KAAK,IAAI,eAAM,GAAG,EAAE,CAAC,cAAc,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAG,KAAK,GAAQ,IACjG,CAAA;AACX,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;CAW5B,CAAA;AAED,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;CAMzB,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;CAKrB,CAAA;AAED,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;CAKpB,CAAA"}
1
+ {"version":3,"file":"ItemMenuButton.js","sourceRoot":"","sources":["../../../src/components/material/ItemMenuButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAA6B,MAAM,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAcrC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,EACE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAChD,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAClH,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EACxC,QAAQ,EAAE,GAAG,KAAK,EACkC,EACtD,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,sHAAsH;IACtH,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACnC,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YACjC,IAAI,IAAI,GAAG,SAAS,CAAC,OAAO,GAAG,GAAG;gBAAE,OAAM;YAC1C,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;YACxB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC;IACD,OAAO,kBAAQ,GAAG,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC,uBAAuB,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,KAAM,KAAK,aAC7I,QAAQ,EACR,KAAK,IAAI,eAAM,GAAG,EAAE,CAAC,cAAc,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAG,KAAK,GAAQ,IACjG,CAAA;AACX,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;CAW5B,CAAA;AAED,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;CAMzB,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;CAKrB,CAAA;AAED,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;CAKpB,CAAA"}
@@ -2,17 +2,16 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@emotion/reac
2
2
  import { css, useTheme } from '@emotion/react';
3
3
  import { faFlag } from '@fortawesome/free-regular-svg-icons';
4
4
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
- import { GameClientAPI, GameMode, useGameSelector } from '@gamepark/react-client';
5
+ import { claimVictory, GameMode, useGameDispatch, useGameSelector } from '@gamepark/react-client';
6
6
  import { useEffect, useState } from 'react';
7
7
  import { useTranslation } from 'react-i18next';
8
8
  import { useGiveUp } from '../../../hooks';
9
9
  import { Dialog } from '../../dialogs';
10
10
  import { menuButtonCss, menuDialogCss, paletteDangerButtonCss, paletteMenuButtonCss } from '../menuCss';
11
- const query = new URLSearchParams(window.location.search);
12
- const gameId = query.get('game');
13
11
  export const GiveUpButton = () => {
14
12
  const { t } = useTranslation('common');
15
13
  const theme = useTheme();
14
+ const dispatch = useGameDispatch();
16
15
  const [giveUp] = useGiveUp();
17
16
  const [displayPopup, setDisplayPopup] = useState(false);
18
17
  const onGiveUp = () => {
@@ -27,9 +26,7 @@ export const GiveUpButton = () => {
27
26
  setDisplayPopup(true);
28
27
  }, [playerIsLast]);
29
28
  const onClaimVictory = () => {
30
- if (gameId) {
31
- new GameClientAPI(gameId).claimVictory();
32
- }
29
+ dispatch(claimVictory());
33
30
  setDisplayPopup(false);
34
31
  };
35
32
  const [displayedLongEnough, setDisplayedLongEnough] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"GiveUpButton.js","sourceRoot":"","sources":["../../../../src/components/menus/GiveUpButton/GiveUpButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GiveUpButton.js","sourceRoot":"","sources":["../../../../src/components/menus/GiveUpButton/GiveUpButton.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import 'dayjs/locale/de';
2
+ import 'dayjs/locale/es';
2
3
  import 'dayjs/locale/fr';
4
+ import 'dayjs/locale/it';
3
5
  import 'dayjs/locale/ru';
4
6
  import { InitOptions } from 'i18next';
5
7
  /**
@@ -1,11 +1,31 @@
1
1
  import dayjs from 'dayjs';
2
2
  import 'dayjs/locale/de';
3
+ import 'dayjs/locale/es';
3
4
  import 'dayjs/locale/fr';
5
+ import 'dayjs/locale/it';
4
6
  import 'dayjs/locale/ru';
7
+ import updateLocale from 'dayjs/plugin/updateLocale';
5
8
  import i18next from 'i18next';
6
9
  import HttpBackend from 'i18next-http-backend';
7
10
  import ICU from 'i18next-icu';
8
11
  import { initReactI18next } from 'react-i18next';
12
+ dayjs.extend(updateLocale);
13
+ // dayjs humanize() displays singular durations as words ("un jour"), which looks odd once prefixed with a
14
+ // sign ("-un jour"). Override the singular relativeTime labels with their numeric form for supported locales.
15
+ const numericSingularRelativeTime = {
16
+ en: { d: '1 day', M: '1 month', y: '1 year' },
17
+ fr: { d: '1 jour', M: '1 mois', y: '1 an' },
18
+ de: { d: '1 Tag', M: '1 Monat', y: '1 Jahr' },
19
+ es: { d: '1 día', M: '1 mes', y: '1 año' },
20
+ it: { d: '1 giorno', M: '1 mese', y: '1 anno' },
21
+ ru: { d: '1 день', M: '1 месяц', y: '1 год' }
22
+ };
23
+ for (const [locale, overrides] of Object.entries(numericSingularRelativeTime)) {
24
+ const relativeTime = dayjs.Ls[locale]?.relativeTime;
25
+ if (relativeTime) {
26
+ dayjs.updateLocale(locale, { relativeTime: { ...relativeTime, ...overrides } });
27
+ }
28
+ }
9
29
  let translationInitialized = false;
10
30
  const reportedKeys = new Set();
11
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"translation.util.js","sourceRoot":"","sources":["../../src/utilities/translation.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translation.util.js","sourceRoot":"","sources":["../../src/utilities/translation.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/react-game",
3
- "version": "7.7.33",
3
+ "version": "7.7.35",
4
4
  "type": "module",
5
5
  "description": "React components & tools to create a Board Game user interface for Game Park",
6
6
  "author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
@@ -26,7 +26,7 @@
26
26
  "@dnd-kit/modifiers": "^9.0.0",
27
27
  "@gamepark/api-types": "^1.0.1",
28
28
  "@gamepark/avataaars": "^3.0.0",
29
- "@gamepark/react-client": "^7.6.7",
29
+ "@gamepark/react-client": "^7.7.1",
30
30
  "dayjs": "^1.11.21",
31
31
  "fscreen": "^1.2.0",
32
32
  "i18next-http-backend": "^3.0.6",