@terrafirmagreg-team/game 1.2.4 → 1.2.6
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 +8 -8
- package/src/hooks/use-lang-map.ts +5 -2
- package/src/lib/entry/icon-load.ts +14 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@terrafirmagreg-team/game",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Game-data components and catalogs",
|
|
6
6
|
"license": "LGPL-3.0-only",
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
"./styles.css": "./styles.css"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@terrafirmagreg-team/data": "^1.2.
|
|
29
|
-
"@terrafirmagreg-team/dump": "^1.2.
|
|
30
|
-
"@terrafirmagreg-team/kit": "^1.2.
|
|
31
|
-
"@terrafirmagreg-team/search": "^1.2.
|
|
32
|
-
"@terrafirmagreg-team/sites": "^1.2.
|
|
33
|
-
"@terrafirmagreg-team/translate": "^1.2.
|
|
34
|
-
"@terrafirmagreg-team/ui": "^1.2.
|
|
28
|
+
"@terrafirmagreg-team/data": "^1.2.3",
|
|
29
|
+
"@terrafirmagreg-team/dump": "^1.2.6",
|
|
30
|
+
"@terrafirmagreg-team/kit": "^1.2.11",
|
|
31
|
+
"@terrafirmagreg-team/search": "^1.2.6",
|
|
32
|
+
"@terrafirmagreg-team/sites": "^1.2.2",
|
|
33
|
+
"@terrafirmagreg-team/translate": "^1.2.8",
|
|
34
|
+
"@terrafirmagreg-team/ui": "^1.2.8",
|
|
35
35
|
"fumadocs-core": "16.17.10",
|
|
36
36
|
"lucide-react": "^1.63.0",
|
|
37
37
|
"server-only": "^0.0.1"
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import type { DatasetRef } from '@terrafirmagreg-team/sites/location';
|
|
3
3
|
|
|
4
4
|
import { useAsyncResult } from '@terrafirmagreg-team/ui/hooks/use-async-value';
|
|
5
|
+
import { useDumpRetryNonce } from '@terrafirmagreg-team/kit/hooks/use-dump-status';
|
|
6
|
+
import { useLastValue } from '@terrafirmagreg-team/ui/hooks/use-last-value';
|
|
5
7
|
import { dumpReader } from '@terrafirmagreg-team/dump/lib/dump/reader';
|
|
6
8
|
|
|
7
9
|
export function useLangMap(
|
|
@@ -9,12 +11,13 @@ export function useLangMap(
|
|
|
9
11
|
lang: string | undefined,
|
|
10
12
|
enabled = true,
|
|
11
13
|
): Record<string, string> | undefined {
|
|
14
|
+
const nonce = useDumpRetryNonce();
|
|
12
15
|
const { value, pending } = useAsyncResult(
|
|
13
16
|
enabled && dataset && lang
|
|
14
17
|
? () => dumpReader(dataset).then((reader) => reader.getLang(lang))
|
|
15
18
|
: false,
|
|
16
|
-
[dataset, lang, enabled],
|
|
19
|
+
[dataset, lang, enabled, nonce],
|
|
17
20
|
);
|
|
18
|
-
return pending ? undefined : value;
|
|
21
|
+
return useLastValue(pending ? undefined : value, dataset?.id ?? '');
|
|
19
22
|
}
|
|
20
23
|
|
|
@@ -88,18 +88,20 @@ const fetchTagMembersList = createDatasetCache(
|
|
|
88
88
|
return members;
|
|
89
89
|
}
|
|
90
90
|
const spriteKind = TAG_ICON_SPRITE_KIND[memberKind];
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
91
|
+
const found = await Promise.all(
|
|
92
|
+
members.map(async (member) => {
|
|
93
|
+
const itemId =
|
|
94
|
+
memberKind === 'block'
|
|
95
|
+
? await fetchBlockItem(dataset, member)
|
|
96
|
+
: member;
|
|
97
|
+
const ns = itemId.split(':', 1)[0];
|
|
98
|
+
const bundle = ns ? await fetchAtlases(dataset, ns) : null;
|
|
99
|
+
return lookupSpriteInBundle(bundle, { id: itemId, kind: spriteKind })
|
|
100
|
+
? member
|
|
101
|
+
: null;
|
|
102
|
+
}),
|
|
103
|
+
);
|
|
104
|
+
const out = found.filter((member): member is string => member !== null);
|
|
103
105
|
return out.length ? out : [members[0]];
|
|
104
106
|
},
|
|
105
107
|
);
|