@jjlmoya/utils-tabletop 1.28.0 → 1.29.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.
package/package.json
CHANGED
|
@@ -2,19 +2,27 @@
|
|
|
2
2
|
import './online-mus-scoreboard.css';
|
|
3
3
|
import { musScoreboard } from './index';
|
|
4
4
|
import type { KnownLocale } from '../../types';
|
|
5
|
+
import type { MusScoreboardUI } from './ui';
|
|
5
6
|
|
|
6
7
|
interface Props {
|
|
8
|
+
ui?: MusScoreboardUI;
|
|
7
9
|
locale?: KnownLocale;
|
|
8
10
|
}
|
|
9
11
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (!
|
|
14
|
-
const
|
|
12
|
+
const props = Astro.props as Props;
|
|
13
|
+
let ui = props.ui;
|
|
14
|
+
|
|
15
|
+
if (!ui) {
|
|
16
|
+
const locale = props.locale || 'en';
|
|
17
|
+
const loader = musScoreboard.i18n[locale] || musScoreboard.i18n.en;
|
|
18
|
+
const content = await loader?.();
|
|
19
|
+
ui = content?.ui;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (!ui) return null;
|
|
15
23
|
---
|
|
16
24
|
|
|
17
|
-
<div class="mus-scoreboard" data-mus-scoreboard>
|
|
25
|
+
<div class="mus-scoreboard" data-mus-scoreboard data-ui={JSON.stringify(ui)}>
|
|
18
26
|
<div class="mus-board-card">
|
|
19
27
|
<section class="mus-onboarding" aria-labelledby="mus-how-to-use">
|
|
20
28
|
<div class="mus-onboarding-mark" aria-hidden="true">
|
|
@@ -24,7 +32,7 @@ const { ui } = content;
|
|
|
24
32
|
<span></span>
|
|
25
33
|
</div>
|
|
26
34
|
<div>
|
|
27
|
-
<p class="mus-kicker" id="mus-how-to-use">
|
|
35
|
+
<p class="mus-kicker" id="mus-how-to-use">{ui.liveMatch}</p>
|
|
28
36
|
<p class="mus-onboarding-copy">{ui.onboarding}</p>
|
|
29
37
|
</div>
|
|
30
38
|
</section>
|
|
@@ -32,7 +40,7 @@ const { ui } = content;
|
|
|
32
40
|
<form class="mus-config" data-config-form>
|
|
33
41
|
<div class="mus-config-heading">
|
|
34
42
|
<div>
|
|
35
|
-
<p class="mus-kicker">
|
|
43
|
+
<p class="mus-kicker">{ui.matchSettings}</p>
|
|
36
44
|
<h2>{ui.matchSettings}</h2>
|
|
37
45
|
</div>
|
|
38
46
|
<span class="mus-rule-seal" aria-hidden="true">MUS</span>
|
|
@@ -160,10 +168,12 @@ const { ui } = content;
|
|
|
160
168
|
</div>
|
|
161
169
|
</div>
|
|
162
170
|
|
|
163
|
-
<script type="application/json" data-mus-ui set:html={JSON.stringify(ui)}></script>
|
|
164
171
|
<script>
|
|
165
172
|
import { mountMusScoreboard } from './controller';
|
|
173
|
+
|
|
166
174
|
const root = document.querySelector<HTMLElement>('[data-mus-scoreboard]');
|
|
167
|
-
|
|
168
|
-
|
|
175
|
+
if (root) {
|
|
176
|
+
const ui = JSON.parse(root.dataset.ui || '{}');
|
|
177
|
+
mountMusScoreboard(root, ui);
|
|
178
|
+
}
|
|
169
179
|
</script>
|