@sbugallo/pokecode 0.2.1 → 0.3.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/README.md +17 -11
- package/dist/adapters/opencode/tui/choices/cards.d.ts +4 -0
- package/dist/adapters/opencode/tui/choices/cards.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/choices/cards.jsx +6 -6
- package/dist/adapters/opencode/tui/choices/cards.jsx.map +1 -1
- package/dist/adapters/opencode/tui/choices/encounter.d.ts +2 -0
- package/dist/adapters/opencode/tui/choices/encounter.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/choices/encounter.jsx +1 -1
- package/dist/adapters/opencode/tui/choices/encounter.jsx.map +1 -1
- package/dist/adapters/opencode/tui/components/image-protocol.d.ts +31 -0
- package/dist/adapters/opencode/tui/components/image-protocol.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/components/image-protocol.js +83 -0
- package/dist/adapters/opencode/tui/components/image-protocol.js.map +1 -0
- package/dist/adapters/opencode/tui/components/sprite.d.ts +2 -0
- package/dist/adapters/opencode/tui/components/sprite.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/components/sprite.jsx +1 -1
- package/dist/adapters/opencode/tui/components/sprite.jsx.map +1 -1
- package/dist/adapters/opencode/tui/pc/actions.d.ts +2 -0
- package/dist/adapters/opencode/tui/pc/actions.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/pc/actions.jsx +1 -1
- package/dist/adapters/opencode/tui/pc/actions.jsx.map +1 -1
- package/dist/adapters/opencode/tui/pc/details.d.ts +2 -0
- package/dist/adapters/opencode/tui/pc/details.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/pc/details.jsx +1 -1
- package/dist/adapters/opencode/tui/pc/details.jsx.map +1 -1
- package/dist/adapters/opencode/tui/pc/dialog.d.ts +2 -0
- package/dist/adapters/opencode/tui/pc/dialog.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/pc/dialog.jsx +1 -1
- package/dist/adapters/opencode/tui/pc/dialog.jsx.map +1 -1
- package/dist/adapters/opencode/tui/plugin.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/plugin.jsx +8 -0
- package/dist/adapters/opencode/tui/plugin.jsx.map +1 -1
- package/dist/adapters/opencode/tui/sidebar/register.d.ts +2 -0
- package/dist/adapters/opencode/tui/sidebar/register.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/sidebar/register.jsx +1 -1
- package/dist/adapters/opencode/tui/sidebar/register.jsx.map +1 -1
- package/dist/adapters/opencode/tui/sidebar/view.d.ts +4 -0
- package/dist/adapters/opencode/tui/sidebar/view.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/sidebar/view.jsx +9 -9
- package/dist/adapters/opencode/tui/sidebar/view.jsx.map +1 -1
- package/dist/adapters/opencode/tui/state/cleanup.d.ts +1 -0
- package/dist/adapters/opencode/tui/state/cleanup.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/state/cleanup.js +1 -0
- package/dist/adapters/opencode/tui/state/cleanup.js.map +1 -1
- package/dist/adapters/opencode/tui/travel/actions.d.ts +2 -0
- package/dist/adapters/opencode/tui/travel/actions.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/travel/actions.jsx +1 -1
- package/dist/adapters/opencode/tui/travel/actions.jsx.map +1 -1
- package/dist/adapters/opencode/tui/travel/dialog.d.ts +2 -0
- package/dist/adapters/opencode/tui/travel/dialog.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/travel/dialog.jsx +1 -1
- package/dist/adapters/opencode/tui/travel/dialog.jsx.map +1 -1
- package/dist/adapters/sqlite/game-repository.d.ts +2 -1
- package/dist/adapters/sqlite/game-repository.d.ts.map +1 -1
- package/dist/adapters/sqlite/game-repository.js +9 -1
- package/dist/adapters/sqlite/game-repository.js.map +1 -1
- package/dist/adapters/sqlite/queries/game-state.d.ts +2 -1
- package/dist/adapters/sqlite/queries/game-state.d.ts.map +1 -1
- package/dist/adapters/sqlite/queries/game-state.js +9 -3
- package/dist/adapters/sqlite/queries/game-state.js.map +1 -1
- package/dist/application/contracts/game.d.ts +3 -2
- package/dist/application/contracts/game.d.ts.map +1 -1
- package/dist/application/contracts/game.js +3 -2
- package/dist/application/contracts/game.js.map +1 -1
- package/dist/application/game.d.ts.map +1 -1
- package/dist/application/game.js +5 -1
- package/dist/application/game.js.map +1 -1
- package/dist/application/ports/game.d.ts +2 -1
- package/dist/application/ports/game.d.ts.map +1 -1
- package/dist/application/use-cases/record-usage.d.ts.map +1 -1
- package/dist/application/use-cases/record-usage.js +17 -4
- package/dist/application/use-cases/record-usage.js.map +1 -1
- package/dist/domain/content/catalog.d.ts +4 -0
- package/dist/domain/content/catalog.d.ts.map +1 -1
- package/dist/domain/content/catalog.js +17 -0
- package/dist/domain/content/catalog.js.map +1 -1
- package/dist/domain/content/catalogs/alola-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/alola-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/alola-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/alola-locations-catalog.js.map +1 -1
- package/dist/domain/content/catalogs/galar-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/galar-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/galar-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/galar-locations-catalog.js.map +1 -1
- package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/hoenn-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/hoenn-locations-catalog.js.map +1 -1
- package/dist/domain/content/catalogs/johto-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/johto-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/johto-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/johto-locations-catalog.js.map +1 -1
- package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/kalos-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/kalos-locations-catalog.js.map +1 -1
- package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/kanto-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/kanto-locations-catalog.js.map +1 -1
- package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/paldea-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/paldea-locations-catalog.js.map +1 -1
- package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/sinnoh-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/sinnoh-locations-catalog.js.map +1 -1
- package/dist/domain/content/catalogs/unova-locations-catalog.d.ts +1 -0
- package/dist/domain/content/catalogs/unova-locations-catalog.d.ts.map +1 -1
- package/dist/domain/content/catalogs/unova-locations-catalog.js +1 -0
- package/dist/domain/content/catalogs/unova-locations-catalog.js.map +1 -1
- package/dist/domain/content/schema.d.ts +1 -0
- package/dist/domain/content/schema.d.ts.map +1 -1
- package/dist/domain/content/schema.js +2 -0
- package/dist/domain/content/schema.js.map +1 -1
- package/dist/domain/exploration/exploration.d.ts +20 -0
- package/dist/domain/exploration/exploration.d.ts.map +1 -1
- package/dist/domain/exploration/exploration.js +17 -0
- package/dist/domain/exploration/exploration.js.map +1 -1
- package/dist/domain/usage/usage.d.ts +3 -3
- package/dist/domain/usage/usage.d.ts.map +1 -1
- package/dist/domain/usage/usage.js +4 -2
- package/dist/domain/usage/usage.js.map +1 -1
- package/dist/index.js +67 -10
- package/dist/rpc.js +8 -2
- package/dist/tui.js +195 -36
- package/package.json +1 -1
package/dist/tui.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// src/adapters/opencode/tui/plugin.tsx
|
|
3
3
|
import { Plugin } from "@opencode/plugin/tui";
|
|
4
4
|
import { createClipboard, createHostClipboard, createRendererClipboardAdapter } from "@opentui/core";
|
|
5
|
-
import { createSignal as
|
|
5
|
+
import { createSignal as createSignal11 } from "solid-js";
|
|
6
6
|
|
|
7
7
|
// src/adapters/opencode/rpc/contract.ts
|
|
8
8
|
import { Rpc } from "@opencode/plugin/rpc";
|
|
@@ -135,6 +135,11 @@ var explorationStatusSchema = z4.object({
|
|
|
135
135
|
locationUnlockThreshold: z4.number().int().positive(),
|
|
136
136
|
regionComplete: z4.boolean()
|
|
137
137
|
});
|
|
138
|
+
function locationUnlockThreshold(input) {
|
|
139
|
+
const capped = Math.min(Math.max(input.index, 0), input.championIndex);
|
|
140
|
+
const cumulative = (i) => input.curve.baseTokens * (i + 1) ** input.curve.exponent * (input.championIndex + 1) ** input.curve.regionExponent;
|
|
141
|
+
return Math.round(cumulative(capped + 1) - cumulative(capped));
|
|
142
|
+
}
|
|
138
143
|
function calculateUnlockProgress(input) {
|
|
139
144
|
if (!input.currentLocationIsLatestUnlocked)
|
|
140
145
|
return { kind: "not-latest" };
|
|
@@ -229,10 +234,11 @@ var starterChoiceResultSchema = z8.object({
|
|
|
229
234
|
});
|
|
230
235
|
var gameplayConfigSchema = z8.object({
|
|
231
236
|
pauseOnPendingChoice: z8.boolean().default(true),
|
|
232
|
-
xpTokensPerPoint: z8.number().int().positive().default(1000),
|
|
233
237
|
encounterMinimumTokens: z8.number().int().positive().default(200000),
|
|
234
238
|
encounterMaximumTokens: z8.number().int().positive().default(400000),
|
|
235
|
-
|
|
239
|
+
locationUnlockBaseTokens: z8.number().int().positive().default(4214000),
|
|
240
|
+
locationUnlockExponent: z8.number().positive().default(2.64),
|
|
241
|
+
locationUnlockRegionExponent: z8.number().default(-1.72)
|
|
236
242
|
});
|
|
237
243
|
var usageInputSchema = z8.object({
|
|
238
244
|
sessionId: z8.string().min(1),
|
|
@@ -609,6 +615,53 @@ function createPokemonTuiClient(transport) {
|
|
|
609
615
|
};
|
|
610
616
|
}
|
|
611
617
|
|
|
618
|
+
// src/adapters/opencode/tui/components/image-protocol.ts
|
|
619
|
+
import { createSignal } from "solid-js";
|
|
620
|
+
var graphicsCorrections = [
|
|
621
|
+
{
|
|
622
|
+
terminalName: /^xterm\.js$/i,
|
|
623
|
+
requires: { sixel: true },
|
|
624
|
+
protocol: "sixel",
|
|
625
|
+
reason: "xterm.js image addon Kitty path drops OpenTUI placements"
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
terminalName: /orca/i,
|
|
629
|
+
protocol: "blocks",
|
|
630
|
+
reason: "stablyai/orca#23547"
|
|
631
|
+
}
|
|
632
|
+
];
|
|
633
|
+
var requirementsMet = (requires, capabilities) => {
|
|
634
|
+
if (requires === undefined)
|
|
635
|
+
return true;
|
|
636
|
+
if (requires.sixel !== undefined && capabilities?.sixel !== requires.sixel)
|
|
637
|
+
return false;
|
|
638
|
+
if (requires.kitty_graphics !== undefined && capabilities?.kitty_graphics !== requires.kitty_graphics) {
|
|
639
|
+
return false;
|
|
640
|
+
}
|
|
641
|
+
return true;
|
|
642
|
+
};
|
|
643
|
+
function spriteImageProtocol(capabilities) {
|
|
644
|
+
const configured = capabilities?.image_protocol;
|
|
645
|
+
if (configured !== undefined && configured !== "auto")
|
|
646
|
+
return configured;
|
|
647
|
+
const name = capabilities?.terminal.name ?? "";
|
|
648
|
+
const correction = graphicsCorrections.find((entry) => entry.terminalName.test(name) && requirementsMet(entry.requires, capabilities));
|
|
649
|
+
return correction?.protocol ?? "auto";
|
|
650
|
+
}
|
|
651
|
+
function createImageProtocolState(source) {
|
|
652
|
+
const [protocol, setProtocol] = createSignal(spriteImageProtocol(source.capabilities));
|
|
653
|
+
const listener = (capabilities) => {
|
|
654
|
+
setProtocol(spriteImageProtocol(capabilities));
|
|
655
|
+
};
|
|
656
|
+
source.on("capabilities", listener);
|
|
657
|
+
return {
|
|
658
|
+
protocol,
|
|
659
|
+
dispose: () => {
|
|
660
|
+
source.off("capabilities", listener);
|
|
661
|
+
}
|
|
662
|
+
};
|
|
663
|
+
}
|
|
664
|
+
|
|
612
665
|
// src/adapters/opencode/tui/dex/actions.tsx
|
|
613
666
|
import { createComponent as _$createComponent2 } from "@opentui/solid";
|
|
614
667
|
|
|
@@ -958,7 +1011,7 @@ function createExportAction(dependencies) {
|
|
|
958
1011
|
|
|
959
1012
|
// src/adapters/opencode/tui/pc/actions.tsx
|
|
960
1013
|
import { createComponent as _$createComponent7 } from "@opentui/solid";
|
|
961
|
-
import { createSignal as
|
|
1014
|
+
import { createSignal as createSignal5 } from "solid-js";
|
|
962
1015
|
|
|
963
1016
|
// src/adapters/opencode/tui/pc/dialog.tsx
|
|
964
1017
|
import { memo as _$memo5 } from "@opentui/solid";
|
|
@@ -971,7 +1024,7 @@ import { setProp as _$setProp6 } from "@opentui/solid";
|
|
|
971
1024
|
import { createElement as _$createElement6 } from "@opentui/solid";
|
|
972
1025
|
import { createTextAttributes as createTextAttributes2, MouseButton as MouseButton2 } from "@opentui/core";
|
|
973
1026
|
import { useKeyboard as useKeyboard2, useTerminalDimensions as useTerminalDimensions2 } from "@opentui/solid";
|
|
974
|
-
import { createSignal as
|
|
1027
|
+
import { createSignal as createSignal4, For as For4, Show as Show3 } from "solid-js";
|
|
975
1028
|
|
|
976
1029
|
// src/adapters/presentation/pc-copy.ts
|
|
977
1030
|
var english2 = {
|
|
@@ -106360,7 +106413,7 @@ import { use as _$use2 } from "@opentui/solid";
|
|
|
106360
106413
|
import { createElement as _$createElement3 } from "@opentui/solid";
|
|
106361
106414
|
import { createComponent as _$createComponent3 } from "@opentui/solid";
|
|
106362
106415
|
import { MouseButton } from "@opentui/core";
|
|
106363
|
-
import { createSignal, For as For2, Show } from "solid-js";
|
|
106416
|
+
import { createSignal as createSignal2, For as For2, Show } from "solid-js";
|
|
106364
106417
|
|
|
106365
106418
|
// src/domain/content/catalogs/abilities-catalog.ts
|
|
106366
106419
|
var abilitiesCatalog = [
|
|
@@ -108440,6 +108493,7 @@ var alolaLocationsCatalog = {
|
|
|
108440
108493
|
maximumLevel: 50
|
|
108441
108494
|
}
|
|
108442
108495
|
],
|
|
108496
|
+
championLocationId: "alola-pokemon-league",
|
|
108443
108497
|
locations: [
|
|
108444
108498
|
{
|
|
108445
108499
|
id: "iki-town",
|
|
@@ -114445,6 +114499,7 @@ var galarLocationsCatalog = {
|
|
|
114445
114499
|
maximumLevel: 70
|
|
114446
114500
|
}
|
|
114447
114501
|
],
|
|
114502
|
+
championLocationId: "energy-plant",
|
|
114448
114503
|
locations: [
|
|
114449
114504
|
{
|
|
114450
114505
|
id: "postwick",
|
|
@@ -122517,6 +122572,7 @@ var hoennLocationsCatalog = {
|
|
|
122517
122572
|
maximumLevel: 5
|
|
122518
122573
|
}
|
|
122519
122574
|
],
|
|
122575
|
+
championLocationId: "ever-grande-city",
|
|
122520
122576
|
locations: [
|
|
122521
122577
|
{
|
|
122522
122578
|
id: "littleroot-town",
|
|
@@ -126071,6 +126127,7 @@ var johtoLocationsCatalog = {
|
|
|
126071
126127
|
maximumLevel: 40
|
|
126072
126128
|
}
|
|
126073
126129
|
],
|
|
126130
|
+
championLocationId: "johto-indigo-plateau",
|
|
126074
126131
|
locations: [
|
|
126075
126132
|
{
|
|
126076
126133
|
id: "new-bark-town",
|
|
@@ -130223,6 +130280,7 @@ var kalosLocationsCatalog = {
|
|
|
130223
130280
|
maximumLevel: 70
|
|
130224
130281
|
}
|
|
130225
130282
|
],
|
|
130283
|
+
championLocationId: "kalos-pokemon-league",
|
|
130226
130284
|
locations: [
|
|
130227
130285
|
{
|
|
130228
130286
|
id: "vaniville-town",
|
|
@@ -134551,6 +134609,7 @@ var kantoLocationsCatalog = {
|
|
|
134551
134609
|
"squirtle"
|
|
134552
134610
|
],
|
|
134553
134611
|
specialEncounters: [],
|
|
134612
|
+
championLocationId: "indigo-plateau",
|
|
134554
134613
|
locations: [
|
|
134555
134614
|
{
|
|
134556
134615
|
id: "pallet-town",
|
|
@@ -150232,6 +150291,7 @@ var paldeaLocationsCatalog = {
|
|
|
150232
150291
|
"quaxly"
|
|
150233
150292
|
],
|
|
150234
150293
|
specialEncounters: [],
|
|
150294
|
+
championLocationId: "paldea-pokemon-league",
|
|
150235
150295
|
locations: [
|
|
150236
150296
|
{
|
|
150237
150297
|
id: "cabo-poco",
|
|
@@ -168069,6 +168129,7 @@ var sinnohLocationsCatalog = {
|
|
|
168069
168129
|
maximumLevel: 50
|
|
168070
168130
|
}
|
|
168071
168131
|
],
|
|
168132
|
+
championLocationId: "victory-road",
|
|
168072
168133
|
locations: [
|
|
168073
168134
|
{
|
|
168074
168135
|
id: "twinleaf-town",
|
|
@@ -175272,6 +175333,7 @@ var unovaLocationsCatalog = {
|
|
|
175272
175333
|
maximumLevel: 15
|
|
175273
175334
|
}
|
|
175274
175335
|
],
|
|
175336
|
+
championLocationId: "unova-pokemon-league",
|
|
175275
175337
|
locations: [
|
|
175276
175338
|
{
|
|
175277
175339
|
id: "nuvema-town",
|
|
@@ -181835,6 +181897,7 @@ var regionSchema = namedIdSchema.extend({
|
|
|
181835
181897
|
locations: z10.array(locationSchema).min(1),
|
|
181836
181898
|
starterSpeciesIds: z10.array(z10.string().min(1)).length(3),
|
|
181837
181899
|
starterCatchLocationId: z10.string().min(1),
|
|
181900
|
+
championLocationId: z10.string().min(1),
|
|
181838
181901
|
specials: z10.array(specialSchema)
|
|
181839
181902
|
});
|
|
181840
181903
|
var speciesSchema = namedIdSchema.extend({
|
|
@@ -181928,6 +181991,7 @@ var catalog = generatedCatalogSchema.parse({
|
|
|
181928
181991
|
localization: region.localization,
|
|
181929
181992
|
starterSpeciesIds: regionalCatalog.starterPokemons,
|
|
181930
181993
|
starterCatchLocationId: locations[0]?.id ?? "",
|
|
181994
|
+
championLocationId: regionalCatalog.championLocationId,
|
|
181931
181995
|
specials: specialsForCatalog(regionalCatalog).flatMap((special) => {
|
|
181932
181996
|
const pokemon = pokemonById.get(special.id);
|
|
181933
181997
|
const ability = englishAbilityName(pokemon?.abilities[0]);
|
|
@@ -181976,6 +182040,12 @@ var catalog = generatedCatalogSchema.parse({
|
|
|
181976
182040
|
]))))
|
|
181977
182041
|
});
|
|
181978
182042
|
var generatedContentCatalog = catalog;
|
|
182043
|
+
var championIndexByRegion = new Map(catalog.regions.map((region) => {
|
|
182044
|
+
const index = region.locations.findIndex((location) => location.id === region.championLocationId);
|
|
182045
|
+
if (index < 0)
|
|
182046
|
+
throw new Error(`Unknown championLocationId ${region.championLocationId}`);
|
|
182047
|
+
return [region.id, index];
|
|
182048
|
+
}));
|
|
181979
182049
|
var regionsById = new Map(catalog.regions.map((region) => [region.id, region]));
|
|
181980
182050
|
var speciesById = new Map([...catalog.species, ...catalog.regionalForms].map((species) => [species.id, species]));
|
|
181981
182051
|
var movesById = new Map(movesCatalog.map((move) => [move.id, move]));
|
|
@@ -182028,6 +182098,13 @@ function nextLocation(regionId, locationId) {
|
|
|
182028
182098
|
const index = locations.findIndex((location) => location.id === locationId);
|
|
182029
182099
|
return index < 0 ? null : locations[index + 1] ?? null;
|
|
182030
182100
|
}
|
|
182101
|
+
function championIndexForRegion(regionId) {
|
|
182102
|
+
return championIndexByRegion.get(regionId) ?? null;
|
|
182103
|
+
}
|
|
182104
|
+
function locationIndexFor(regionId, locationId) {
|
|
182105
|
+
const index = locationsForRegion(regionId).findIndex((location) => location.id === locationId);
|
|
182106
|
+
return index < 0 ? null : index;
|
|
182107
|
+
}
|
|
182031
182108
|
function startersForRegion(regionId, language = "en") {
|
|
182032
182109
|
return regionsById.get(regionId)?.starterSpeciesIds.flatMap((speciesId) => {
|
|
182033
182110
|
const species = speciesById.get(speciesId);
|
|
@@ -182185,8 +182262,8 @@ extend({ button: StarterButtonRenderable });
|
|
|
182185
182262
|
|
|
182186
182263
|
// src/adapters/opencode/tui/components/move-list.tsx
|
|
182187
182264
|
function MoveList(properties) {
|
|
182188
|
-
const [hovered, setHovered] =
|
|
182189
|
-
const [inspected, setInspected] =
|
|
182265
|
+
const [hovered, setHovered] = createSignal2(null);
|
|
182266
|
+
const [inspected, setInspected] = createSignal2(null);
|
|
182190
182267
|
const moves = () => properties.moves.map((move) => presentMove(move, properties.language));
|
|
182191
182268
|
const description = () => moves().find((move) => move.id === inspected())?.description;
|
|
182192
182269
|
let list;
|
|
@@ -182366,9 +182443,9 @@ import { memo as _$memo3 } from "@opentui/solid";
|
|
|
182366
182443
|
import { setProp as _$setProp4 } from "@opentui/solid";
|
|
182367
182444
|
import { createElement as _$createElement4 } from "@opentui/solid";
|
|
182368
182445
|
import { createComponent as _$createComponent4 } from "@opentui/solid";
|
|
182369
|
-
import { createSignal as
|
|
182446
|
+
import { createSignal as createSignal3, Show as Show2 } from "solid-js";
|
|
182370
182447
|
function Sprite(properties) {
|
|
182371
|
-
const [sprite, setSprite] =
|
|
182448
|
+
const [sprite, setSprite] = createSignal3(null);
|
|
182372
182449
|
const setSpriteIfOwned = createOwnerBoundCallback(setSprite);
|
|
182373
182450
|
const width = properties.width ?? 8;
|
|
182374
182451
|
const height = properties.height ?? 4;
|
|
@@ -182401,7 +182478,15 @@ function Sprite(properties) {
|
|
|
182401
182478
|
_$setProp4(_el$3, "fit", "fit");
|
|
182402
182479
|
_$setProp4(_el$3, "width", width);
|
|
182403
182480
|
_$setProp4(_el$3, "height", height);
|
|
182404
|
-
_$effect4((
|
|
182481
|
+
_$effect4((_p$) => {
|
|
182482
|
+
var _v$ = cachedSource(), _v$2 = properties.protocol?.() ?? "auto";
|
|
182483
|
+
_v$ !== _p$.e && (_p$.e = _$setProp4(_el$3, "source", _v$, _p$.e));
|
|
182484
|
+
_v$2 !== _p$.t && (_p$.t = _$setProp4(_el$3, "protocol", _v$2, _p$.t));
|
|
182485
|
+
return _p$;
|
|
182486
|
+
}, {
|
|
182487
|
+
e: undefined,
|
|
182488
|
+
t: undefined
|
|
182489
|
+
});
|
|
182405
182490
|
return _el$3;
|
|
182406
182491
|
})()
|
|
182407
182492
|
});
|
|
@@ -182435,6 +182520,9 @@ function PcDetails(properties) {
|
|
|
182435
182520
|
get resolve() {
|
|
182436
182521
|
return properties.resolveSprite;
|
|
182437
182522
|
},
|
|
182523
|
+
get protocol() {
|
|
182524
|
+
return properties.imageProtocol;
|
|
182525
|
+
},
|
|
182438
182526
|
get shiny() {
|
|
182439
182527
|
return properties.pokemon.shiny;
|
|
182440
182528
|
},
|
|
@@ -182500,12 +182588,12 @@ var bold2 = createTextAttributes2({
|
|
|
182500
182588
|
function PokemonPcDialog(properties) {
|
|
182501
182589
|
const dimensions = useTerminalDimensions2();
|
|
182502
182590
|
const height = () => Math.min(44, Math.max(1, dimensions().height - 6));
|
|
182503
|
-
const [index, setIndex] =
|
|
182504
|
-
const [selected, setSelected] =
|
|
182505
|
-
const [busy, setBusy] =
|
|
182506
|
-
const [feedback, setFeedback] =
|
|
182507
|
-
const [mode, setMode] =
|
|
182508
|
-
const [name, setName] =
|
|
182591
|
+
const [index, setIndex] = createSignal4(0);
|
|
182592
|
+
const [selected, setSelected] = createSignal4([...properties.partyIds]);
|
|
182593
|
+
const [busy, setBusy] = createSignal4(false);
|
|
182594
|
+
const [feedback, setFeedback] = createSignal4("");
|
|
182595
|
+
const [mode, setMode] = createSignal4("browse");
|
|
182596
|
+
const [name, setName] = createSignal4("");
|
|
182509
182597
|
const isOwned = createOwnerGuard();
|
|
182510
182598
|
const copy = () => pcCopy(properties.language);
|
|
182511
182599
|
const textColor = () => typeof properties.textColor === "function" ? properties.textColor() : properties.textColor;
|
|
@@ -182776,6 +182864,9 @@ function PokemonPcDialog(properties) {
|
|
|
182776
182864
|
},
|
|
182777
182865
|
get resolveSprite() {
|
|
182778
182866
|
return properties.resolveSprite;
|
|
182867
|
+
},
|
|
182868
|
+
get imageProtocol() {
|
|
182869
|
+
return properties.imageProtocol;
|
|
182779
182870
|
}
|
|
182780
182871
|
})
|
|
182781
182872
|
}));
|
|
@@ -182925,7 +183016,7 @@ function createPcAction(dependencies) {
|
|
|
182925
183016
|
const collection = await dependencies.rpc.collection({});
|
|
182926
183017
|
if (dependencies.state.isDisposed())
|
|
182927
183018
|
return;
|
|
182928
|
-
const [pokemon, setPokemon] =
|
|
183019
|
+
const [pokemon, setPokemon] = createSignal5(collection.pokemon);
|
|
182929
183020
|
const manage = async (operation, update) => {
|
|
182930
183021
|
const result = await operation;
|
|
182931
183022
|
dependencies.state.apply(result.state);
|
|
@@ -182957,6 +183048,9 @@ function createPcAction(dependencies) {
|
|
|
182957
183048
|
get resolveSprite() {
|
|
182958
183049
|
return dependencies.resolveSprite;
|
|
182959
183050
|
},
|
|
183051
|
+
get imageProtocol() {
|
|
183052
|
+
return dependencies.imageProtocol;
|
|
183053
|
+
},
|
|
182960
183054
|
onClose: () => {
|
|
182961
183055
|
if (!dependencies.state.isDisposed())
|
|
182962
183056
|
dependencies.dialog.clear();
|
|
@@ -182981,7 +183075,7 @@ function createPcAction(dependencies) {
|
|
|
182981
183075
|
}
|
|
182982
183076
|
|
|
182983
183077
|
// src/adapters/opencode/tui/sidebar/actions.ts
|
|
182984
|
-
import { createSignal as
|
|
183078
|
+
import { createSignal as createSignal6 } from "solid-js";
|
|
182985
183079
|
|
|
182986
183080
|
// src/adapters/presentation/localization.ts
|
|
182987
183081
|
function localizePokemon(pokemon, language) {
|
|
@@ -183140,8 +183234,8 @@ function captureNotification(encounter, destination, language) {
|
|
|
183140
183234
|
|
|
183141
183235
|
// src/adapters/opencode/tui/sidebar/actions.ts
|
|
183142
183236
|
function createSidebarActions(dependencies) {
|
|
183143
|
-
const [selectingStarter, setSelectingStarter] =
|
|
183144
|
-
const [resolvingEncounterId, setResolvingEncounterId] =
|
|
183237
|
+
const [selectingStarter, setSelectingStarter] = createSignal6(null);
|
|
183238
|
+
const [resolvingEncounterId, setResolvingEncounterId] = createSignal6(null);
|
|
183145
183239
|
return {
|
|
183146
183240
|
travelToLocation: async (locationId) => {
|
|
183147
183241
|
const result = await dependencies.rpc.travelTo({ locationId });
|
|
@@ -183283,7 +183377,7 @@ import { insert as _$insert9 } from "@opentui/solid";
|
|
|
183283
183377
|
import { setProp as _$setProp9 } from "@opentui/solid";
|
|
183284
183378
|
import { createElement as _$createElement9 } from "@opentui/solid";
|
|
183285
183379
|
import { MouseButton as MouseButton4 } from "@opentui/core";
|
|
183286
|
-
import { createSignal as
|
|
183380
|
+
import { createSignal as createSignal8, Match as Match2, Show as Show5, Switch as Switch2 } from "solid-js";
|
|
183287
183381
|
|
|
183288
183382
|
// src/domain/choices/choices.ts
|
|
183289
183383
|
import { z as z11 } from "zod";
|
|
@@ -183344,7 +183438,7 @@ import { createElement as _$createElement7 } from "@opentui/solid";
|
|
|
183344
183438
|
import { createComponent as _$createComponent8 } from "@opentui/solid";
|
|
183345
183439
|
import { MouseButton as MouseButton3 } from "@opentui/core";
|
|
183346
183440
|
import { useTerminalDimensions as useTerminalDimensions3 } from "@opentui/solid";
|
|
183347
|
-
import { createSignal as
|
|
183441
|
+
import { createSignal as createSignal7, Match, Show as Show4, Switch } from "solid-js";
|
|
183348
183442
|
function PendingChoiceCard(properties) {
|
|
183349
183443
|
const choice = () => properties.state().pendingChoices[0];
|
|
183350
183444
|
return _$createComponent8(Show4, {
|
|
@@ -183369,6 +183463,9 @@ function PendingChoiceCard(properties) {
|
|
|
183369
183463
|
get resolveSprite() {
|
|
183370
183464
|
return properties.resolveSprite;
|
|
183371
183465
|
},
|
|
183466
|
+
get imageProtocol() {
|
|
183467
|
+
return properties.imageProtocol;
|
|
183468
|
+
},
|
|
183372
183469
|
get language() {
|
|
183373
183470
|
return properties.language;
|
|
183374
183471
|
}
|
|
@@ -183386,6 +183483,9 @@ function PendingChoiceCard(properties) {
|
|
|
183386
183483
|
get resolveSprite() {
|
|
183387
183484
|
return properties.resolveSprite;
|
|
183388
183485
|
},
|
|
183486
|
+
get imageProtocol() {
|
|
183487
|
+
return properties.imageProtocol;
|
|
183488
|
+
},
|
|
183389
183489
|
get language() {
|
|
183390
183490
|
return properties.language;
|
|
183391
183491
|
},
|
|
@@ -183436,6 +183536,9 @@ function MoveChoiceCard(properties) {
|
|
|
183436
183536
|
get resolve() {
|
|
183437
183537
|
return properties.resolveSprite;
|
|
183438
183538
|
},
|
|
183539
|
+
get protocol() {
|
|
183540
|
+
return properties.imageProtocol;
|
|
183541
|
+
},
|
|
183439
183542
|
get shiny() {
|
|
183440
183543
|
return pokemon.shiny;
|
|
183441
183544
|
},
|
|
@@ -183478,7 +183581,7 @@ function EvolutionChoiceCard(properties) {
|
|
|
183478
183581
|
const pokemon = properties.party().find((slot) => slot.pokemon?.id === payload.pokemonId)?.pokemon ?? properties.choicePokemon().find((instance) => instance.id === payload.pokemonId);
|
|
183479
183582
|
if (pokemon === undefined || pokemon === null)
|
|
183480
183583
|
return null;
|
|
183481
|
-
const [hoveredOption, setHoveredOption] =
|
|
183584
|
+
const [hoveredOption, setHoveredOption] = createSignal7(null);
|
|
183482
183585
|
return (() => {
|
|
183483
183586
|
var _el$4 = _$createElement7("box"), _el$5 = _$createElement7("text"), _el$6 = _$createElement7("text"), _el$7 = _$createElement7("box");
|
|
183484
183587
|
_$insertNode7(_el$4, _el$5);
|
|
@@ -183498,6 +183601,9 @@ function EvolutionChoiceCard(properties) {
|
|
|
183498
183601
|
get resolve() {
|
|
183499
183602
|
return properties.resolveSprite;
|
|
183500
183603
|
},
|
|
183604
|
+
get protocol() {
|
|
183605
|
+
return properties.imageProtocol;
|
|
183606
|
+
},
|
|
183501
183607
|
get shiny() {
|
|
183502
183608
|
return pokemon.shiny;
|
|
183503
183609
|
},
|
|
@@ -183524,6 +183630,9 @@ function EvolutionChoiceCard(properties) {
|
|
|
183524
183630
|
get resolveSprite() {
|
|
183525
183631
|
return properties.resolveSprite;
|
|
183526
183632
|
},
|
|
183633
|
+
get imageProtocol() {
|
|
183634
|
+
return properties.imageProtocol;
|
|
183635
|
+
},
|
|
183527
183636
|
get language() {
|
|
183528
183637
|
return properties.language;
|
|
183529
183638
|
}
|
|
@@ -183564,6 +183673,9 @@ function EvolutionOptionCard(properties) {
|
|
|
183564
183673
|
get resolve() {
|
|
183565
183674
|
return properties.resolveSprite;
|
|
183566
183675
|
},
|
|
183676
|
+
get protocol() {
|
|
183677
|
+
return properties.imageProtocol;
|
|
183678
|
+
},
|
|
183567
183679
|
get shiny() {
|
|
183568
183680
|
return properties.pokemon.shiny;
|
|
183569
183681
|
},
|
|
@@ -183604,7 +183716,7 @@ function RegionChoiceCard(properties) {
|
|
|
183604
183716
|
const payload = decodeRegionChoiceProjection(choice.payload);
|
|
183605
183717
|
if (payload === null)
|
|
183606
183718
|
return null;
|
|
183607
|
-
const [hoveredRegion, setHoveredRegion] =
|
|
183719
|
+
const [hoveredRegion, setHoveredRegion] = createSignal7(null);
|
|
183608
183720
|
const availableRegions = () => regions(properties.language?.() ?? "en");
|
|
183609
183721
|
const completedRegionName = () => availableRegions().find((region) => region.id === payload.region)?.name ?? payload.region;
|
|
183610
183722
|
return (() => {
|
|
@@ -183699,6 +183811,9 @@ function EncounterCard(properties) {
|
|
|
183699
183811
|
get resolve() {
|
|
183700
183812
|
return properties.resolveSprite;
|
|
183701
183813
|
},
|
|
183814
|
+
get protocol() {
|
|
183815
|
+
return properties.imageProtocol;
|
|
183816
|
+
},
|
|
183702
183817
|
get shiny() {
|
|
183703
183818
|
return encounter.shiny;
|
|
183704
183819
|
},
|
|
@@ -183799,6 +183914,9 @@ function SidebarView(properties) {
|
|
|
183799
183914
|
},
|
|
183800
183915
|
get resolveSprite() {
|
|
183801
183916
|
return properties.resolveSprite;
|
|
183917
|
+
},
|
|
183918
|
+
get imageProtocol() {
|
|
183919
|
+
return properties.imageProtocol;
|
|
183802
183920
|
}
|
|
183803
183921
|
});
|
|
183804
183922
|
}
|
|
@@ -183820,6 +183938,9 @@ function SidebarView(properties) {
|
|
|
183820
183938
|
get resolveSprite() {
|
|
183821
183939
|
return properties.resolveSprite;
|
|
183822
183940
|
},
|
|
183941
|
+
get imageProtocol() {
|
|
183942
|
+
return properties.imageProtocol;
|
|
183943
|
+
},
|
|
183823
183944
|
language: () => properties.state().locale
|
|
183824
183945
|
});
|
|
183825
183946
|
}
|
|
@@ -183864,6 +183985,9 @@ function SidebarView(properties) {
|
|
|
183864
183985
|
get resolveSprite() {
|
|
183865
183986
|
return properties.resolveSprite;
|
|
183866
183987
|
},
|
|
183988
|
+
get imageProtocol() {
|
|
183989
|
+
return properties.imageProtocol;
|
|
183990
|
+
},
|
|
183867
183991
|
language: () => properties.state().locale
|
|
183868
183992
|
})
|
|
183869
183993
|
});
|
|
@@ -183885,6 +184009,9 @@ function SidebarView(properties) {
|
|
|
183885
184009
|
party: () => properties.state().party,
|
|
183886
184010
|
get resolveSprite() {
|
|
183887
184011
|
return properties.resolveSprite;
|
|
184012
|
+
},
|
|
184013
|
+
get imageProtocol() {
|
|
184014
|
+
return properties.imageProtocol;
|
|
183888
184015
|
}
|
|
183889
184016
|
})];
|
|
183890
184017
|
}
|
|
@@ -183908,7 +184035,7 @@ function StarterButtons(properties) {
|
|
|
183908
184035
|
})();
|
|
183909
184036
|
}
|
|
183910
184037
|
function StarterRegionCard(properties) {
|
|
183911
|
-
const [rowWidth, setRowWidth] =
|
|
184038
|
+
const [rowWidth, setRowWidth] = createSignal8(0);
|
|
183912
184039
|
const cellWidth = () => {
|
|
183913
184040
|
const width = Math.max(1, Math.floor((rowWidth() - 2) / 3));
|
|
183914
184041
|
return width % 2 === 0 ? width - 1 : width;
|
|
@@ -183979,6 +184106,9 @@ function StarterRegionCard(properties) {
|
|
|
183979
184106
|
get resolve() {
|
|
183980
184107
|
return properties.resolveSprite;
|
|
183981
184108
|
},
|
|
184109
|
+
get protocol() {
|
|
184110
|
+
return properties.imageProtocol;
|
|
184111
|
+
},
|
|
183982
184112
|
shiny: false,
|
|
183983
184113
|
gender: "male",
|
|
183984
184114
|
get speciesId() {
|
|
@@ -184014,7 +184144,7 @@ function StarterRegionCard(properties) {
|
|
|
184014
184144
|
}
|
|
184015
184145
|
function LocationProgress(properties) {
|
|
184016
184146
|
const state = properties.state;
|
|
184017
|
-
const [hoveredTravel, setHoveredTravel] =
|
|
184147
|
+
const [hoveredTravel, setHoveredTravel] = createSignal8(false);
|
|
184018
184148
|
const currentLocation = () => state().exploration?.locations.find((location) => location.id === state().location)?.name ?? uiCopy(state().locale).unknown;
|
|
184019
184149
|
const currentRegion = () => regions(state().locale).find((region) => region.id === state().region)?.name ?? uiCopy(state().locale).unknown;
|
|
184020
184150
|
const latestUnlockedLocation = () => {
|
|
@@ -184077,6 +184207,9 @@ function PartyGrid(properties) {
|
|
|
184077
184207
|
get resolveSprite() {
|
|
184078
184208
|
return properties.resolveSprite;
|
|
184079
184209
|
},
|
|
184210
|
+
get imageProtocol() {
|
|
184211
|
+
return properties.imageProtocol;
|
|
184212
|
+
},
|
|
184080
184213
|
slots: () => occupiedSlots().slice(0, 2)
|
|
184081
184214
|
}), null);
|
|
184082
184215
|
_$insert9(_el$15, _$createComponent10(PartyRow, {
|
|
@@ -184086,6 +184219,9 @@ function PartyGrid(properties) {
|
|
|
184086
184219
|
get resolveSprite() {
|
|
184087
184220
|
return properties.resolveSprite;
|
|
184088
184221
|
},
|
|
184222
|
+
get imageProtocol() {
|
|
184223
|
+
return properties.imageProtocol;
|
|
184224
|
+
},
|
|
184089
184225
|
slots: () => occupiedSlots().slice(2, 4)
|
|
184090
184226
|
}), null);
|
|
184091
184227
|
_$insert9(_el$15, _$createComponent10(PartyRow, {
|
|
@@ -184095,6 +184231,9 @@ function PartyGrid(properties) {
|
|
|
184095
184231
|
get resolveSprite() {
|
|
184096
184232
|
return properties.resolveSprite;
|
|
184097
184233
|
},
|
|
184234
|
+
get imageProtocol() {
|
|
184235
|
+
return properties.imageProtocol;
|
|
184236
|
+
},
|
|
184098
184237
|
slots: () => occupiedSlots().slice(4, 6)
|
|
184099
184238
|
}), null);
|
|
184100
184239
|
return _el$15;
|
|
@@ -184120,6 +184259,9 @@ function PartyRow(properties) {
|
|
|
184120
184259
|
get resolve() {
|
|
184121
184260
|
return properties.resolveSprite;
|
|
184122
184261
|
},
|
|
184262
|
+
get protocol() {
|
|
184263
|
+
return properties.imageProtocol;
|
|
184264
|
+
},
|
|
184123
184265
|
get shiny() {
|
|
184124
184266
|
return slot.pokemon.shiny;
|
|
184125
184267
|
},
|
|
@@ -184224,6 +184366,9 @@ function registerPokemonSidebar(dependencies) {
|
|
|
184224
184366
|
get resolveSprite() {
|
|
184225
184367
|
return dependencies.resolveSprite;
|
|
184226
184368
|
},
|
|
184369
|
+
get imageProtocol() {
|
|
184370
|
+
return dependencies.imageProtocol;
|
|
184371
|
+
},
|
|
184227
184372
|
get setHoveredEncounterAction() {
|
|
184228
184373
|
return dependencies.setHoveredEncounterAction;
|
|
184229
184374
|
},
|
|
@@ -184272,6 +184417,7 @@ function createTuiCleanup(dependencies) {
|
|
|
184272
184417
|
};
|
|
184273
184418
|
runSynchronousDisposer(dependencies.unsubscribe);
|
|
184274
184419
|
runSynchronousDisposer(dependencies.unregisterSlot);
|
|
184420
|
+
runSynchronousDisposer(dependencies.disposeImageProtocol);
|
|
184275
184421
|
const finish = () => {
|
|
184276
184422
|
if (failures.length === 1)
|
|
184277
184423
|
throw failures[0];
|
|
@@ -184311,7 +184457,7 @@ function createTuiCleanup(dependencies) {
|
|
|
184311
184457
|
}
|
|
184312
184458
|
|
|
184313
184459
|
// src/adapters/opencode/tui/state/coordinator.ts
|
|
184314
|
-
import { createSignal as
|
|
184460
|
+
import { createSignal as createSignal9 } from "solid-js";
|
|
184315
184461
|
function initialTuiState() {
|
|
184316
184462
|
return gameStateSchema.parse({
|
|
184317
184463
|
phase: "onboarding",
|
|
@@ -184324,7 +184470,7 @@ function initialTuiState() {
|
|
|
184324
184470
|
});
|
|
184325
184471
|
}
|
|
184326
184472
|
function createTuiStateCoordinator(initial, notify) {
|
|
184327
|
-
const [state, setState] =
|
|
184473
|
+
const [state, setState] = createSignal9(initial);
|
|
184328
184474
|
let disposed = false;
|
|
184329
184475
|
return {
|
|
184330
184476
|
state,
|
|
@@ -184373,11 +184519,11 @@ import { insert as _$insert11 } from "@opentui/solid";
|
|
|
184373
184519
|
import { setProp as _$setProp11 } from "@opentui/solid";
|
|
184374
184520
|
import { createElement as _$createElement11 } from "@opentui/solid";
|
|
184375
184521
|
import { useKeyboard as useKeyboard3 } from "@opentui/solid";
|
|
184376
|
-
import { createSignal as
|
|
184522
|
+
import { createSignal as createSignal10, For as For5, Show as Show6 } from "solid-js";
|
|
184377
184523
|
function LocationTravelDialog(properties) {
|
|
184378
184524
|
const copy = () => uiCopy(properties.language);
|
|
184379
184525
|
const initialLocationId = properties.locations.some((location) => location.id === properties.currentLocationId) ? properties.currentLocationId : properties.locations[0]?.id ?? "";
|
|
184380
|
-
const [selectedLocationId, setSelectedLocationId] =
|
|
184526
|
+
const [selectedLocationId, setSelectedLocationId] = createSignal10(initialLocationId);
|
|
184381
184527
|
let locationsScrollbox;
|
|
184382
184528
|
let pokemonScrollbox;
|
|
184383
184529
|
const selectedLocation = () => properties.locations.find((location) => location.id === selectedLocationId());
|
|
@@ -184597,6 +184743,9 @@ function LocationTravelDialog(properties) {
|
|
|
184597
184743
|
get resolve() {
|
|
184598
184744
|
return properties.resolveSprite;
|
|
184599
184745
|
},
|
|
184746
|
+
get protocol() {
|
|
184747
|
+
return properties.imageProtocol;
|
|
184748
|
+
},
|
|
184600
184749
|
shiny: false,
|
|
184601
184750
|
gender: "genderless",
|
|
184602
184751
|
get speciesId() {
|
|
@@ -184719,6 +184868,9 @@ function createLocationTravelAction(dependencies) {
|
|
|
184719
184868
|
},
|
|
184720
184869
|
get resolveSprite() {
|
|
184721
184870
|
return dependencies.resolveSprite;
|
|
184871
|
+
},
|
|
184872
|
+
get imageProtocol() {
|
|
184873
|
+
return dependencies.imageProtocol;
|
|
184722
184874
|
}
|
|
184723
184875
|
})));
|
|
184724
184876
|
dependencies.dialog.set({
|
|
@@ -184745,20 +184897,24 @@ function createPokemonTuiPlugin(dependencies = defaultDependencies) {
|
|
|
184745
184897
|
let clipboard;
|
|
184746
184898
|
let unsubscribe;
|
|
184747
184899
|
let unregisterSlot;
|
|
184900
|
+
let disposeImageProtocol;
|
|
184748
184901
|
const cleanup = createTuiCleanup({
|
|
184749
184902
|
state,
|
|
184750
184903
|
unsubscribe: () => unsubscribe?.(),
|
|
184751
184904
|
unregisterSlot: () => unregisterSlot?.(),
|
|
184752
|
-
disposeClipboard: () => clipboard?.dispose()
|
|
184905
|
+
disposeClipboard: () => clipboard?.dispose(),
|
|
184906
|
+
disposeImageProtocol: () => disposeImageProtocol?.()
|
|
184753
184907
|
});
|
|
184754
184908
|
try {
|
|
184755
184909
|
const rpc = createPokemonTuiClient(context.client.rpc(PokecodeRpc));
|
|
184756
184910
|
clipboard = dependencies.createClipboard(context);
|
|
184911
|
+
const imageProtocol = createImageProtocolState(context.renderer);
|
|
184912
|
+
disposeImageProtocol = imageProtocol.dispose;
|
|
184757
184913
|
const initialStatus = await rpc.status({});
|
|
184758
184914
|
state.initialize(initialStatus);
|
|
184759
184915
|
unsubscribe = rpc.onStatusChanged(state.apply);
|
|
184760
|
-
const [hoveredStarter, setHoveredStarter] =
|
|
184761
|
-
const [hoveredEncounterAction, setHoveredEncounterAction] =
|
|
184916
|
+
const [hoveredStarter, setHoveredStarter] = createSignal11(null);
|
|
184917
|
+
const [hoveredEncounterAction, setHoveredEncounterAction] = createSignal11(null);
|
|
184762
184918
|
const resolveSprite = (speciesId, shiny, gender) => rpc.sprite({
|
|
184763
184919
|
speciesId,
|
|
184764
184920
|
shiny,
|
|
@@ -184774,6 +184930,7 @@ function createPokemonTuiPlugin(dependencies = defaultDependencies) {
|
|
|
184774
184930
|
state,
|
|
184775
184931
|
dialog: context.ui.dialog,
|
|
184776
184932
|
resolveSprite,
|
|
184933
|
+
imageProtocol: imageProtocol.protocol,
|
|
184777
184934
|
travelToLocation: sidebarActions.travelToLocation
|
|
184778
184935
|
});
|
|
184779
184936
|
const showDex = createDexAction({
|
|
@@ -184789,7 +184946,8 @@ function createPokemonTuiPlugin(dependencies = defaultDependencies) {
|
|
|
184789
184946
|
base: () => context.theme.text.base,
|
|
184790
184947
|
muted: () => context.theme.text.muted
|
|
184791
184948
|
},
|
|
184792
|
-
resolveSprite
|
|
184949
|
+
resolveSprite,
|
|
184950
|
+
imageProtocol: imageProtocol.protocol
|
|
184793
184951
|
});
|
|
184794
184952
|
const exportTeam = createExportAction({
|
|
184795
184953
|
rpc,
|
|
@@ -184813,7 +184971,8 @@ function createPokemonTuiPlugin(dependencies = defaultDependencies) {
|
|
|
184813
184971
|
showDex,
|
|
184814
184972
|
chooseParty,
|
|
184815
184973
|
exportTeam,
|
|
184816
|
-
resolveSprite
|
|
184974
|
+
resolveSprite,
|
|
184975
|
+
imageProtocol: imageProtocol.protocol
|
|
184817
184976
|
});
|
|
184818
184977
|
return cleanup;
|
|
184819
184978
|
} catch (error) {
|