@sbugallo/pokecode 0.3.0 → 0.3.1
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/dist/adapters/opencode/tui/choices/cards.d.ts +5 -0
- package/dist/adapters/opencode/tui/choices/cards.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/choices/cards.jsx +24 -17
- package/dist/adapters/opencode/tui/choices/cards.jsx.map +1 -1
- package/dist/adapters/opencode/tui/choices/encounter.d.ts +2 -1
- package/dist/adapters/opencode/tui/choices/encounter.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/choices/encounter.jsx +7 -5
- package/dist/adapters/opencode/tui/choices/encounter.jsx.map +1 -1
- package/dist/adapters/opencode/tui/components/action-button.d.ts +3 -2
- package/dist/adapters/opencode/tui/components/action-button.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/components/action-button.jsx +15 -7
- package/dist/adapters/opencode/tui/components/action-button.jsx.map +1 -1
- package/dist/adapters/opencode/tui/components/move-list.d.ts +2 -0
- package/dist/adapters/opencode/tui/components/move-list.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/components/move-list.jsx +9 -11
- package/dist/adapters/opencode/tui/components/move-list.jsx.map +1 -1
- 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 +3 -1
- package/dist/adapters/opencode/tui/components/sprite.jsx.map +1 -1
- package/dist/adapters/opencode/tui/dex/dialog.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/dex/dialog.jsx +8 -4
- package/dist/adapters/opencode/tui/dex/dialog.jsx.map +1 -1
- package/dist/adapters/opencode/tui/pc/actions.d.ts +2 -4
- 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 -1
- package/dist/adapters/opencode/tui/pc/details.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/pc/details.jsx +14 -10
- package/dist/adapters/opencode/tui/pc/details.jsx.map +1 -1
- package/dist/adapters/opencode/tui/pc/dialog.d.ts +2 -3
- package/dist/adapters/opencode/tui/pc/dialog.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/pc/dialog.jsx +16 -18
- 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 +6 -8
- package/dist/adapters/opencode/tui/plugin.jsx.map +1 -1
- package/dist/adapters/opencode/tui/sidebar/register.d.ts +4 -5
- package/dist/adapters/opencode/tui/sidebar/register.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/sidebar/register.jsx +2 -2
- package/dist/adapters/opencode/tui/sidebar/register.jsx.map +1 -1
- package/dist/adapters/opencode/tui/sidebar/view.d.ts +5 -4
- package/dist/adapters/opencode/tui/sidebar/view.d.ts.map +1 -1
- package/dist/adapters/opencode/tui/sidebar/view.jsx +27 -23
- package/dist/adapters/opencode/tui/sidebar/view.jsx.map +1 -1
- package/dist/adapters/opencode/tui/theme.d.ts +81 -0
- package/dist/adapters/opencode/tui/theme.d.ts.map +1 -0
- package/dist/adapters/opencode/tui/theme.js +64 -0
- package/dist/adapters/opencode/tui/theme.js.map +1 -0
- 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 +28 -18
- package/dist/adapters/opencode/tui/travel/dialog.jsx.map +1 -1
- package/dist/tui.js +336 -115
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { GameState } from "../../../../application/contracts/game.js";
|
|
2
2
|
import type { SpriteResolver } from "../../../sprites/contracts.js";
|
|
3
3
|
import type { ImageProtocolAccessor } from "../components/image-protocol.js";
|
|
4
|
+
import { type PokecodeSurface } from "../theme.js";
|
|
4
5
|
export declare function PendingChoiceCard(properties: {
|
|
5
6
|
readonly state: () => GameState;
|
|
6
7
|
readonly onResolveMove: (choiceId: string, selectedMoveId: string) => Promise<void>;
|
|
@@ -8,6 +9,7 @@ export declare function PendingChoiceCard(properties: {
|
|
|
8
9
|
readonly resolveSprite: SpriteResolver;
|
|
9
10
|
readonly imageProtocol: ImageProtocolAccessor;
|
|
10
11
|
readonly language: () => GameState["locale"];
|
|
12
|
+
readonly theme?: (() => PokecodeSurface) | undefined;
|
|
11
13
|
}): any;
|
|
12
14
|
export declare function MoveChoiceCard(properties: {
|
|
13
15
|
readonly choice: () => GameState["pendingChoices"][number] | undefined;
|
|
@@ -17,6 +19,7 @@ export declare function MoveChoiceCard(properties: {
|
|
|
17
19
|
readonly resolveSprite: SpriteResolver;
|
|
18
20
|
readonly imageProtocol: ImageProtocolAccessor;
|
|
19
21
|
readonly language?: (() => GameState["locale"]) | undefined;
|
|
22
|
+
readonly theme?: (() => PokecodeSurface) | undefined;
|
|
20
23
|
}): any;
|
|
21
24
|
export declare function EvolutionChoiceCard(properties: {
|
|
22
25
|
readonly choice: () => GameState["pendingChoices"][number] | undefined;
|
|
@@ -26,11 +29,13 @@ export declare function EvolutionChoiceCard(properties: {
|
|
|
26
29
|
readonly imageProtocol: ImageProtocolAccessor;
|
|
27
30
|
readonly language: () => GameState["locale"];
|
|
28
31
|
readonly onResolve: (choiceId: string, selectedSpeciesId: string) => Promise<void>;
|
|
32
|
+
readonly theme?: (() => PokecodeSurface) | undefined;
|
|
29
33
|
}): any;
|
|
30
34
|
export declare function RegionChoiceCard(properties: {
|
|
31
35
|
readonly choice: () => GameState["pendingChoices"][number] | undefined;
|
|
32
36
|
readonly visitedRegionIds: () => readonly string[];
|
|
33
37
|
readonly onTravel: (regionId: string) => Promise<void>;
|
|
34
38
|
readonly language?: (() => GameState["locale"]) | undefined;
|
|
39
|
+
readonly theme?: (() => PokecodeSurface) | undefined;
|
|
35
40
|
}): any;
|
|
36
41
|
//# sourceMappingURL=cards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAQ1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,16 @@ import { regions } from "../../../../domain/content/catalog.js";
|
|
|
6
6
|
import { uiCopy } from "../../../presentation/ui-copy.js";
|
|
7
7
|
import { MoveList } from "../components/move-list.js";
|
|
8
8
|
import { Sprite } from "../components/sprite.js";
|
|
9
|
+
import { fallbackPokecodeTheme } from "../theme.js";
|
|
9
10
|
export function PendingChoiceCard(properties) {
|
|
10
11
|
const choice = () => properties.state().pendingChoices[0];
|
|
11
12
|
return (<Show when={choice()} keyed>
|
|
12
13
|
{(activeChoice) => (<Switch>
|
|
13
14
|
<Match when={activeChoice.kind === "move"}>
|
|
14
|
-
<MoveChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} onResolve={properties.onResolveMove} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language}/>
|
|
15
|
+
<MoveChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} onResolve={properties.onResolveMove} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} theme={properties.theme}/>
|
|
15
16
|
</Match>
|
|
16
17
|
<Match when={activeChoice.kind === "evolution"}>
|
|
17
|
-
<EvolutionChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} onResolve={properties.onResolveEvolution}/>
|
|
18
|
+
<EvolutionChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} onResolve={properties.onResolveEvolution} theme={properties.theme}/>
|
|
18
19
|
</Match>
|
|
19
20
|
</Switch>)}
|
|
20
21
|
</Show>);
|
|
@@ -32,17 +33,18 @@ export function MoveChoiceCard(properties) {
|
|
|
32
33
|
return null;
|
|
33
34
|
const dimensions = useTerminalDimensions();
|
|
34
35
|
const language = () => properties.language?.() ?? "en";
|
|
36
|
+
const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
|
|
35
37
|
const moves = [...pokemon.moves, payload.move];
|
|
36
38
|
const copy = () => uiCopy(language());
|
|
37
39
|
return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1} width="100%" minWidth={0}>
|
|
38
|
-
<text width="100%" wrapMode="word" textAlign="center">
|
|
40
|
+
<text fg={surface().text} width="100%" wrapMode="word" textAlign="center">
|
|
39
41
|
{copy().movePrompt(pokemon.name)}
|
|
40
42
|
</text>
|
|
41
|
-
<Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
|
|
42
|
-
<text width="100%" wrapMode="word" textAlign="center">
|
|
43
|
+
<Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} theme={surface} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
|
|
44
|
+
<text fg={surface().muted} width="100%" wrapMode="word" textAlign="center">
|
|
43
45
|
{copy().moveDescription}
|
|
44
46
|
</text>
|
|
45
|
-
<MoveList centered leftAlignMoves moves={moves} language={language()} offeredMoveId={payload.move.id} height={Math.min(28, Math.max(6, dimensions().height - 19))} onActivate={(moveId) => properties.onResolve(choice.id, moveId)}/>
|
|
47
|
+
<MoveList centered leftAlignMoves moves={moves} language={language()} offeredMoveId={payload.move.id} height={Math.min(28, Math.max(6, dimensions().height - 19))} onActivate={(moveId) => properties.onResolve(choice.id, moveId)} theme={properties.theme}/>
|
|
46
48
|
</box>);
|
|
47
49
|
}
|
|
48
50
|
export function EvolutionChoiceCard(properties) {
|
|
@@ -56,18 +58,20 @@ export function EvolutionChoiceCard(properties) {
|
|
|
56
58
|
properties.choicePokemon().find((instance) => instance.id === payload.pokemonId);
|
|
57
59
|
if (pokemon === undefined || pokemon === null)
|
|
58
60
|
return null;
|
|
61
|
+
const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
|
|
59
62
|
const [hoveredOption, setHoveredOption] = createSignal(null);
|
|
60
63
|
return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
|
|
61
|
-
<text>{uiCopy(properties.language()).evolutionPrompt(pokemon.name)}</text>
|
|
62
|
-
<Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
|
|
63
|
-
<text>{uiCopy(properties.language()).chooseEvolution}</text>
|
|
64
|
+
<text fg={surface().text}>{uiCopy(properties.language()).evolutionPrompt(pokemon.name)}</text>
|
|
65
|
+
<Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} theme={surface} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
|
|
66
|
+
<text fg={surface().muted}>{uiCopy(properties.language()).chooseEvolution}</text>
|
|
64
67
|
<box flexDirection="row" flexWrap="wrap" gap={1} justifyContent="center" width="100%">
|
|
65
|
-
{payload.options.map((option) => (<EvolutionOptionCard option={option} pokemon={pokemon} hovered={() => hoveredOption() === option.speciesId} onHover={() => setHoveredOption(option.speciesId)} onLeave={() => setHoveredOption(null)} onResolve={() => properties.onResolve(choice.id, option.speciesId)} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language}/>))}
|
|
68
|
+
{payload.options.map((option) => (<EvolutionOptionCard option={option} pokemon={pokemon} hovered={() => hoveredOption() === option.speciesId} onHover={() => setHoveredOption(option.speciesId)} onLeave={() => setHoveredOption(null)} onResolve={() => properties.onResolve(choice.id, option.speciesId)} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} theme={surface}/>))}
|
|
66
69
|
</box>
|
|
67
70
|
</box>);
|
|
68
71
|
}
|
|
69
72
|
function EvolutionOptionCard(properties) {
|
|
70
|
-
|
|
73
|
+
const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
|
|
74
|
+
return (<button alignItems="center" backgroundColor={properties.hovered() ? surface().highlight : undefined} border={false} flexDirection="column" flexShrink={0} focusable width={14} padding={1} type="button" onMouseOver={properties.onHover} onMouseOut={properties.onLeave} onFocus={properties.onHover} onBlur={properties.onLeave} onMouseUp={(event) => {
|
|
71
75
|
if (event.button === MouseButton.LEFT)
|
|
72
76
|
void properties.onResolve();
|
|
73
77
|
}} onKeyDown={(event) => {
|
|
@@ -75,10 +79,10 @@ function EvolutionOptionCard(properties) {
|
|
|
75
79
|
void properties.onResolve();
|
|
76
80
|
}}>
|
|
77
81
|
<box flexDirection="row" height={4} justifyContent="center" width="100%">
|
|
78
|
-
<Sprite compactFallback language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.option.speciesId}/>
|
|
82
|
+
<Sprite compactFallback language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} theme={surface} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.option.speciesId}/>
|
|
79
83
|
</box>
|
|
80
84
|
<box flexDirection="row" justifyContent="center" width="100%">
|
|
81
|
-
<text>{properties.option.name}</text>
|
|
85
|
+
<text fg={surface().text}>{properties.option.name}</text>
|
|
82
86
|
</box>
|
|
83
87
|
</button>);
|
|
84
88
|
}
|
|
@@ -89,16 +93,19 @@ export function RegionChoiceCard(properties) {
|
|
|
89
93
|
const payload = decodeRegionChoiceProjection(choice.payload);
|
|
90
94
|
if (payload === null)
|
|
91
95
|
return null;
|
|
96
|
+
const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
|
|
92
97
|
const [hoveredRegion, setHoveredRegion] = createSignal(null);
|
|
93
98
|
const availableRegions = () => regions(properties.language?.() ?? "en");
|
|
94
99
|
const completedRegionName = () => availableRegions().find((region) => region.id === payload.region)?.name ?? payload.region;
|
|
95
100
|
return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
|
|
96
|
-
<text
|
|
97
|
-
|
|
101
|
+
<text fg={surface().text}>
|
|
102
|
+
{uiCopy(properties.language?.() ?? "en").regionComplete(completedRegionName())}
|
|
103
|
+
</text>
|
|
104
|
+
<text fg={surface().muted}>{uiCopy(properties.language?.() ?? "en").chooseNextRegion}</text>
|
|
98
105
|
<box flexDirection="row" flexWrap="wrap" gap={1} justifyContent="center" width="100%">
|
|
99
106
|
{availableRegions()
|
|
100
107
|
.filter((region) => region.id !== payload.region && !properties.visitedRegionIds().includes(region.id))
|
|
101
|
-
.map((region) => (<button alignItems="center" backgroundColor={hoveredRegion() === region.id ?
|
|
108
|
+
.map((region) => (<button alignItems="center" backgroundColor={hoveredRegion() === region.id ? surface().highlight : undefined} border={false} flexShrink={0} focusable justifyContent="center" padding={1} type="button" width={14} onMouseOver={() => setHoveredRegion(region.id)} onMouseOut={() => setHoveredRegion(null)} onFocus={() => setHoveredRegion(region.id)} onBlur={() => setHoveredRegion(null)} onMouseUp={(event) => {
|
|
102
109
|
if (event.button === MouseButton.LEFT)
|
|
103
110
|
void properties.onTravel(region.id);
|
|
104
111
|
}} onKeyDown={(event) => {
|
|
@@ -106,7 +113,7 @@ export function RegionChoiceCard(properties) {
|
|
|
106
113
|
void properties.onTravel(region.id);
|
|
107
114
|
}
|
|
108
115
|
}}>
|
|
109
|
-
<text>{region.name}</text>
|
|
116
|
+
<text fg={surface().text}>{region.name}</text>
|
|
110
117
|
</button>))}
|
|
111
118
|
</box>
|
|
112
119
|
</box>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cards.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cards.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,15 @@ import type { GameState } from "../../../../application/contracts/game.js";
|
|
|
2
2
|
import type { PendingEncounter } from "../../../../domain/encounters/encounter.js";
|
|
3
3
|
import type { SpriteResolver } from "../../../sprites/contracts.js";
|
|
4
4
|
import type { ImageProtocolAccessor } from "../components/image-protocol.js";
|
|
5
|
+
import { type PokecodeSurface } from "../theme.js";
|
|
5
6
|
export declare function EncounterCard(properties: {
|
|
6
7
|
readonly encounter: () => GameState["pendingEncounter"];
|
|
7
|
-
readonly mutedColor: () => string;
|
|
8
8
|
readonly hoveredAction: () => "catch" | "run" | null;
|
|
9
9
|
readonly onHover: (action: "catch" | "run" | null) => void;
|
|
10
10
|
readonly onResolve: (encounterId: string, encounter: PendingEncounter, capture: boolean) => Promise<void>;
|
|
11
11
|
readonly resolveSprite: SpriteResolver;
|
|
12
12
|
readonly imageProtocol: ImageProtocolAccessor;
|
|
13
13
|
readonly language?: (() => GameState["locale"]) | undefined;
|
|
14
|
+
readonly theme?: (() => PokecodeSurface) | undefined;
|
|
14
15
|
}): any;
|
|
15
16
|
//# sourceMappingURL=encounter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encounter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"encounter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAE5E,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzE,wBAAgB,aAAa,CAAC,UAAU,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1D,QAAQ,CAAC,SAAS,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAAA;CACrD,OA0DA"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { uiCopy } from "../../../presentation/ui-copy.js";
|
|
2
2
|
import { PokecodeActionButton } from "../components/action-button.js";
|
|
3
3
|
import { Sprite } from "../components/sprite.js";
|
|
4
|
+
import { fallbackPokecodeTheme } from "../theme.js";
|
|
4
5
|
export function EncounterCard(properties) {
|
|
5
6
|
const encounter = properties.encounter();
|
|
6
7
|
if (encounter === null)
|
|
7
8
|
return null;
|
|
9
|
+
const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
|
|
8
10
|
const genderSymbol = encounter.gender === "male" ? "♂" : encounter.gender === "female" ? "♀" : "—";
|
|
9
11
|
const copy = uiCopy(properties.language?.() ?? "en");
|
|
10
12
|
return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
|
|
11
13
|
<box flexDirection="row">
|
|
12
|
-
<text fg={properties.encounter()?.caught ?
|
|
13
|
-
<text>
|
|
14
|
+
<text fg={properties.encounter()?.caught ? surface().success : surface().muted}>● </text>
|
|
15
|
+
<text fg={surface().text}>
|
|
14
16
|
{copy.encounter({
|
|
15
17
|
genderSymbol,
|
|
16
18
|
kind: encounter.kind,
|
|
@@ -20,10 +22,10 @@ export function EncounterCard(properties) {
|
|
|
20
22
|
})}
|
|
21
23
|
</text>
|
|
22
24
|
</box>
|
|
23
|
-
<Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={encounter.shiny} gender={encounter.gender} speciesId={encounter.speciesId}/>
|
|
25
|
+
<Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} theme={surface} shiny={encounter.shiny} gender={encounter.gender} speciesId={encounter.speciesId}/>
|
|
24
26
|
<box flexDirection="row" gap={1} justifyContent="center">
|
|
25
|
-
<PokecodeActionButton hovered={() => properties.hoveredAction() === "catch"} label={copy.catch} onActivate={() => properties.onResolve(encounter.id, encounter, true)} onHover={() => properties.onHover("catch")} onLeave={() => properties.onHover(null)} tone="primary"/>
|
|
26
|
-
<PokecodeActionButton hovered={() => properties.hoveredAction() === "run"} label={copy.run} onActivate={() => properties.onResolve(encounter.id, encounter, false)} onHover={() => properties.onHover("run")} onLeave={() => properties.onHover(null)} tone="secondary"/>
|
|
27
|
+
<PokecodeActionButton hovered={() => properties.hoveredAction() === "catch"} label={copy.catch} onActivate={() => properties.onResolve(encounter.id, encounter, true)} onHover={() => properties.onHover("catch")} onLeave={() => properties.onHover(null)} theme={surface} tone="primary"/>
|
|
28
|
+
<PokecodeActionButton hovered={() => properties.hoveredAction() === "run"} label={copy.run} onActivate={() => properties.onResolve(encounter.id, encounter, false)} onHover={() => properties.onHover("run")} onLeave={() => properties.onHover(null)} theme={surface} tone="secondary"/>
|
|
27
29
|
</box>
|
|
28
30
|
</box>);
|
|
29
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encounter.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"encounter.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { type PokecodeSurface } from "../theme.js";
|
|
1
2
|
export declare const bold: number;
|
|
2
|
-
type ActionTone = "primary" | "secondary" | "success";
|
|
3
|
+
export type ActionTone = "primary" | "secondary" | "success";
|
|
3
4
|
export declare function PokecodeActionButton(properties: {
|
|
4
5
|
readonly hovered: () => boolean;
|
|
5
6
|
readonly label: string;
|
|
6
7
|
readonly onActivate: () => Promise<void>;
|
|
7
8
|
readonly onHover: () => void;
|
|
8
9
|
readonly onLeave: () => void;
|
|
10
|
+
readonly theme?: (() => PokecodeSurface) | undefined;
|
|
9
11
|
readonly tone: ActionTone;
|
|
10
12
|
}): any;
|
|
11
|
-
export {};
|
|
12
13
|
//# sourceMappingURL=action-button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzE,eAAO,MAAM,IAAI,QAAuC,CAAA;AAExD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAE5D,wBAAgB,oBAAoB,CAAC,UAAU,EAAE;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAAA;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B,OAgCA"}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { createTextAttributes } from "@opentui/core";
|
|
2
|
+
import { fallbackPokecodeTheme } from "../theme.js";
|
|
2
3
|
export const bold = createTextAttributes({ bold: true });
|
|
3
4
|
export function PokecodeActionButton(properties) {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
|
|
6
|
+
const colors = () => {
|
|
7
|
+
const action = properties.tone === "secondary" ? surface().secondary : surface().primary;
|
|
8
|
+
return {
|
|
9
|
+
background: properties.hovered() ? action.backgroundHovered : action.background,
|
|
10
|
+
label: properties.tone === "success"
|
|
11
|
+
? surface().success
|
|
12
|
+
: properties.hovered()
|
|
13
|
+
? action.labelHovered
|
|
14
|
+
: action.label,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
return (<button alignItems="center" backgroundColor={colors().background} focusable justifyContent="center" paddingLeft={2} paddingRight={2} type="button" onBlur={properties.onLeave} onFocus={properties.onHover} onMouseOut={properties.onLeave} onMouseOver={properties.onHover} onMouseUp={() => void properties.onActivate()}>
|
|
18
|
+
<text fg={colors().label}>{properties.label}</text>
|
|
11
19
|
</button>);
|
|
12
20
|
}
|
|
13
21
|
//# sourceMappingURL=action-button.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-button.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"action-button.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAwB,MAAM,aAAa,CAAA;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAIxD,MAAM,UAAU,oBAAoB,CAAC,UAQpC;IACC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,qBAAqB,CAAC,OAAO,CAAA;IAC3E,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAA;QACxF,OAAO;YACL,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;YAC/E,KAAK,EACH,UAAU,CAAC,IAAI,KAAK,SAAS;gBAC3B,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO;gBACnB,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE;oBACpB,CAAC,CAAC,MAAM,CAAC,YAAY;oBACrB,CAAC,CAAC,MAAM,CAAC,KAAK;SACrB,CAAA;IACH,CAAC,CAAA;IACD,OAAO,CACL,CAAC,MAAM,CACL,UAAU,CAAC,QAAQ,CACnB,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CACrC,SAAS,CACT,cAAc,CAAC,QAAQ,CACvB,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,YAAY,CAAC,CAAC,CAAC,CAAC,CAChB,IAAI,CAAC,QAAQ,CACb,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3B,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC5B,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC/B,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC,CAE9C;MAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CACpD;IAAA,EAAE,MAAM,CAAC,CACV,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Move } from "../../../../domain/pokemon/types.js";
|
|
2
2
|
import type { Language } from "../../../../domain/shared/language.js";
|
|
3
|
+
import { type PokecodeSurface } from "../theme.js";
|
|
3
4
|
import "../controls/native.js";
|
|
4
5
|
export declare function MoveList(properties: {
|
|
5
6
|
readonly moves: readonly Move[];
|
|
@@ -9,5 +10,6 @@ export declare function MoveList(properties: {
|
|
|
9
10
|
readonly centered?: boolean;
|
|
10
11
|
readonly leftAlignMoves?: boolean;
|
|
11
12
|
readonly onActivate?: (moveId: string) => Promise<void>;
|
|
13
|
+
readonly theme?: (() => PokecodeSurface) | undefined;
|
|
12
14
|
}): any;
|
|
13
15
|
//# sourceMappingURL=move-list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move-list.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,uBAAuB,CAAA;AAE9B,wBAAgB,QAAQ,CAAC,UAAU,EAAE;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"move-list.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,uBAAuB,CAAA;AAE9B,wBAAgB,QAAQ,CAAC,UAAU,EAAE;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAAA;CACrD,OA8JA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { MouseButton, } from "@opentui/core";
|
|
2
2
|
import { createSignal, For, Show } from "solid-js";
|
|
3
3
|
import { moveInspectionHint, presentMove } from "../../../presentation/move-details.js";
|
|
4
|
+
import { fallbackPokecodeTheme } from "../theme.js";
|
|
4
5
|
import "../controls/native.js";
|
|
5
6
|
export function MoveList(properties) {
|
|
6
7
|
const [hovered, setHovered] = createSignal(null);
|
|
7
8
|
const [inspected, setInspected] = createSignal(null);
|
|
9
|
+
const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
|
|
8
10
|
const moves = () => properties.moves.map((move) => presentMove(move, properties.language));
|
|
9
11
|
const description = () => moves().find((move) => move.id === inspected())?.description;
|
|
10
12
|
let list;
|
|
@@ -31,16 +33,12 @@ export function MoveList(properties) {
|
|
|
31
33
|
}
|
|
32
34
|
};
|
|
33
35
|
const secondary = () => move.id === properties.offeredMoveId;
|
|
36
|
+
const action = () => (secondary() ? surface().secondary : surface().primary);
|
|
37
|
+
const hoveredRow = () => hovered() === move.id;
|
|
34
38
|
return (<box ref={(value) => {
|
|
35
39
|
row = value;
|
|
36
40
|
}} flexDirection="column" alignItems={properties.leftAlignMoves ? "flex-start" : "center"} flexShrink={0} width="100%">
|
|
37
|
-
<button id={`move-${move.id}`} type="button" focusable maxWidth="100%" paddingLeft={2} paddingRight={2} justifyContent="center" backgroundColor={
|
|
38
|
-
? hovered() === move.id
|
|
39
|
-
? "#4b5563"
|
|
40
|
-
: "#6b7280"
|
|
41
|
-
: hovered() === move.id
|
|
42
|
-
? "#1d4ed8"
|
|
43
|
-
: "#2563eb"} onMouseOver={() => inspect(move.id)} onMouseOut={() => setHovered(null)} onFocus={focus} onBlur={() => setHovered(null)} onMouseUp={(event) => {
|
|
41
|
+
<button id={`move-${move.id}`} type="button" focusable maxWidth="100%" paddingLeft={2} paddingRight={2} justifyContent="center" backgroundColor={hoveredRow() ? action().backgroundHovered : action().background} onMouseOver={() => inspect(move.id)} onMouseOut={() => setHovered(null)} onFocus={focus} onBlur={() => setHovered(null)} onMouseUp={(event) => {
|
|
44
42
|
if (event.button !== MouseButton.LEFT)
|
|
45
43
|
return;
|
|
46
44
|
inspect(move.id);
|
|
@@ -54,14 +52,14 @@ export function MoveList(properties) {
|
|
|
54
52
|
event.stopPropagation();
|
|
55
53
|
void properties.onActivate(move.id);
|
|
56
54
|
}}>
|
|
57
|
-
<text fg=
|
|
55
|
+
<text fg={hoveredRow() ? action().labelHovered : action().label} wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
|
|
58
56
|
{move.name}
|
|
59
57
|
</text>
|
|
60
58
|
</button>
|
|
61
|
-
<text maxWidth="100%" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
|
|
59
|
+
<text fg={surface().muted} maxWidth="100%" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
|
|
62
60
|
{move.classification}
|
|
63
61
|
</text>
|
|
64
|
-
<text maxWidth="100%" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
|
|
62
|
+
<text fg={surface().muted} maxWidth="100%" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
|
|
65
63
|
{move.stats}
|
|
66
64
|
</text>
|
|
67
65
|
</box>);
|
|
@@ -82,7 +80,7 @@ export function MoveList(properties) {
|
|
|
82
80
|
}} height={properties.height === undefined
|
|
83
81
|
? 6
|
|
84
82
|
: Math.min(6, Math.max(2, Math.floor(properties.height / 4)))} flexShrink={0} width="100%" scrollX={false} scrollY contentOptions={{ flexDirection: "column" }} viewportOptions={{ minHeight: 0, overflow: "hidden" }}>
|
|
85
|
-
<text width="100%" wrapMode="word" textAlign={properties.centered ? "center" : "left"}>
|
|
83
|
+
<text fg={surface().text} width="100%" wrapMode="word" textAlign={properties.centered ? "center" : "left"}>
|
|
86
84
|
{description() || moveInspectionHint(properties.language)}
|
|
87
85
|
</text>
|
|
88
86
|
</scrollbox>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move-list.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,GAGZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAGlD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACvF,OAAO,uBAAuB,CAAA;AAE9B,MAAM,UAAU,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"move-list.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Language } from "../../../../domain/shared/language.js";
|
|
2
2
|
import type { SpriteInput, SpriteResolver } from "../../../sprites/contracts.js";
|
|
3
|
+
import { type PokecodeSurface } from "../theme.js";
|
|
3
4
|
import type { ImageProtocolAccessor } from "./image-protocol.js";
|
|
4
5
|
export declare function Sprite(properties: {
|
|
5
6
|
readonly resolve: SpriteResolver;
|
|
@@ -9,6 +10,7 @@ export declare function Sprite(properties: {
|
|
|
9
10
|
readonly language?: (() => Language) | undefined;
|
|
10
11
|
readonly compactFallback?: boolean | undefined;
|
|
11
12
|
readonly protocol?: ImageProtocolAccessor | undefined;
|
|
13
|
+
readonly theme?: (() => PokecodeSurface) | undefined;
|
|
12
14
|
readonly width?: number | undefined;
|
|
13
15
|
readonly height?: number | undefined;
|
|
14
16
|
}): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,WAAW,EAAoB,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAClG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGhE,wBAAgB,MAAM,CAAC,UAAU,EAAE;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,
|
|
1
|
+
{"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,WAAW,EAAoB,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAClG,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGhE,wBAAgB,MAAM,CAAC,UAAU,EAAE;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAAA;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,OAyCA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createSignal, Show } from "solid-js";
|
|
2
2
|
import { uiCopy } from "../../../presentation/ui-copy.js";
|
|
3
|
+
import { fallbackPokecodeTheme } from "../theme.js";
|
|
3
4
|
import { createOwnerBoundCallback } from "./owner.js";
|
|
4
5
|
export function Sprite(properties) {
|
|
5
6
|
const [sprite, setSprite] = createSignal(null);
|
|
@@ -13,8 +14,9 @@ export function Sprite(properties) {
|
|
|
13
14
|
const resolved = sprite();
|
|
14
15
|
return resolved?.kind === "cached" ? resolved.source : null;
|
|
15
16
|
};
|
|
17
|
+
const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
|
|
16
18
|
return (<Show when={source()} fallback={<box alignItems="center" height={height} justifyContent="center" width={width}>
|
|
17
|
-
<text>
|
|
19
|
+
<text fg={surface().muted}>
|
|
18
20
|
{properties.compactFallback === true
|
|
19
21
|
? sprite() === null
|
|
20
22
|
? "…"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprite.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"sprite.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAwB,MAAM,aAAa,CAAA;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,UAAU,MAAM,CAAC,UAWtB;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,YAAY,CAA0B,IAAI,CAAC,CAAA;IACvE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAA;IACrC,KAAK,UAAU;SACZ,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;SAClE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;QACzB,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,qBAAqB,CAAC,OAAO,CAAA;IAC3E,OAAO,CACL,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CACf,QAAQ,CAAC,CACP,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAC5E;UAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CACxB;YAAA,CAAC,UAAU,CAAC,eAAe,KAAK,IAAI;gBAClC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,aAAa;oBACvD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,iBAAiB,CACjE;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CACP,CAAC,CAED;MAAA,CAAC,CAAC,YAA0B,EAAE,EAAE,CAAC,CAC/B,CAAC,KAAK,CACJ,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CACvB,GAAG,CAAC,KAAK,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,EAC5C,CACH,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/dex/dialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/dex/dialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;AAI7E,eAAO,MAAM,SAAS,yEAA2C,CAAA;AAEjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAE1F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAa9D;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,OA4EA"}
|
|
@@ -2,6 +2,7 @@ import { usePlugin } from "@opencode/plugin/tui";
|
|
|
2
2
|
import { useKeyboard, useTerminalDimensions } from "@opentui/solid";
|
|
3
3
|
import { For } from "solid-js";
|
|
4
4
|
import { bold } from "../components/action-button.js";
|
|
5
|
+
import { toPokecodeTheme } from "../theme.js";
|
|
5
6
|
export const dexFooter = "↑↓: 1 item · ←→: 10 items · Esc: Close";
|
|
6
7
|
export function dexDisplayName(name, status) {
|
|
7
8
|
return status === "unknown" ? "----" : name;
|
|
@@ -28,6 +29,7 @@ export function isDexCloseKey(key) {
|
|
|
28
29
|
}
|
|
29
30
|
export function PokemonDexDialog(properties) {
|
|
30
31
|
const context = usePlugin();
|
|
32
|
+
const surface = () => toPokecodeTheme(context.theme).dialog;
|
|
31
33
|
const dimensions = useTerminalDimensions();
|
|
32
34
|
const height = () => Math.max(10, Math.floor(dimensions().height / 2) - 1);
|
|
33
35
|
const width = () => dexModalWidth(dimensions().width);
|
|
@@ -47,7 +49,7 @@ export function PokemonDexDialog(properties) {
|
|
|
47
49
|
scrollbox.scrollBy(delta, "absolute");
|
|
48
50
|
});
|
|
49
51
|
return (<box flexDirection="column" height={height()} paddingLeft={1} paddingRight={1} width={width()}>
|
|
50
|
-
<text attributes={bold} fg={
|
|
52
|
+
<text attributes={bold} fg={surface().text} flexShrink={0}>
|
|
51
53
|
{properties.title}
|
|
52
54
|
</text>
|
|
53
55
|
<box flexDirection="column" flexShrink={0} height={height() - 2} overflow="hidden" width="100%">
|
|
@@ -62,10 +64,10 @@ export function PokemonDexDialog(properties) {
|
|
|
62
64
|
}} width="100%" wrapperOptions={{ flexDirection: "column", flexGrow: 1, flexShrink: 1, minHeight: 0 }}>
|
|
63
65
|
<For each={properties.pokemon}>
|
|
64
66
|
{(pokemon) => (<box flexDirection="row" width="100%">
|
|
65
|
-
<text fg={pokemon.status === "caught" ?
|
|
67
|
+
<text fg={pokemon.status === "caught" ? surface().success : surface().muted}>
|
|
66
68
|
{pokemon.status === "unknown" ? " " : "● "}
|
|
67
69
|
</text>
|
|
68
|
-
<text>
|
|
70
|
+
<text fg={pokemon.status === "unknown" ? surface().muted : surface().text}>
|
|
69
71
|
#{pokemon.number.toString().padStart(4, "0")}{" "}
|
|
70
72
|
{dexDisplayName(pokemon.name, pokemon.status)}
|
|
71
73
|
</text>
|
|
@@ -73,7 +75,9 @@ export function PokemonDexDialog(properties) {
|
|
|
73
75
|
</For>
|
|
74
76
|
</scrollbox>
|
|
75
77
|
</box>
|
|
76
|
-
<text flexShrink={0}>
|
|
78
|
+
<text fg={surface().muted} flexShrink={0}>
|
|
79
|
+
{dexFooter}
|
|
80
|
+
</text>
|
|
77
81
|
</box>);
|
|
78
82
|
}
|
|
79
83
|
//# sourceMappingURL=dialog.jsx.map
|