@terrafirmagreg-team/recipe 0.1.0 → 1.2.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.
Files changed (240) hide show
  1. package/package.json +16 -16
  2. package/src/components/button-copy.tsx +1 -0
  3. package/src/components/cards/card/index.tsx +5 -3
  4. package/src/components/cards/card/scene.tsx +4 -2
  5. package/src/components/cards/card/strip.tsx +4 -2
  6. package/src/components/cards/card/text.tsx +2 -1
  7. package/src/components/cards/card/tips.tsx +1 -0
  8. package/src/components/cards/default-item.tsx +6 -2
  9. package/src/components/cards/glare-filter.tsx +1 -0
  10. package/src/components/cards/paged-card.tsx +1 -0
  11. package/src/components/cards/slot-hitbox.tsx +4 -2
  12. package/src/components/cards/strip-card/buttons.tsx +7 -2
  13. package/src/components/cards/strip-card/index.tsx +3 -1
  14. package/src/components/cards/strip-card/member-cell.tsx +4 -2
  15. package/src/components/cards/strip-card/sprite.tsx +1 -0
  16. package/src/components/embed-card.tsx +44 -0
  17. package/src/components/mdx/recipe.tsx +34 -16
  18. package/src/components/tool-list.tsx +1 -0
  19. package/src/{lib/tree.ts → components/tree.tsx} +20 -12
  20. package/src/components/views/alloy/index.tsx +14 -7
  21. package/src/components/views/alloy/list.tsx +3 -2
  22. package/src/components/views/alloy/mix/index.tsx +1 -0
  23. package/src/components/views/alloy/mix/ratio.tsx +7 -6
  24. package/src/components/views/alloy/mix/rows.tsx +6 -7
  25. package/src/components/views/alloy/mix/status.tsx +8 -7
  26. package/src/components/views/alloy/mix/total.tsx +13 -12
  27. package/src/components/views/alloy/range-bar.tsx +2 -1
  28. package/src/components/views/alloy/stack-bar.tsx +4 -2
  29. package/src/components/views/browser/axis-switcher.tsx +13 -12
  30. package/src/components/views/browser/card-grid.tsx +2 -1
  31. package/src/components/views/browser/favorite-button.tsx +2 -1
  32. package/src/components/views/browser/frame.tsx +3 -2
  33. package/src/components/views/browser/index.tsx +20 -2
  34. package/src/components/views/browser/item-panel/index.tsx +11 -9
  35. package/src/components/views/browser/item-panel/skeleton.tsx +1 -0
  36. package/src/components/views/browser/item-panel-grid/cell.tsx +5 -3
  37. package/src/components/views/browser/item-panel-grid/favorite-cell.tsx +4 -2
  38. package/src/components/views/browser/item-panel-grid/index.tsx +4 -2
  39. package/src/components/views/browser/item-view/index.tsx +7 -12
  40. package/src/components/views/browser/item-view/tags.tsx +7 -5
  41. package/src/components/views/browser/item-view-header.tsx +10 -9
  42. package/src/components/views/browser/pane-tabs.tsx +1 -0
  43. package/src/components/views/browser/place-header.tsx +4 -3
  44. package/src/components/views/browser/query-controls.tsx +3 -1
  45. package/src/components/views/browser/recipe-item-header.tsx +5 -4
  46. package/src/components/views/browser/settings.tsx +4 -3
  47. package/src/components/views/browser/toolbar.tsx +3 -2
  48. package/src/components/views/browser/type-tabs.tsx +5 -3
  49. package/src/components/views/browser/type-view.tsx +7 -12
  50. package/src/components/views/browser/workstation-rail.tsx +4 -3
  51. package/src/components/views/calc/calculator/actions.tsx +4 -14
  52. package/src/components/views/calc/calculator/help.tsx +69 -28
  53. package/src/components/views/calc/calculator/index.tsx +34 -82
  54. package/src/components/views/calc/dot-overlay.tsx +1 -0
  55. package/src/components/views/calc/edge.tsx +134 -32
  56. package/src/components/views/calc/flow/index.tsx +92 -54
  57. package/src/components/views/calc/flow/picker-dialogs.tsx +84 -6
  58. package/src/components/views/calc/flow/toolbar.tsx +9 -21
  59. package/src/components/views/calc/flow/view-menu.tsx +16 -120
  60. package/src/components/views/calc/member-picker.tsx +8 -6
  61. package/src/components/views/calc/node-card/actions.tsx +28 -106
  62. package/src/components/views/calc/node-card/badges.tsx +10 -28
  63. package/src/components/views/calc/node-card/chips.tsx +8 -40
  64. package/src/components/views/calc/node-card/far.tsx +13 -65
  65. package/src/components/views/calc/node-card/full.tsx +133 -83
  66. package/src/components/views/calc/node-card/index.tsx +1 -0
  67. package/src/components/views/calc/node-card/menu.tsx +93 -22
  68. package/src/components/views/calc/node-card/port-cells.tsx +186 -0
  69. package/src/components/views/calc/node-card/port-rails.tsx +251 -0
  70. package/src/components/views/calc/node-card/ports.tsx +86 -0
  71. package/src/components/views/calc/recipe-picker/body.tsx +17 -14
  72. package/src/components/views/calc/recipe-picker/footer.tsx +5 -3
  73. package/src/components/views/calc/recipe-picker/index.tsx +5 -0
  74. package/src/components/views/calc/sidebar.tsx +19 -10
  75. package/src/components/views/calc/trees/icon-picker.tsx +3 -2
  76. package/src/components/views/calc/trees/index.tsx +5 -4
  77. package/src/components/views/calc/trees/label.tsx +6 -4
  78. package/src/components/views/calc/trees/rows.tsx +6 -5
  79. package/src/components/views/forge/gui.tsx +2 -1
  80. package/src/components/views/forge/index.tsx +14 -7
  81. package/src/components/views/forge/list.tsx +3 -2
  82. package/src/components/views/forge/workbench/controls.tsx +13 -6
  83. package/src/components/views/forge/workbench/index.tsx +3 -2
  84. package/src/components/views/forge/workbench/panel.tsx +1 -0
  85. package/src/components/views/forge/workbench/ruler.tsx +5 -4
  86. package/src/components/views/forge/workbench/status.tsx +6 -5
  87. package/src/components/views/forge/workbench/tape.tsx +5 -4
  88. package/src/hooks/alloy/use-fluid-colors.ts +12 -9
  89. package/src/hooks/alloy/use-mix-state.ts +3 -2
  90. package/src/hooks/calc/flow/use-engage.ts +129 -0
  91. package/src/hooks/calc/flow/use-handlers.ts +192 -0
  92. package/src/hooks/calc/flow/use-layout.ts +105 -0
  93. package/src/hooks/calc/flow/{mount.ts → use-mount.ts} +1 -0
  94. package/src/hooks/calc/flow/{nodes.ts → use-nodes.ts} +46 -37
  95. package/src/hooks/calc/flow/use-pickers.ts +57 -0
  96. package/src/hooks/calc/flow/{viewport.ts → use-viewport.ts} +13 -26
  97. package/src/hooks/calc/flow/{window.ts → use-window.ts} +1 -0
  98. package/src/hooks/calc/use-actions.ts +208 -229
  99. package/src/hooks/calc/use-amounts.ts +23 -60
  100. package/src/hooks/calc/use-data.ts +106 -192
  101. package/src/hooks/calc/use-defaults.ts +4 -2
  102. package/src/hooks/calc/use-far-mode.ts +1 -0
  103. package/src/hooks/calc/use-focus.ts +8 -7
  104. package/src/hooks/calc/use-maps.ts +1 -0
  105. package/src/hooks/calc/use-reset.ts +1 -0
  106. package/src/hooks/calc/use-resolver.ts +32 -196
  107. package/src/hooks/calc/use-session.ts +1 -0
  108. package/src/hooks/calc/use-share.ts +5 -2
  109. package/src/hooks/calc/use-storage.ts +5 -4
  110. package/src/hooks/calc/use-tier.ts +1 -0
  111. package/src/hooks/calc/use-view-mode.ts +1 -0
  112. package/src/hooks/calc/use-worker.ts +56 -121
  113. package/src/hooks/forge/use-anvil-gui.ts +4 -2
  114. package/src/hooks/forge/use-forge-state.ts +1 -0
  115. package/src/hooks/forge/use-ruler.ts +1 -0
  116. package/src/hooks/use-add-to-calc.ts +23 -19
  117. package/src/hooks/use-categories-by-id.ts +18 -0
  118. package/src/hooks/use-favorite-hotkey.ts +1 -0
  119. package/src/hooks/use-favorites.ts +1 -0
  120. package/src/hooks/use-group-outlines.ts +1 -0
  121. package/src/hooks/use-hide-unused.ts +2 -1
  122. package/src/hooks/use-index.ts +6 -2
  123. package/src/hooks/use-item-feeds.ts +3 -1
  124. package/src/hooks/use-item-pane.ts +6 -4
  125. package/src/hooks/use-item-press.ts +27 -23
  126. package/src/hooks/use-item-tag-groups.ts +4 -2
  127. package/src/hooks/use-item-tooltips.ts +3 -1
  128. package/src/hooks/use-left-sidebar-tree.ts +11 -3
  129. package/src/hooks/use-mod-names.ts +4 -2
  130. package/src/hooks/use-mount-limit.ts +1 -0
  131. package/src/hooks/use-panel-cells.ts +3 -1
  132. package/src/hooks/use-panel-page.ts +9 -6
  133. package/src/hooks/use-panel-tabs.ts +2 -1
  134. package/src/hooks/use-query.ts +8 -6
  135. package/src/hooks/use-session.ts +6 -2
  136. package/src/hooks/use-sidebar-group.ts +3 -7
  137. package/src/hooks/use-tag-members.ts +3 -1
  138. package/src/hooks/use-tool-recipes.ts +1 -0
  139. package/src/hooks/use-type-filter.ts +1 -0
  140. package/src/lib/alloy/mix.ts +1 -0
  141. package/src/lib/alloy/parse.ts +1 -0
  142. package/src/lib/calc/defaults.ts +6 -4
  143. package/src/lib/calc/flow.ts +143 -107
  144. package/src/lib/calc/focus.ts +1 -0
  145. package/src/lib/calc/meta.ts +3 -1
  146. package/src/lib/calc/pack.ts +47 -154
  147. package/src/lib/calc/ports.ts +43 -0
  148. package/src/lib/calc/resolve.ts +6 -38
  149. package/src/lib/calc/route/buckets.ts +1 -0
  150. package/src/lib/calc/route/geometry.ts +13 -24
  151. package/src/lib/calc/route/index.ts +1 -0
  152. package/src/lib/calc/route/polyline.ts +3 -3
  153. package/src/lib/calc/route/router.ts +181 -57
  154. package/src/lib/calc/scheme.ts +226 -0
  155. package/src/lib/calc/storage/entry.ts +27 -19
  156. package/src/lib/calc/storage/index.ts +2 -0
  157. package/src/lib/calc/storage/keys.ts +4 -8
  158. package/src/lib/calc/storage/store.ts +11 -36
  159. package/src/lib/calc/tree/index.ts +2 -16
  160. package/src/lib/calc/tree/materials.ts +1 -0
  161. package/src/lib/calc/tree/recipe.ts +1 -0
  162. package/src/lib/calc/tree/share.ts +86 -149
  163. package/src/lib/calc/worker/api.ts +3 -11
  164. package/src/lib/calc/worker/fetch.ts +1 -0
  165. package/src/lib/calc/worker/flush.ts +7 -20
  166. package/src/lib/calc/worker/index.ts +1 -1
  167. package/src/lib/calc/worker/protocol.ts +16 -13
  168. package/src/lib/calc/worker/resolve.ts +32 -84
  169. package/src/lib/calc/worker/state.ts +5 -6
  170. package/src/{components/cards/card/model.ts → lib/card-model.ts} +1 -0
  171. package/src/lib/client/recipe-categories.ts +11 -93
  172. package/src/lib/client/recipe.ts +13 -11
  173. package/src/lib/client-index/catalog.ts +33 -27
  174. package/src/lib/client-index/chrome.ts +30 -30
  175. package/src/lib/client-index/index.ts +1 -0
  176. package/src/lib/client-index/registry.ts +70 -59
  177. package/src/lib/client-index/rows.ts +63 -57
  178. package/src/lib/client-index/tooltips.ts +28 -34
  179. package/src/lib/config.ts +2 -1
  180. package/src/lib/data/category/dto.ts +4 -3
  181. package/src/lib/data/category/load.ts +9 -8
  182. package/src/lib/data/category/parse.ts +4 -3
  183. package/src/lib/data/dto.ts +4 -3
  184. package/src/lib/data/grid.ts +2 -1
  185. package/src/lib/data/parse/entry.ts +3 -2
  186. package/src/lib/data/parse/index.ts +1 -0
  187. package/src/lib/data/parse/layout.ts +5 -2
  188. package/src/lib/data/parse/slots.ts +3 -2
  189. package/src/lib/data/parse/widgets.ts +3 -2
  190. package/src/lib/data/scene.ts +1 -1
  191. package/src/lib/data/slot-io.ts +1 -0
  192. package/src/lib/dump.ts +4 -3
  193. package/src/lib/embed.ts +22 -0
  194. package/src/lib/favorite-hover.ts +1 -0
  195. package/src/lib/fluid-outputs.ts +10 -12
  196. package/src/lib/forge/actions.ts +2 -1
  197. package/src/lib/forge/data.ts +2 -1
  198. package/src/lib/forge/solve.ts +1 -0
  199. package/src/lib/group.ts +1 -0
  200. package/src/lib/index-store.ts +15 -9
  201. package/src/lib/links.ts +15 -9
  202. package/src/lib/lookup.ts +10 -8
  203. package/src/lib/panel-outline.ts +1 -0
  204. package/src/lib/panel.ts +3 -2
  205. package/src/lib/preview.ts +12 -8
  206. package/src/lib/recipe-slots.ts +1 -0
  207. package/src/lib/search.ts +1 -0
  208. package/src/lib/sidebar.ts +1 -0
  209. package/src/lib/used-items.ts +1 -0
  210. package/src/locales/en_us.json +170 -226
  211. package/src/locales/ru_ru.json +170 -226
  212. package/src/locales.ts +1 -0
  213. package/src/types/alloy.ts +1 -0
  214. package/src/{hooks/calc/flow/props.ts → types/calc-flow-props.ts} +18 -14
  215. package/src/types/calc.ts +41 -44
  216. package/src/types/forge.ts +1 -0
  217. package/src/types/index.ts +4 -2
  218. package/styles/calc.css +308 -47
  219. package/src/components/cards/fit-card.tsx +0 -26
  220. package/src/components/views/calc/target.tsx +0 -271
  221. package/src/hooks/calc/flow/engage.ts +0 -89
  222. package/src/hooks/calc/flow/handlers.ts +0 -115
  223. package/src/hooks/calc/flow/layout.ts +0 -149
  224. package/src/hooks/calc/flow/pickers.ts +0 -50
  225. package/src/hooks/calc/use-calc-fill.ts +0 -91
  226. package/src/hooks/calc/use-density.ts +0 -28
  227. package/src/hooks/calc/use-derived.ts +0 -258
  228. package/src/hooks/calc/use-direction.ts +0 -23
  229. package/src/hooks/calc/use-edge-style.ts +0 -40
  230. package/src/hooks/calc/use-fill.ts +0 -213
  231. package/src/lib/alloy/alloy.test.ts +0 -186
  232. package/src/lib/calc/tree/build.ts +0 -196
  233. package/src/lib/calc/tree/context.ts +0 -42
  234. package/src/lib/calc/tree/goal.ts +0 -64
  235. package/src/lib/calc/tree/ideal.ts +0 -36
  236. package/src/lib/calc/tree/pick.ts +0 -68
  237. package/src/lib/calc/tree/tree.test.ts +0 -169
  238. package/src/lib/calc/worker/fill.ts +0 -123
  239. package/src/lib/client-index/cache.ts +0 -13
  240. package/src/lib/forge/forge.test.ts +0 -123
package/src/lib/links.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import { encodeQueryValue, withLang } from '@terrafirmagreg-team/translate/lib/url';
2
2
  import type { Lang } from '@terrafirmagreg-team/translate/types/locale';
3
- import { sectionUrl } from '@terrafirmagreg-team/kit/lib/location';
4
- import { dumpRelPublicUrl, splitDumpId, tagPseudoId } from '@terrafirmagreg-team/game/lib/dump/paths';
3
+ import {
4
+ type DatasetRef,
5
+ sectionUrl,
6
+ } from '@terrafirmagreg-team/sites/location';
7
+ import { dumpRelPublicUrl, splitDumpId, tagPseudoId } from '@terrafirmagreg-team/dump/lib/dump/paths';
5
8
  import type { RecipeHrefOpts, RecipePlace } from '@terrafirmagreg-team/recipe/types';
6
9
 
7
10
  export type { RecipeHrefOpts, RecipePlace } from '@terrafirmagreg-team/recipe/types';
@@ -17,8 +20,8 @@ function recipeQuery(
17
20
  return parts.join('&');
18
21
  }
19
22
 
20
- export function recipeBasePath(dataset: string): string {
21
- return sectionUrl('recipe', dataset);
23
+ export function recipeBasePath(dataset: DatasetRef): string {
24
+ return sectionUrl('recipe', dataset.id);
22
25
  }
23
26
 
24
27
  export const RECIPE_ALL_TYPE = 'all';
@@ -44,7 +47,7 @@ export function recipePlaceOpts(
44
47
  }
45
48
 
46
49
  export function recipeHref(
47
- dataset: string,
50
+ dataset: DatasetRef,
48
51
  lang: Lang | undefined,
49
52
  opts?: RecipeHrefOpts,
50
53
  ): string {
@@ -64,6 +67,7 @@ export function recipeHref(
64
67
  'rpage',
65
68
  opts?.rpage && opts.rpage > 1 ? Math.floor(opts.rpage) : undefined,
66
69
  ],
70
+ ['version', dataset.version],
67
71
  ]);
68
72
  const base = recipeBasePath(dataset);
69
73
  const href = query ? `${base}?${query}` : base;
@@ -71,20 +75,21 @@ export function recipeHref(
71
75
  }
72
76
 
73
77
  export function recipeCalcHref(
74
- dataset: string,
78
+ dataset: DatasetRef,
75
79
  lang: Lang | undefined,
76
80
  tree?: string,
77
81
  ): string {
78
82
  const query = recipeQuery([
79
83
  ['tool', 'calc'],
80
84
  ['tree', tree],
85
+ ['version', dataset.version],
81
86
  ]);
82
87
  const href = `${recipeBasePath(dataset)}?${query}`;
83
88
  return lang ? withLang(href, lang) : href;
84
89
  }
85
90
 
86
91
  export function recipeStackHref(
87
- dataset: string,
92
+ dataset: DatasetRef,
88
93
  lang: Lang,
89
94
  id: string,
90
95
  opts?: Pick<RecipeHrefOpts, 'tab' | 'search'> & {
@@ -110,10 +115,10 @@ export function recipeStackHref(
110
115
  : recipeHref(dataset, lang, { item: id, ...kept });
111
116
  }
112
117
 
113
- export { recipeImageUrl } from '@terrafirmagreg-team/game/lib/dump/assets/urls';
118
+ export { recipeImageUrl } from '@terrafirmagreg-team/dump/lib/dump/assets/urls';
114
119
 
115
120
  export function recipeCardImageUrl(
116
- dataset: string,
121
+ dataset: DatasetRef,
117
122
  recipeId: string | undefined,
118
123
  ): string | undefined {
119
124
  const parts = recipeId ? splitDumpId(recipeId) : undefined;
@@ -123,3 +128,4 @@ export function recipeCardImageUrl(
123
128
  `assets/${parts.ns}/textures/recipe/${parts.path}.webp`,
124
129
  );
125
130
  }
131
+
package/src/lib/lookup.ts CHANGED
@@ -1,17 +1,18 @@
1
- import { asStringList } from '@terrafirmagreg-team/game/lib/dump/contract/read';
1
+ import type { DatasetRef } from '@terrafirmagreg-team/sites/location';
2
+ import { asStringList } from '@terrafirmagreg-team/dump/lib/dump/contract/read';
2
3
  import type { RecipeCompactIndex, RecipeCompactRow } from '@terrafirmagreg-team/recipe/types';
3
- import { registryId, splitDumpId } from '@terrafirmagreg-team/game/lib/dump/paths';
4
- import { resolveClientTag } from '@terrafirmagreg-team/game/lib/dump/client/tags';
4
+ import { registryId, splitDumpId } from '@terrafirmagreg-team/dump/lib/dump/paths';
5
+ import { resolveClientTag } from '@terrafirmagreg-team/dump/lib/dump/client/tags';
5
6
  import {
6
7
  loadRegistryEntrySlice,
7
8
  loadTagSlice,
8
9
  loadTypeRows,
9
10
  resolveRecipeRows,
10
11
  } from '@terrafirmagreg-team/recipe/lib/client-index';
11
- import { stackIdFromRef } from '@terrafirmagreg-team/game/lib/dump/contract/ref';
12
+ import { stackIdFromRef } from '@terrafirmagreg-team/dump/lib/dump/contract/ref';
12
13
  import { loadFluidIoIndex } from '@terrafirmagreg-team/recipe/lib/fluid-outputs';
13
14
 
14
- export { registryId, tagPseudoId } from '@terrafirmagreg-team/game/lib/dump/paths';
15
+ export { registryId, tagPseudoId } from '@terrafirmagreg-team/dump/lib/dump/paths';
15
16
 
16
17
  function uniqueRows(rows: RecipeCompactRow[]): RecipeCompactRow[] {
17
18
  const seen = new Set<string>();
@@ -25,7 +26,7 @@ function uniqueRows(rows: RecipeCompactRow[]): RecipeCompactRow[] {
25
26
  const ALL_KINDS = ['item', 'block', 'fluid', 'entity'];
26
27
 
27
28
  async function entryEdges(
28
- dataset: string,
29
+ dataset: DatasetRef,
29
30
  kinds: string[],
30
31
  id: string,
31
32
  field: 'usedBy' | 'producedBy',
@@ -41,7 +42,7 @@ async function entryEdges(
41
42
  }
42
43
 
43
44
  export async function recipesForOutput(
44
- dataset: string,
45
+ dataset: DatasetRef,
45
46
  index: RecipeCompactIndex,
46
47
  item: string,
47
48
  opts?: { includeTagRows?: boolean },
@@ -59,7 +60,7 @@ export async function recipesForOutput(
59
60
  }
60
61
 
61
62
  export async function usesForInput(
62
- dataset: string,
63
+ dataset: DatasetRef,
63
64
  index: RecipeCompactIndex,
64
65
  item: string,
65
66
  kind: string = 'item',
@@ -115,3 +116,4 @@ export async function usesForInput(
115
116
  ...stationRows.flat(),
116
117
  ]);
117
118
  }
119
+
@@ -83,3 +83,4 @@ export function groupOutlines(
83
83
  }
84
84
  return out;
85
85
  }
86
+
package/src/lib/panel.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  stackIdFromRef,
3
3
  type TaggedReference,
4
- } from '@terrafirmagreg-team/game/lib/dump/contract/ref';
5
- import { registryId } from '@terrafirmagreg-team/game/lib/dump/paths';
4
+ } from '@terrafirmagreg-team/dump/lib/dump/contract/ref';
5
+ import { registryId } from '@terrafirmagreg-team/dump/lib/dump/paths';
6
6
  import { recipeItemName } from '@terrafirmagreg-team/recipe/lib/client-index';
7
7
  import type { Lang } from '@terrafirmagreg-team/translate/types/locale';
8
8
  import type {
@@ -102,3 +102,4 @@ export function panelTabRows(
102
102
  }
103
103
  return rows;
104
104
  }
105
+
@@ -1,9 +1,9 @@
1
- import { registerPreviewResolver } from '@terrafirmagreg-team/kit/lib/preview';
2
- import { clientDumpLang } from '@terrafirmagreg-team/game/lib/dump/client/dump';
3
- import { loadClientRecipeCategories } from '@terrafirmagreg-team/recipe/lib/client/recipe-categories';
4
- import { langString } from '@terrafirmagreg-team/game/lib/dump/assets/lang/names';
1
+ import { registerPreviewResolver } from '@terrafirmagreg-team/preview/lib';
2
+ import { clientDumpLang } from '@terrafirmagreg-team/dump/lib/dump/client/dump';
3
+ import { loadDatasetRecipeCategories } from '@terrafirmagreg-team/recipe/lib/data/category/load';
4
+ import { langString } from '@terrafirmagreg-team/dump/lib/dump/assets/lang/names';
5
5
  import { entryPreviewIcon } from '@terrafirmagreg-team/game/lib/preview';
6
- import type { PreviewResolverCtx } from '@terrafirmagreg-team/kit/lib/preview';
6
+ import type { PreviewResolverCtx } from '@terrafirmagreg-team/preview/lib';
7
7
  import type { PagePreviewData } from '@terrafirmagreg-team/ui/types/preview';
8
8
 
9
9
  export async function recipeLinkPreview({
@@ -11,11 +11,14 @@ export async function recipeLinkPreview({
11
11
  query,
12
12
  langMap,
13
13
  }: PreviewResolverCtx): Promise<PagePreviewData | undefined> {
14
- const dataset = parts[1];
15
- if (!dataset) return undefined;
14
+ const dataset = {
15
+ id: parts[1] ?? '',
16
+ version: query.get('version') ?? undefined,
17
+ };
18
+ if (!dataset.id) return undefined;
16
19
  const type = query.get('type');
17
20
  if (!type) return { title: 'Recipes' };
18
- const categories = await loadClientRecipeCategories(dataset);
21
+ const categories = await loadDatasetRecipeCategories(dataset);
19
22
  const row = categories.find((category) => category.id === type);
20
23
  if (!row) return { title: type };
21
24
  return {
@@ -26,3 +29,4 @@ export async function recipeLinkPreview({
26
29
  }
27
30
 
28
31
  registerPreviewResolver('recipe', recipeLinkPreview, { langMap: clientDumpLang });
32
+
@@ -5,3 +5,4 @@ export function recipeSlots(recipe: Recipe): RecipeSlotWidget[] {
5
5
  (widget): widget is RecipeSlotWidget => widget.type === 'slot',
6
6
  );
7
7
  }
8
+
package/src/lib/search.ts CHANGED
@@ -136,3 +136,4 @@ export function filterCatalogItemIds(
136
136
  if (!groups.length) return ids;
137
137
  return ids.filter((id) => matchesGameItemSearch(id, ctx, groups));
138
138
  }
139
+
@@ -44,3 +44,4 @@ export function groupRecipeSidebarByMod(
44
44
  $id: `${tree.$id}:mod`,
45
45
  };
46
46
  }
47
+
@@ -22,3 +22,4 @@ export function filterUsedIds(ids: string[], used: UsedItems): string[] {
22
22
  export function hasRecipeUsage(used: UsedItems): boolean {
23
23
  return used.ids.size > 0;
24
24
  }
25
+