@gamepark/react-game 7.7.26 → 7.7.28

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 (78) hide show
  1. package/README.md +41 -41
  2. package/dist/components/GameProvider/GameErrorBoundary.js +108 -108
  3. package/dist/components/GameProvider/GameLoadingErrorScreen.d.ts +1 -0
  4. package/dist/components/GameProvider/GameLoadingErrorScreen.js +82 -0
  5. package/dist/components/GameProvider/GameLoadingErrorScreen.js.map +1 -0
  6. package/dist/components/JournalTabs/History/SetupLogItem.js +19 -19
  7. package/dist/components/dialogs/FailuresDialog.js +11 -11
  8. package/dist/components/dialogs/ResultDialog/RematchDisplay.js +0 -1
  9. package/dist/components/dialogs/ResultDialog/RematchDisplay.js.map +1 -1
  10. package/dist/components/dialogs/ResultDialog/ResultDialog.js +25 -23
  11. package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -1
  12. package/dist/components/material/GameTable/DevToolsHub.d.ts +21 -4
  13. package/dist/components/material/GameTable/DevToolsHub.js +830 -24
  14. package/dist/components/material/GameTable/DevToolsHub.js.map +1 -1
  15. package/dist/components/material/GameTable/ItemDisplay.js +9 -1
  16. package/dist/components/material/GameTable/ItemDisplay.js.map +1 -1
  17. package/dist/components/material/Wheel/WheelContent.d.ts +13 -0
  18. package/dist/components/material/Wheel/WheelContent.js +37 -0
  19. package/dist/components/material/Wheel/WheelContent.js.map +1 -0
  20. package/dist/components/material/animations/ItemAnimations.js +75 -17
  21. package/dist/components/material/animations/ItemAnimations.js.map +1 -1
  22. package/dist/components/material/animations/Trajectory.d.ts +18 -2
  23. package/dist/components/material/animations/Trajectory.js +34 -4
  24. package/dist/components/material/animations/Trajectory.js.map +1 -1
  25. package/dist/css/backgroundCss.js +3 -3
  26. package/dist/css/cursorCss.js +6 -6
  27. package/dist/css/fadeIn.js +6 -6
  28. package/dist/css/shineEffect.js +28 -28
  29. package/dist/css/transformCss.js +4 -4
  30. package/dist/hooks/useFailures.d.ts +1 -0
  31. package/dist/hooks/useFailures.js +11 -0
  32. package/dist/hooks/useFailures.js.map +1 -0
  33. package/dist/hooks/useWebP.d.ts +1 -0
  34. package/dist/hooks/useWebP.js +13 -0
  35. package/dist/hooks/useWebP.js.map +1 -0
  36. package/dist/vite.d.ts +3 -0
  37. package/dist/vite.js +34 -0
  38. package/dist/vite.js.map +1 -0
  39. package/package.json +1 -1
  40. package/dist/components/GameProvider/GameInternalProviders.d.ts +0 -6
  41. package/dist/components/GameProvider/GameInternalProviders.js +0 -10
  42. package/dist/components/GameProvider/GameInternalProviders.js.map +0 -1
  43. package/dist/components/GameProvider/LogHistoryBridge.d.ts +0 -7
  44. package/dist/components/GameProvider/LogHistoryBridge.js +0 -23
  45. package/dist/components/GameProvider/LogHistoryBridge.js.map +0 -1
  46. package/dist/components/JournalTabs/History/VirtualizedLogItem.d.ts +0 -12
  47. package/dist/components/JournalTabs/History/VirtualizedLogItem.js +0 -6
  48. package/dist/components/JournalTabs/History/VirtualizedLogItem.js.map +0 -1
  49. package/dist/components/Log/LogHistoryProvider.d.ts +0 -7
  50. package/dist/components/Log/LogHistoryProvider.js +0 -22
  51. package/dist/components/Log/LogHistoryProvider.js.map +0 -1
  52. package/dist/components/material/Dices/OctahedralDiceDescription.d.ts +0 -48
  53. package/dist/components/material/Dices/OctahedralDiceDescription.js +0 -142
  54. package/dist/components/material/Dices/OctahedralDiceDescription.js.map +0 -1
  55. package/dist/components/material/GameTable/DevToolEntry.d.ts +0 -17
  56. package/dist/components/material/GameTable/DevToolEntry.js +0 -13
  57. package/dist/components/material/GameTable/DevToolEntry.js.map +0 -1
  58. package/dist/components/material/GameTable/DevTools/DevToolsStyles.d.ts +0 -58
  59. package/dist/components/material/GameTable/DevTools/DevToolsStyles.js +0 -706
  60. package/dist/components/material/GameTable/DevTools/DevToolsStyles.js.map +0 -1
  61. package/dist/components/material/GameTable/DevToolsStyles.d.ts +0 -67
  62. package/dist/components/material/GameTable/DevToolsStyles.js +0 -752
  63. package/dist/components/material/GameTable/DevToolsStyles.js.map +0 -1
  64. package/dist/components/material/GameTable/JsonHighlighter.d.ts +0 -3
  65. package/dist/components/material/GameTable/JsonHighlighter.js +0 -37
  66. package/dist/components/material/GameTable/JsonHighlighter.js.map +0 -1
  67. package/dist/components/material/sound/bellSound.d.ts +0 -1
  68. package/dist/components/material/sound/bellSound.js +0 -2
  69. package/dist/components/material/sound/bellSound.js.map +0 -1
  70. package/dist/hooks/LogHistoryContext.d.ts +0 -6
  71. package/dist/hooks/LogHistoryContext.js +0 -4
  72. package/dist/hooks/LogHistoryContext.js.map +0 -1
  73. package/dist/hooks/useBackgroundTabHandler.d.ts +0 -1
  74. package/dist/hooks/useBackgroundTabHandler.js +0 -38
  75. package/dist/hooks/useBackgroundTabHandler.js.map +0 -1
  76. package/dist/hooks/useFastAnimationsOnReturn.d.ts +0 -1
  77. package/dist/hooks/useFastAnimationsOnReturn.js +0 -38
  78. package/dist/hooks/useFastAnimationsOnReturn.js.map +0 -1
package/README.md CHANGED
@@ -1,41 +1,41 @@
1
- # @gamepark/react-game
2
-
3
- React components & tools to create a Board Game user interface for Game Park.
4
-
5
- ## Sounds deployment
6
-
7
- Default sounds (e.g. turn notification) are hosted on `sounds.game-park.com` (Clever Cloud Cellar).
8
-
9
- The `sounds/` directory at the root of this project contains the sound files to deploy.
10
-
11
- ### rclone configuration
12
-
13
- Install [rclone](https://rclone.org/) then configure a remote:
14
-
15
- ```
16
- rclone config
17
- > n
18
- name> sounds
19
- Storage> s3
20
- provider> Other
21
- env_auth> false
22
- access_key_id> [your key - do not commit!]
23
- secret_access_key> [your secret - do not commit!]
24
- region>
25
- endpoint> cellar-c2.services.clever-cloud.com
26
- location_constraint>
27
- acl> public-read
28
- Edit advanced config> n
29
- ```
30
-
31
- ### Deploy sounds
32
-
33
- Sounds are automatically synced during `yarn publish`. You can also sync manually:
34
-
35
- ```bash
36
- yarn sync-sounds
37
- ```
38
-
39
- ### CORS
40
-
41
- The Cellar bucket must have CORS configured to allow `fetch()` from game origins (`Access-Control-Allow-Origin: *`).
1
+ # @gamepark/react-game
2
+
3
+ React components & tools to create a Board Game user interface for Game Park.
4
+
5
+ ## Sounds deployment
6
+
7
+ Default sounds (e.g. turn notification) are hosted on `sounds.game-park.com` (Clever Cloud Cellar).
8
+
9
+ The `sounds/` directory at the root of this project contains the sound files to deploy.
10
+
11
+ ### rclone configuration
12
+
13
+ Install [rclone](https://rclone.org/) then configure a remote:
14
+
15
+ ```
16
+ rclone config
17
+ > n
18
+ name> sounds
19
+ Storage> s3
20
+ provider> Other
21
+ env_auth> false
22
+ access_key_id> [your key - do not commit!]
23
+ secret_access_key> [your secret - do not commit!]
24
+ region>
25
+ endpoint> cellar-c2.services.clever-cloud.com
26
+ location_constraint>
27
+ acl> public-read
28
+ Edit advanced config> n
29
+ ```
30
+
31
+ ### Deploy sounds
32
+
33
+ Sounds are automatically synced during `yarn publish`. You can also sync manually:
34
+
35
+ ```bash
36
+ yarn sync-sounds
37
+ ```
38
+
39
+ ### CORS
40
+
41
+ The Cellar bucket must have CORS configured to allow `fetch()` from game origins (`Access-Control-Allow-Origin: *`).
@@ -20,124 +20,124 @@ export class GameErrorBoundary extends Component {
20
20
  return (_jsx("div", { css: containerCss, children: _jsxs("div", { css: cardCss, children: [_jsx("div", { css: iconContainerCss, children: _jsx(FontAwesomeIcon, { icon: faTriangleExclamation, css: iconCss }) }), _jsx("p", { css: messageCss, children: _jsx(Trans, { defaults: "A technical error has occurred. The error has been sent to the Game Park team.", i18nKey: "error.crash", ns: "common" }) }), _jsx("p", { css: hintCss, children: _jsx(Trans, { defaults: "You can refresh the page to continue your game.", i18nKey: "error.refresh.hint", ns: "common" }) }), _jsx("button", { css: buttonCss, onClick: () => window.location.reload(), children: _jsx(Trans, { defaults: "Refresh the page", i18nKey: "error.refresh.button", ns: "common" }) }), _jsx("div", { css: dividerCss }), _jsx("p", { css: secondaryMessageCss, children: _jsx(Trans, { defaults: "If the problem persists despite refreshing and the game is corrupted, please let us know on Discord.", i18nKey: "error.discord.hint", ns: "common" }) }), _jsxs("a", { css: discordLinkCss, href: "https://discord.gg/ZMCX5reQm8", target: "_blank", rel: "noopener noreferrer", children: [_jsx("svg", { css: discordIconCss, viewBox: "0 0 127.14 96.36", fill: "currentColor", children: _jsx("path", { d: "M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2.04a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2.04a68.68 68.68 0 0 1-10.87 5.19 77.28 77.28 0 0 0 6.89 11.1 105.45 105.45 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69C36.18 65.69 31 60 31 53.05c0-6.94 5.04-12.67 11.45-12.67S53.99 46.1 53.9 53.05c0 6.94-5.08 12.64-11.45 12.64Zm42.24 0C78.41 65.69 73.25 60 73.25 53.05c0-6.94 5.04-12.67 11.44-12.67s11.51 5.73 11.44 12.67c0 6.94-5.04 12.64-11.44 12.64Z" }) }), _jsx(Trans, { defaults: "Join the Game Park Discord", i18nKey: "error.discord.button", ns: "common" })] })] }) }));
21
21
  }
22
22
  }
23
- const fadeIn = keyframes `
24
- from {
25
- opacity: 0;
26
- transform: translateY(16px);
27
- }
28
- to {
29
- opacity: 1;
30
- transform: translateY(0);
31
- }
23
+ const fadeIn = keyframes `
24
+ from {
25
+ opacity: 0;
26
+ transform: translateY(16px);
27
+ }
28
+ to {
29
+ opacity: 1;
30
+ transform: translateY(0);
31
+ }
32
32
  `;
33
- const containerCss = css `
34
- display: flex;
35
- align-items: center;
36
- justify-content: center;
37
- height: 100%;
38
- width: 100%;
39
- padding: 2em;
40
- box-sizing: border-box;
41
- font-family: "Mulish", sans-serif;
33
+ const containerCss = css `
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ height: 100%;
38
+ width: 100%;
39
+ padding: 2em;
40
+ box-sizing: border-box;
41
+ font-family: "Mulish", sans-serif;
42
42
  `;
43
- const cardCss = css `
44
- display: flex;
45
- flex-direction: column;
46
- align-items: center;
47
- max-width: 460px;
48
- padding: 2.5em 2.5em 2em;
49
- border-radius: 1.2em;
50
- background: #002448;
51
- color: #eee;
52
- text-align: center;
53
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
54
- animation: ${fadeIn} 0.4s ease-out;
43
+ const cardCss = css `
44
+ display: flex;
45
+ flex-direction: column;
46
+ align-items: center;
47
+ max-width: 460px;
48
+ padding: 2.5em 2.5em 2em;
49
+ border-radius: 1.2em;
50
+ background: #002448;
51
+ color: #eee;
52
+ text-align: center;
53
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
54
+ animation: ${fadeIn} 0.4s ease-out;
55
55
  `;
56
- const iconContainerCss = css `
57
- display: flex;
58
- align-items: center;
59
- justify-content: center;
60
- width: 64px;
61
- height: 64px;
62
- border-radius: 50%;
63
- background: rgba(40, 184, 206, 0.15);
64
- margin-bottom: 1.2em;
56
+ const iconContainerCss = css `
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ width: 64px;
61
+ height: 64px;
62
+ border-radius: 50%;
63
+ background: rgba(40, 184, 206, 0.15);
64
+ margin-bottom: 1.2em;
65
65
  `;
66
- const iconCss = css `
67
- font-size: 32px;
68
- color: #28B8CE;
66
+ const iconCss = css `
67
+ font-size: 32px;
68
+ color: #28B8CE;
69
69
  `;
70
- const messageCss = css `
71
- font-size: 1.05em;
72
- font-weight: 600;
73
- line-height: 1.5;
74
- margin: 0 0 0.3em;
70
+ const messageCss = css `
71
+ font-size: 1.05em;
72
+ font-weight: 600;
73
+ line-height: 1.5;
74
+ margin: 0 0 0.3em;
75
75
  `;
76
- const hintCss = css `
77
- font-size: 0.95em;
78
- line-height: 1.5;
79
- margin: 0;
80
- opacity: 0.8;
76
+ const hintCss = css `
77
+ font-size: 0.95em;
78
+ line-height: 1.5;
79
+ margin: 0;
80
+ opacity: 0.8;
81
81
  `;
82
- const buttonCss = css `
83
- margin-top: 1.5em;
84
- padding: 0.65em 2.2em;
85
- font-size: 1em;
86
- font-family: inherit;
87
- font-weight: 700;
88
- border: none;
89
- border-radius: 0.6em;
90
- background: #28B8CE;
91
- color: white;
92
- cursor: pointer;
93
- transition: background 0.2s, transform 0.1s;
94
- letter-spacing: 0.02em;
95
-
96
- &:hover {
97
- background: #24a5b9;
98
- }
99
-
100
- &:active {
101
- background: #2092a3;
102
- transform: scale(0.97);
103
- }
82
+ const buttonCss = css `
83
+ margin-top: 1.5em;
84
+ padding: 0.65em 2.2em;
85
+ font-size: 1em;
86
+ font-family: inherit;
87
+ font-weight: 700;
88
+ border: none;
89
+ border-radius: 0.6em;
90
+ background: #28B8CE;
91
+ color: white;
92
+ cursor: pointer;
93
+ transition: background 0.2s, transform 0.1s;
94
+ letter-spacing: 0.02em;
95
+
96
+ &:hover {
97
+ background: #24a5b9;
98
+ }
99
+
100
+ &:active {
101
+ background: #2092a3;
102
+ transform: scale(0.97);
103
+ }
104
104
  `;
105
- const dividerCss = css `
106
- width: 60%;
107
- height: 1px;
108
- background: rgba(255, 255, 255, 0.12);
109
- margin: 1.8em 0 1.2em;
105
+ const dividerCss = css `
106
+ width: 60%;
107
+ height: 1px;
108
+ background: rgba(255, 255, 255, 0.12);
109
+ margin: 1.8em 0 1.2em;
110
110
  `;
111
- const secondaryMessageCss = css `
112
- font-size: 0.85em;
113
- line-height: 1.6;
114
- margin: 0 0 1em;
115
- opacity: 0.65;
111
+ const secondaryMessageCss = css `
112
+ font-size: 0.85em;
113
+ line-height: 1.6;
114
+ margin: 0 0 1em;
115
+ opacity: 0.65;
116
116
  `;
117
- const discordLinkCss = css `
118
- display: inline-flex;
119
- align-items: center;
120
- gap: 0.5em;
121
- padding: 0.5em 1.4em;
122
- font-size: 0.9em;
123
- font-family: inherit;
124
- font-weight: 600;
125
- color: white;
126
- background: #5865F2;
127
- border-radius: 0.5em;
128
- text-decoration: none;
129
- transition: background 0.2s, transform 0.1s;
130
-
131
- &:hover {
132
- background: #4752C4;
133
- }
134
-
135
- &:active {
136
- transform: scale(0.97);
137
- }
117
+ const discordLinkCss = css `
118
+ display: inline-flex;
119
+ align-items: center;
120
+ gap: 0.5em;
121
+ padding: 0.5em 1.4em;
122
+ font-size: 0.9em;
123
+ font-family: inherit;
124
+ font-weight: 600;
125
+ color: white;
126
+ background: #5865F2;
127
+ border-radius: 0.5em;
128
+ text-decoration: none;
129
+ transition: background 0.2s, transform 0.1s;
130
+
131
+ &:hover {
132
+ background: #4752C4;
133
+ }
134
+
135
+ &:active {
136
+ transform: scale(0.97);
137
+ }
138
138
  `;
139
- const discordIconCss = css `
140
- width: 20px;
141
- height: 20px;
139
+ const discordIconCss = css `
140
+ width: 20px;
141
+ height: 20px;
142
142
  `;
143
143
  //# sourceMappingURL=GameErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ export declare const GameLoadingErrorScreen: () => import("@emotion/react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,82 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
+ /** @jsxImportSource @emotion/react */
3
+ import { css, keyframes } from '@emotion/react';
4
+ import { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons';
5
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
6
+ import { GameLoadingError, PLATFORM_URI, useGameLoadingError } from '@gamepark/react-client';
7
+ import { useContext } from 'react';
8
+ import { Trans, useTranslation } from 'react-i18next';
9
+ import { NavButton } from '../menus/Menu/NavButton';
10
+ import { gameContext } from './GameContext';
11
+ const query = new URLSearchParams(window.location.search);
12
+ const locale = query.get('locale') || 'en';
13
+ export const GameLoadingErrorScreen = () => {
14
+ const error = useGameLoadingError();
15
+ const { t } = useTranslation('common');
16
+ const { game } = useContext(gameContext);
17
+ if (!error)
18
+ return null;
19
+ const isNotFound = error === GameLoadingError.NotFound;
20
+ return (_jsx("div", { css: containerCss, children: _jsxs("div", { css: cardCss, children: [_jsx("div", { css: iconContainerCss, children: _jsx(FontAwesomeIcon, { icon: faTriangleExclamation, css: iconCss }) }), _jsx("p", { css: messageCss, children: _jsx(Trans, { i18nKey: isNotFound ? 'error.game-not-found.title' : 'error.game-load.title', ns: "common" }) }), _jsx("p", { css: hintCss, children: _jsx(Trans, { i18nKey: isNotFound ? 'error.game-not-found.hint' : 'error.game-load.hint', ns: "common" }) }), _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${game}`, children: t('Back to Game Park') })] }) }));
21
+ };
22
+ const fadeIn = keyframes `
23
+ from {
24
+ opacity: 0;
25
+ transform: translateY(16px);
26
+ }
27
+ to {
28
+ opacity: 1;
29
+ transform: translateY(0);
30
+ }
31
+ `;
32
+ const containerCss = css `
33
+ position: absolute;
34
+ inset: 0;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ padding: 2em;
39
+ box-sizing: border-box;
40
+ font-family: "Mulish", sans-serif;
41
+ z-index: 2000;
42
+ `;
43
+ const cardCss = css `
44
+ display: flex;
45
+ flex-direction: column;
46
+ align-items: center;
47
+ max-width: 460px;
48
+ padding: 2.5em 2.5em 2em;
49
+ border-radius: 1.2em;
50
+ background: #002448;
51
+ color: #eee;
52
+ text-align: center;
53
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
54
+ animation: ${fadeIn} 0.4s ease-out;
55
+ `;
56
+ const iconContainerCss = css `
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ width: 64px;
61
+ height: 64px;
62
+ border-radius: 50%;
63
+ background: rgba(40, 184, 206, 0.15);
64
+ margin-bottom: 1.2em;
65
+ `;
66
+ const iconCss = css `
67
+ font-size: 32px;
68
+ color: #28B8CE;
69
+ `;
70
+ const messageCss = css `
71
+ font-size: 1.05em;
72
+ font-weight: 600;
73
+ line-height: 1.5;
74
+ margin: 0 0 0.3em;
75
+ `;
76
+ const hintCss = css `
77
+ font-size: 0.95em;
78
+ line-height: 1.5;
79
+ margin: 0 0 1.2em;
80
+ opacity: 0.8;
81
+ `;
82
+ //# sourceMappingURL=GameLoadingErrorScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameLoadingErrorScreen.js","sourceRoot":"","sources":["../../../src/components/GameProvider/GameLoadingErrorScreen.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACzD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAA;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAA;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,MAAM,UAAU,GAAG,KAAK,KAAK,gBAAgB,CAAC,QAAQ,CAAA;IACtD,OAAO,CACL,cAAK,GAAG,EAAE,YAAY,YACpB,eAAK,GAAG,EAAE,OAAO,aACf,cAAK,GAAG,EAAE,gBAAgB,YACxB,KAAC,eAAe,IAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,OAAO,GAAG,GACzD,EACN,YAAG,GAAG,EAAE,UAAU,YAChB,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,uBAAuB,EAAE,EAAE,EAAC,QAAQ,GAAE,GAChG,EACJ,YAAG,GAAG,EAAE,OAAO,YACb,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,EAAC,QAAQ,GAAE,GAC9F,EACJ,KAAC,SAAS,IAAC,GAAG,EAAE,GAAG,YAAY,IAAI,MAAM,gBAAgB,IAAI,EAAE,YAAG,CAAC,CAAC,mBAAmB,CAAC,GAAa,IACjG,GACF,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,SAAS,CAAA;;;;;;;;;CASvB,CAAA;AAED,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;CAUvB,CAAA;AAED,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;;;;;;;eAWJ,MAAM;CACpB,CAAA;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;;;;CAS3B,CAAA;AAED,MAAM,OAAO,GAAG,GAAG,CAAA;;;CAGlB,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;CAKrB,CAAA;AAED,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;CAKlB,CAAA"}
@@ -3,24 +3,24 @@ import { css } from '@emotion/react';
3
3
  export const SetupLogItem = ({ log, game, index, customEntryCss, ...rest }) => {
4
4
  return (_jsx("div", { ...rest, children: _jsx("div", { css: [entryCss, customEntryCss, log.css], children: _jsx("div", { children: _jsx(log.Component, { game: game, index: index }) }) }) }));
5
5
  };
6
- const entryCss = css `
7
- width: 100%;
8
- background-color: rgba(0, 0, 0, 0.7);
9
- border-radius: 1em;
10
- margin-bottom: 0.5em;
11
- min-height: 1em;
12
- padding-left: 1em;
13
- margin-left: 0.05em;
14
- margin-top: 0.05em;
15
- padding-top: 0.5em;
16
- padding-bottom: 0.5em;
17
- display: flex;
18
- align-items: center;
19
- font-size: 2em;
20
- white-space: pre-wrap;
21
-
22
- img, picture {
23
- vertical-align: middle;
24
- }
6
+ const entryCss = css `
7
+ width: 100%;
8
+ background-color: rgba(0, 0, 0, 0.7);
9
+ border-radius: 1em;
10
+ margin-bottom: 0.5em;
11
+ min-height: 1em;
12
+ padding-left: 1em;
13
+ margin-left: 0.05em;
14
+ margin-top: 0.05em;
15
+ padding-top: 0.5em;
16
+ padding-bottom: 0.5em;
17
+ display: flex;
18
+ align-items: center;
19
+ font-size: 2em;
20
+ white-space: pre-wrap;
21
+
22
+ img, picture {
23
+ vertical-align: middle;
24
+ }
25
25
  `;
26
26
  //# sourceMappingURL=SetupLogItem.js.map
@@ -65,19 +65,19 @@ const fallbackDescription = (failure) => ({
65
65
  title: (t) => t('Unknown error:'),
66
66
  text: () => failure
67
67
  });
68
- const aboveLoadingScreenCss = css `
69
- z-index: 1600;
68
+ const aboveLoadingScreenCss = css `
69
+ z-index: 1600;
70
70
  `;
71
- const titleCss = css `
72
- display: flex;
73
- align-items: center;
74
- gap: 0.4em;
71
+ const titleCss = css `
72
+ display: flex;
73
+ align-items: center;
74
+ gap: 0.4em;
75
75
  `;
76
- const iconCss = css `
77
- color: #28B8CE;
76
+ const iconCss = css `
77
+ color: #28B8CE;
78
78
  `;
79
- const inDialogButton = css `
80
- margin: 0 0 0 auto;
81
- font-size: 1.125em;
79
+ const inDialogButton = css `
80
+ margin: 0 0 0 auto;
81
+ font-size: 1.125em;
82
82
  `;
83
83
  //# sourceMappingURL=FailuresDialog.js.map
@@ -29,7 +29,6 @@ export const RematchDisplay = ({ rematch }) => {
29
29
  };
30
30
  const rematchTitle = css `
31
31
  margin: 1em;
32
- font-size: 1.25em;
33
32
  `;
34
33
  const acceptButton = css `
35
34
  margin-left: 1em;
@@ -1 +1 @@
1
- {"version":3,"file":"RematchDisplay.js","sourceRoot":"","sources":["../../../../src/components/dialogs/ResultDialog/RematchDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RematchDisplay.js","sourceRoot":"","sources":["../../../../src/components/dialogs/ResultDialog/RematchDisplay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAYzE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAA;IAC1E,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAA;IAC1E,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;QAClE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;YACjD,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;IACnE,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,CACL,8BACE,aAAI,GAAG,EAAE,YAAY,YACnB,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACzC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBACnB,OAAO,CAAC,SAAS,CAAC,CAAC;wBACjB,CAAC,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC3D,CAAC,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GACvD,EACL,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,eAAK,GAAG,EAAE,GAAG,CAAA,uBAAuB,aAC9D,iBAAQ,GAAG,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,YAC3I,CAAC,CAAC,iBAAiB,CAAC,GACd,EACT,iBAAQ,GAAG,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,YAC1I,CAAC,CAAC,gBAAgB,CAAC,GACb,IACL,EACN,KAAC,SAAS,IAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,YAAY,QAAQ,OAAO,CAAC,EAAE,EAAE,YACpE,CAAC,CAAC,YAAY,CAAC,GACN,IACX,CACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,GAAG,CAAA;;CAEvB,CAAA;AAED,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;CAYvB,CAAA;AAED,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;CAWxB,CAAA;AAED,MAAM,aAAa,GAAG,GAAG,CAAA;;;CAGxB,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,OAAoB,EAAE,EAAE;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACxC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC,CAAA"}
@@ -2,7 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@emotion/reac
2
2
  import { css, useTheme } from '@emotion/react';
3
3
  import { faChessPawn } from '@fortawesome/free-solid-svg-icons/faChessPawn';
4
4
  import { faTrophy } from '@fortawesome/free-solid-svg-icons/faTrophy';
5
- import { faXmark } from '@fortawesome/free-solid-svg-icons/faXmark';
6
5
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
7
6
  import { GameMode, PLATFORM_URI, useGameSelector } from '@gamepark/react-client';
8
7
  import { isCompetitive } from '@gamepark/rules-api';
@@ -15,7 +14,8 @@ import { gameContext } from '../../GameProvider';
15
14
  import { Medal } from '../../menus';
16
15
  import { NavButton } from '../../menus/Menu/NavButton';
17
16
  import { RestartTutorialButton } from '../../menus/RestartTutorialButton';
18
- import { Dialog } from '../Dialog';
17
+ import { RulesDialog } from '../RulesDialog';
18
+ import { helpDialogContentCss } from '../RulesDialog/RulesHelpDialogContent';
19
19
  import { RematchSection } from './RematchSection';
20
20
  import { usePlayerScoring, useScoringHeader } from './useScoringTable';
21
21
  const query = new URLSearchParams(window.location.search);
@@ -32,14 +32,18 @@ export const ResultDialog = ({ openDialog, close, ...props }) => {
32
32
  const scoringCells = useScoringHeader();
33
33
  let row = (gameMode === GameMode.TOURNAMENT ? 3 : gameMode === GameMode.COMPETITIVE ? 2 : 1) + (scoringCells?.length ?? 0);
34
34
  const resultText = useResultText();
35
- const CloseButton = theme.dialog.closeButton;
36
- return (_jsxs(Dialog, { onBackdropClick: close, css: [style, theme.result?.container], ...props, children: [CloseButton ? _jsx(CloseButton, { onClick: close }) : _jsx(FontAwesomeIcon, { icon: faXmark, css: [closeIcon, theme.result?.closeIcon], onClick: close }), _jsxs("div", { css: scrollableContent, children: [_jsx("h2", { children: context.scoring?.ResultHeader ? _jsx(context.scoring.ResultHeader, {}) : resultText }), _jsxs("div", { css: buttonLine, children: [gameMode === GameMode.TOURNAMENT && tournament ?
37
- _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}/tournaments/${tournament.number}`, children: t('result.tournament.link') })
38
- :
39
- _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}`, children: t('Back to Game Park') }), gameMode === GameMode.COMPETITIVE &&
40
- _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}/play/competitive?auto=true`, children: t('Play again') }), gameMode === GameMode.COMPETITIVE &&
41
- _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}/ranking`, children: t('See overall ranking') })] }), _jsxs("div", { css: [gridCss, row > 1 ? multiRows(rankedPlayers.length, row) : singleRow(rankedPlayers.length)], children: [row > 1 && _jsx("div", { css: stickyHeader }), gameMode === GameMode.TOURNAMENT && _jsx("div", { css: [borderTopCss, left], children: t('Tournament') }), (gameMode === GameMode.TOURNAMENT || gameMode === GameMode.COMPETITIVE) && _jsx("div", { css: [borderTopCss, left], children: t('Ranking') }), scoringCells.map((cell, index) => (_jsx("div", { css: [borderTopCss, left], children: cell }, index))), rankedPlayers.map((player, index) => _jsx(PlayerDisplay, { playerId: player.id, gameMode: gameMode, rank: isCompetitive(rules) && player.rank <= 3 ? player.rank : undefined, border: row > 1 }, index))] }), gameMode === GameMode.TUTORIAL &&
42
- _jsxs("div", { children: [_jsx("p", { css: css `white-space: break-spaces;`, children: t('tuto.over') }), _jsxs("p", { css: buttonsLine, children: [_jsx(RestartTutorialButton, {}), _jsxs(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}/play`, css: css `margin-left: 1em;`, children: [_jsx(FontAwesomeIcon, { icon: faChessPawn }), t('Play')] })] })] }), gameId !== null && _jsx(RematchSection, { openDialog: openDialog })] })] }));
35
+ return (
36
+ // RulesDialog wraps Dialog with the standard close button slot (theme.dialog.closeButton)
37
+ // so the result popup shares the same chrome — and the same font-size context as
38
+ // the rules / extension dialogs. No more font-size: calc(3.2em * var(--gp-scale))
39
+ // override here; the inherited theme.dialog.container handles sizing.
40
+ _jsx(RulesDialog, { close: close, css: [style, theme.result?.container], ...props, children: _jsxs("div", { css: [helpDialogContentCss, scrollableContent, theme.dialog.content], children: [_jsx("h2", { children: context.scoring?.ResultHeader ? _jsx(context.scoring.ResultHeader, {}) : resultText }), _jsxs("div", { css: buttonLine, children: [gameMode === GameMode.TOURNAMENT && tournament ?
41
+ _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}/tournaments/${tournament.number}`, children: t('result.tournament.link') })
42
+ :
43
+ _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}`, children: t('Back to Game Park') }), gameMode === GameMode.COMPETITIVE &&
44
+ _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}/play/competitive?auto=true`, children: t('Play again') }), gameMode === GameMode.COMPETITIVE &&
45
+ _jsx(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}/ranking`, children: t('See overall ranking') })] }), _jsxs("div", { css: [gridCss, row > 1 ? multiRows(rankedPlayers.length, row) : singleRow(rankedPlayers.length)], children: [row > 1 && _jsx("div", { css: stickyHeader }), gameMode === GameMode.TOURNAMENT && _jsx("div", { css: [borderTopCss, left], children: t('Tournament') }), (gameMode === GameMode.TOURNAMENT || gameMode === GameMode.COMPETITIVE) && _jsx("div", { css: [borderTopCss, left], children: t('Ranking') }), scoringCells.map((cell, index) => (_jsx("div", { css: [borderTopCss, left], children: cell }, index))), rankedPlayers.map((player, index) => _jsx(PlayerDisplay, { playerId: player.id, gameMode: gameMode, rank: isCompetitive(rules) && player.rank <= 3 ? player.rank : undefined, border: row > 1 }, index))] }), gameMode === GameMode.TUTORIAL &&
46
+ _jsxs("div", { children: [_jsx("p", { css: css `white-space: break-spaces;`, children: t('tuto.over') }), _jsxs("p", { css: buttonsLine, children: [_jsx(RestartTutorialButton, {}), _jsxs(NavButton, { url: `${PLATFORM_URI}/${locale}/board-games/${context.game}/play`, css: css `margin-left: 1em;`, children: [_jsx(FontAwesomeIcon, { icon: faChessPawn }), t('Play')] })] })] }), gameId !== null && _jsx(RematchSection, { openDialog: openDialog })] }) }));
43
47
  };
44
48
  const PlayerDisplay = ({ gameMode, playerId, rank, border }) => {
45
49
  const playerName = usePlayerName(playerId);
@@ -55,29 +59,27 @@ const centered = css `
55
59
  }
56
60
  `;
57
61
  const style = css `
58
- font-size: calc(3.2em * var(--gp-scale));
59
62
  text-align: center;
60
63
  max-height: 90vh;
61
64
  max-height: 90dvh;
62
65
  display: flex;
63
66
  flex-direction: column;
64
-
65
- > h2 {
66
- margin: 0 1em 0.5em;
67
- }
67
+ /* Match the RulesDialog vertical padding: helpDialogCss in
68
+ RulesHelpDialogContent wraps its content in a 3em-padding box,
69
+ which is what gives every rules popup its consistent top breathing
70
+ room. Mirroring it here keeps the ResultDialog visually aligned
71
+ with the rest of the dialog family. */
72
+ padding: 3em;
68
73
  `;
69
74
  const scrollableContent = css `
70
75
  overflow-y: auto;
71
76
  flex: 1;
72
77
  min-height: 0;
73
- `;
74
- const closeIcon = css `
75
- position: absolute;
76
- right: 0.8em;
77
- top: 0.6em;
78
- font-size: 1.3em;
79
- cursor: pointer;
80
- z-index: 2;
78
+
79
+ > h2 {
80
+ margin: 0 1em 0.5em;
81
+ text-align: center;
82
+ }
81
83
  `;
82
84
  const stickyHeader = css `
83
85
  position: sticky;
@@ -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":"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"}