@ankhorage/templates 1.3.2 → 1.3.4
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/CHANGELOG.md +12 -0
- package/dist/templates/starter/categories/games/poker.content.d.ts +2 -4
- package/dist/templates/starter/categories/games/poker.content.d.ts.map +1 -1
- package/dist/templates/starter/categories/games/poker.content.js +2 -4
- package/dist/templates/starter/categories/games/poker.content.js.map +1 -1
- package/dist/templates/starter/categories/games/poker.data.d.ts +35 -0
- package/dist/templates/starter/categories/games/poker.data.d.ts.map +1 -0
- package/dist/templates/starter/categories/games/poker.data.js +69 -0
- package/dist/templates/starter/categories/games/poker.data.js.map +1 -0
- package/dist/templates/starter/categories/games/poker.screens.d.ts.map +1 -1
- package/dist/templates/starter/categories/games/poker.screens.js +75 -103
- package/dist/templates/starter/categories/games/poker.screens.js.map +1 -1
- package/dist/templates/starter/categories/social-community/index.d.ts.map +1 -1
- package/dist/templates/starter/categories/social-community/index.js +0 -6
- package/dist/templates/starter/categories/social-community/index.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ankhorage/templates
|
|
2
2
|
|
|
3
|
+
## 1.3.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 7f7c6a8: Keep the poker/card trainer starter API-neutral by removing generated `poker_situations` manifest data and switching sample table copy from `Hero` to `User` terminology.
|
|
8
|
+
|
|
9
|
+
## 1.3.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 58b67ed: Improve the generated poker/card trainer starter with a compact trainer layout, visible hero cards, horizontal decisions, hidden initial feedback, and API-first `poker_situations` seed data.
|
|
14
|
+
|
|
3
15
|
## 1.3.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export declare const pokerContent: {
|
|
2
2
|
readonly home: {
|
|
3
|
-
readonly
|
|
4
|
-
readonly
|
|
5
|
-
readonly description: "A compact card-game trainer starter with a table view, decision buttons, and an explanation panel.";
|
|
3
|
+
readonly title: "Trainer";
|
|
4
|
+
readonly description: "Compact poker decision trainer with a tabletop scenario and horizontal actions.";
|
|
6
5
|
};
|
|
7
6
|
readonly settings: {
|
|
8
|
-
readonly eyebrow: "Settings";
|
|
9
7
|
readonly title: "Trainer settings";
|
|
10
8
|
readonly description: "Prepare table display, decision mode, and study preferences for a card-game trainer app.";
|
|
11
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poker.content.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.content.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"poker.content.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.content.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;CAUf,CAAC"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export const pokerContent = {
|
|
2
2
|
home: {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
description: 'A compact card-game trainer starter with a table view, decision buttons, and an explanation panel.',
|
|
3
|
+
title: 'Trainer',
|
|
4
|
+
description: 'Compact poker decision trainer with a tabletop scenario and horizontal actions.',
|
|
6
5
|
},
|
|
7
6
|
settings: {
|
|
8
|
-
eyebrow: 'Settings',
|
|
9
7
|
title: 'Trainer settings',
|
|
10
8
|
description: 'Prepare table display, decision mode, and study preferences for a card-game trainer app.',
|
|
11
9
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poker.content.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE;QACJ,
|
|
1
|
+
{"version":3,"file":"poker.content.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,iFAAiF;KAC/F;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,0FAA0F;KAC7F;CACO,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
interface PokerPlayingCard {
|
|
2
|
+
readonly rank: string;
|
|
3
|
+
readonly suit: 'clubs' | 'diamonds' | 'hearts' | 'spades';
|
|
4
|
+
}
|
|
5
|
+
interface PokerSeatState {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly label: string;
|
|
8
|
+
readonly sublabel?: string;
|
|
9
|
+
readonly cards?: readonly PokerPlayingCard[];
|
|
10
|
+
readonly faceDownCards?: number;
|
|
11
|
+
readonly selected?: boolean;
|
|
12
|
+
readonly muted?: boolean;
|
|
13
|
+
readonly tokenLabel?: string;
|
|
14
|
+
readonly accessibilityLabel?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PokerSituation {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly street: string;
|
|
19
|
+
readonly blinds: string;
|
|
20
|
+
readonly userPosition: string;
|
|
21
|
+
readonly userCards: readonly PokerPlayingCard[];
|
|
22
|
+
readonly pot: string;
|
|
23
|
+
readonly level: string;
|
|
24
|
+
readonly progress: number;
|
|
25
|
+
readonly progressTotal: number;
|
|
26
|
+
readonly score: string;
|
|
27
|
+
readonly prompt: string;
|
|
28
|
+
readonly availableActions: readonly string[];
|
|
29
|
+
readonly correctAction: string;
|
|
30
|
+
readonly explanation: string;
|
|
31
|
+
readonly seats: readonly PokerSeatState[];
|
|
32
|
+
}
|
|
33
|
+
export declare const pokerSituation: PokerSituation;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=poker.data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poker.data.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.data.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC3D;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAC3C;AAED,eAAO,MAAM,cAAc,EAAE,cAoE5B,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export const pokerSituation = {
|
|
2
|
+
id: 'preflop-user-btn-aa',
|
|
3
|
+
street: 'Preflop',
|
|
4
|
+
blinds: '400 / 800',
|
|
5
|
+
userPosition: 'BTN',
|
|
6
|
+
userCards: [
|
|
7
|
+
{ rank: 'A', suit: 'hearts' },
|
|
8
|
+
{ rank: 'A', suit: 'clubs' },
|
|
9
|
+
],
|
|
10
|
+
pot: '3.6K',
|
|
11
|
+
level: '400 / 800',
|
|
12
|
+
progress: 7,
|
|
13
|
+
progressTotal: 20,
|
|
14
|
+
score: '84%',
|
|
15
|
+
prompt: 'You are on the button with A♥ A♣. HJ opened to 2.4K, CO folded, and action is on you.',
|
|
16
|
+
availableActions: ['Fold', 'Call', 'All-In'],
|
|
17
|
+
correctAction: 'All-In',
|
|
18
|
+
explanation: 'Aces crush the button shoving range at this stack depth. Apply maximum pressure instead of flat-calling.',
|
|
19
|
+
seats: [
|
|
20
|
+
{
|
|
21
|
+
id: 'seat-user',
|
|
22
|
+
label: 'BTN',
|
|
23
|
+
sublabel: '98K',
|
|
24
|
+
cards: [
|
|
25
|
+
{ rank: 'A', suit: 'hearts' },
|
|
26
|
+
{ rank: 'A', suit: 'clubs' },
|
|
27
|
+
],
|
|
28
|
+
selected: true,
|
|
29
|
+
tokenLabel: 'User',
|
|
30
|
+
accessibilityLabel: 'User on button with ace of hearts and ace of clubs',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 'seat-small-blind',
|
|
34
|
+
label: 'SB',
|
|
35
|
+
sublabel: '100K',
|
|
36
|
+
tokenLabel: '400',
|
|
37
|
+
faceDownCards: 2,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: 'seat-big-blind',
|
|
41
|
+
label: 'BB',
|
|
42
|
+
sublabel: '99K',
|
|
43
|
+
tokenLabel: '800',
|
|
44
|
+
faceDownCards: 2,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'seat-hijack',
|
|
48
|
+
label: 'HJ',
|
|
49
|
+
sublabel: '96K',
|
|
50
|
+
tokenLabel: '2.4K',
|
|
51
|
+
faceDownCards: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: 'seat-cutoff',
|
|
55
|
+
label: 'CO',
|
|
56
|
+
sublabel: '101K',
|
|
57
|
+
muted: true,
|
|
58
|
+
faceDownCards: 2,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 'seat-middle',
|
|
62
|
+
label: 'MP',
|
|
63
|
+
sublabel: '104K',
|
|
64
|
+
muted: true,
|
|
65
|
+
faceDownCards: 2,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=poker.data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poker.data.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.data.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,EAAE,EAAE,qBAAqB;IACzB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,WAAW;IACnB,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE;QACT,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;KAC7B;IACD,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,EAAE;IACjB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,uFAAuF;IAC/F,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC5C,aAAa,EAAE,QAAQ;IACvB,WAAW,EACT,0GAA0G;IAC5G,KAAK,EAAE;QACL;YACE,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;aAC7B;YACD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,MAAM;YAClB,kBAAkB,EAAE,oDAAoD;SACzE;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,KAAK;YACjB,aAAa,EAAE,CAAC;SACjB;QACD;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,aAAa,EAAE,CAAC;SACjB;QACD;YACE,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,MAAM;YAClB,aAAa,EAAE,CAAC;SACjB;QACD;YACE,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,IAAI;YACX,aAAa,EAAE,CAAC;SACjB;QACD;YACE,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,IAAI;YACX,aAAa,EAAE,CAAC;SACjB;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poker.screens.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.screens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,sBAAsB,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"poker.screens.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.screens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,sBAAsB,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA0ErD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,cAAc,GACxB,WAAW,CAAC,SAAS,CAAC,CAiFxB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createScreen, createSettingsSection } from '../../../shared';
|
|
2
2
|
import { pokerContent } from './poker.content';
|
|
3
|
+
import { pokerSituation } from './poker.data';
|
|
3
4
|
function createNode(id, type, props, children) {
|
|
4
5
|
return {
|
|
5
6
|
id,
|
|
@@ -8,7 +9,48 @@ function createNode(id, type, props, children) {
|
|
|
8
9
|
...(children && children.length > 0 ? { children } : {}),
|
|
9
10
|
};
|
|
10
11
|
}
|
|
12
|
+
function createScenarioChips(idPrefix, situation) {
|
|
13
|
+
return createNode(`${idPrefix}-home-scenario-chips`, 'ButtonGroup', {
|
|
14
|
+
align: 'between',
|
|
15
|
+
gap: 'xs',
|
|
16
|
+
orientation: 'horizontal',
|
|
17
|
+
}, [
|
|
18
|
+
createNode(`${idPrefix}-home-chip-street`, 'Button', {
|
|
19
|
+
children: situation.street,
|
|
20
|
+
color: 'neutral',
|
|
21
|
+
disabled: true,
|
|
22
|
+
size: 's',
|
|
23
|
+
variant: 'soft',
|
|
24
|
+
}),
|
|
25
|
+
createNode(`${idPrefix}-home-chip-blinds`, 'Button', {
|
|
26
|
+
children: `Blinds ${situation.blinds}`,
|
|
27
|
+
color: 'neutral',
|
|
28
|
+
disabled: true,
|
|
29
|
+
size: 's',
|
|
30
|
+
variant: 'soft',
|
|
31
|
+
}),
|
|
32
|
+
createNode(`${idPrefix}-home-chip-position`, 'Button', {
|
|
33
|
+
children: `User ${situation.userPosition}`,
|
|
34
|
+
color: 'primary',
|
|
35
|
+
disabled: true,
|
|
36
|
+
size: 's',
|
|
37
|
+
variant: 'soft',
|
|
38
|
+
}),
|
|
39
|
+
]);
|
|
40
|
+
}
|
|
41
|
+
function createDecisionActions(idPrefix, situation) {
|
|
42
|
+
return createNode(`${idPrefix}-home-actions`, 'ButtonGroup', {
|
|
43
|
+
align: 'stretch',
|
|
44
|
+
gap: 's',
|
|
45
|
+
orientation: 'horizontal',
|
|
46
|
+
}, situation.availableActions.map((action) => createNode(`${idPrefix}-home-action-${action.toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, 'Button', {
|
|
47
|
+
children: action,
|
|
48
|
+
color: action === 'Fold' ? 'neutral' : 'primary',
|
|
49
|
+
variant: 'soft',
|
|
50
|
+
})));
|
|
51
|
+
}
|
|
11
52
|
export function createPokerScreens(seed, idPrefix, screenIds) {
|
|
53
|
+
const situation = pokerSituation;
|
|
12
54
|
return {
|
|
13
55
|
[screenIds.home]: createScreen({
|
|
14
56
|
id: screenIds.home,
|
|
@@ -16,103 +58,34 @@ export function createPokerScreens(seed, idPrefix, screenIds) {
|
|
|
16
58
|
title: pokerContent.home.title,
|
|
17
59
|
description: pokerContent.home.description,
|
|
18
60
|
root: createNode(`${idPrefix}-home-screen`, 'Screen', { width: 'default' }, [
|
|
19
|
-
createNode(`${idPrefix}-home-header`, '
|
|
20
|
-
eyebrow:
|
|
21
|
-
title:
|
|
22
|
-
description:
|
|
61
|
+
createNode(`${idPrefix}-home-header`, 'Card', {
|
|
62
|
+
eyebrow: 'Poker Trainer',
|
|
63
|
+
title: seed.appName,
|
|
64
|
+
description: `Hand ${situation.progress} / ${situation.progressTotal} · Score ${situation.score}`,
|
|
65
|
+
tone: 'subtle',
|
|
23
66
|
}),
|
|
24
|
-
createNode(`${idPrefix}-home-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
sublabel: '100K',
|
|
47
|
-
tokenLabel: '200',
|
|
48
|
-
faceDownCards: 2,
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
id: 'seat-big',
|
|
52
|
-
label: 'BB',
|
|
53
|
-
sublabel: '99K',
|
|
54
|
-
tokenLabel: '400',
|
|
55
|
-
faceDownCards: 2,
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
id: 'seat-early',
|
|
59
|
-
label: 'EP',
|
|
60
|
-
sublabel: '104K',
|
|
61
|
-
muted: true,
|
|
62
|
-
faceDownCards: 2,
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
id: 'seat-middle',
|
|
66
|
-
label: 'MP',
|
|
67
|
-
sublabel: '96K',
|
|
68
|
-
faceDownCards: 2,
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
id: 'seat-cutoff',
|
|
72
|
-
label: 'CO',
|
|
73
|
-
sublabel: '101K',
|
|
74
|
-
faceDownCards: 2,
|
|
75
|
-
},
|
|
76
|
-
],
|
|
77
|
-
testID: `${idPrefix}-home-table`,
|
|
78
|
-
}),
|
|
79
|
-
]),
|
|
80
|
-
createNode(`${idPrefix}-home-decision-section`, 'ScreenSection', {
|
|
81
|
-
title: 'Decision',
|
|
82
|
-
description: 'Replace the sample actions with generated or app-specific trainer state.',
|
|
83
|
-
}, [
|
|
84
|
-
createNode(`${idPrefix}-home-situation`, 'Card', {
|
|
85
|
-
eyebrow: 'Situation',
|
|
86
|
-
title: 'Button faces a raise',
|
|
87
|
-
description: 'Use this card for stack depth, previous action, position, and trainer prompt copy.',
|
|
88
|
-
}),
|
|
89
|
-
createNode(`${idPrefix}-home-actions`, 'ButtonGroup', {
|
|
90
|
-
align: 'start',
|
|
91
|
-
gap: 's',
|
|
92
|
-
orientation: 'responsive',
|
|
93
|
-
}, [
|
|
94
|
-
createNode(`${idPrefix}-home-fold`, 'Button', {
|
|
95
|
-
children: 'Fold',
|
|
96
|
-
color: 'neutral',
|
|
97
|
-
variant: 'soft',
|
|
98
|
-
}),
|
|
99
|
-
createNode(`${idPrefix}-home-call`, 'Button', {
|
|
100
|
-
children: 'Call',
|
|
101
|
-
color: 'primary',
|
|
102
|
-
variant: 'soft',
|
|
103
|
-
}),
|
|
104
|
-
createNode(`${idPrefix}-home-raise`, 'Button', {
|
|
105
|
-
children: 'Raise',
|
|
106
|
-
color: 'primary',
|
|
107
|
-
variant: 'solid',
|
|
108
|
-
}),
|
|
109
|
-
]),
|
|
110
|
-
createNode(`${idPrefix}-home-result`, 'Notice', {
|
|
111
|
-
title: 'Explanation placeholder',
|
|
112
|
-
description: 'Show feedback after an answer is selected. The starter keeps state and scoring out of the template package.',
|
|
113
|
-
tone: 'info',
|
|
114
|
-
}),
|
|
115
|
-
]),
|
|
67
|
+
createNode(`${idPrefix}-home-progress`, 'Progress', {
|
|
68
|
+
color: 'primary',
|
|
69
|
+
max: situation.progressTotal,
|
|
70
|
+
size: 's',
|
|
71
|
+
value: situation.progress,
|
|
72
|
+
}),
|
|
73
|
+
createScenarioChips(idPrefix, situation),
|
|
74
|
+
createNode(`${idPrefix}-home-table`, 'TabletopTable', {
|
|
75
|
+
centerLabel: `Pot ${situation.pot}`,
|
|
76
|
+
centerSublabel: `Level ${situation.level}`,
|
|
77
|
+
seatCount: situation.seats.length,
|
|
78
|
+
shape: 'oval',
|
|
79
|
+
cardSize: 'medium',
|
|
80
|
+
seats: situation.seats,
|
|
81
|
+
testID: `${idPrefix}-home-table`,
|
|
82
|
+
}),
|
|
83
|
+
createNode(`${idPrefix}-home-situation`, 'Card', {
|
|
84
|
+
title: 'Your decision',
|
|
85
|
+
description: situation.prompt,
|
|
86
|
+
tone: 'outline',
|
|
87
|
+
}),
|
|
88
|
+
createDecisionActions(idPrefix, situation),
|
|
116
89
|
]),
|
|
117
90
|
}),
|
|
118
91
|
[screenIds.settings]: createScreen({
|
|
@@ -122,7 +95,6 @@ export function createPokerScreens(seed, idPrefix, screenIds) {
|
|
|
122
95
|
description: pokerContent.settings.description,
|
|
123
96
|
root: createNode(`${idPrefix}-settings-screen`, 'Screen', { width: 'default' }, [
|
|
124
97
|
createNode(`${idPrefix}-settings-header`, 'SectionHeader', {
|
|
125
|
-
eyebrow: pokerContent.settings.eyebrow,
|
|
126
98
|
title: pokerContent.settings.title,
|
|
127
99
|
description: pokerContent.settings.description,
|
|
128
100
|
}),
|
|
@@ -130,20 +102,20 @@ export function createPokerScreens(seed, idPrefix, screenIds) {
|
|
|
130
102
|
{
|
|
131
103
|
id: 'table-row',
|
|
132
104
|
title: 'Table layout',
|
|
133
|
-
description: 'Start with six seats
|
|
105
|
+
description: 'Start with six compact seats, visible user cards, stacks, and chip labels.',
|
|
134
106
|
meta: '6 seats',
|
|
135
107
|
},
|
|
136
108
|
{
|
|
137
109
|
id: 'feedback-row',
|
|
138
110
|
title: 'Feedback mode',
|
|
139
|
-
description: '
|
|
111
|
+
description: 'Initial trainer screen hides explanations until a decision is selected.',
|
|
140
112
|
meta: 'after answer',
|
|
141
113
|
},
|
|
142
114
|
{
|
|
143
|
-
id: '
|
|
144
|
-
title: '
|
|
145
|
-
description:
|
|
146
|
-
meta: '
|
|
115
|
+
id: 'bindings-row',
|
|
116
|
+
title: 'Data binding',
|
|
117
|
+
description: 'Map tabletop props to app API data in Studio when the real trainer data source is available.',
|
|
118
|
+
meta: 'app-owned',
|
|
147
119
|
},
|
|
148
120
|
]),
|
|
149
121
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poker.screens.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.screens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"poker.screens.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/poker.screens.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/social-community/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAGrE,eAAO,MAAM,+BAA+B;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/social-community/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAGrE,eAAO,MAAM,+BAA+B;;;;;GAaY,CAAC"}
|
|
@@ -7,12 +7,6 @@ export const socialCommunityStarterTemplates = [
|
|
|
7
7
|
description: 'A feed, groups, messages, profile, and settings starter for community apps.',
|
|
8
8
|
create: createSocialCommunityTemplate,
|
|
9
9
|
},
|
|
10
|
-
{
|
|
11
|
-
id: 'community',
|
|
12
|
-
label: 'Community network',
|
|
13
|
-
description: 'A feed, groups, messages, profile, and settings starter for community apps.',
|
|
14
|
-
create: createSocialCommunityTemplate,
|
|
15
|
-
},
|
|
16
10
|
{
|
|
17
11
|
id: 'creator',
|
|
18
12
|
label: 'Creator social',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/social-community/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,6EAA6E;QAC1F,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/social-community/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,6EAA6E;QAC1F,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,6EAA6E;QAC1F,MAAM,EAAE,2BAA2B;KACpC;CACqD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/templates",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.4",
|
|
4
4
|
"description": "Reusable Ankhorage app templates, presets, and manifest generators.",
|
|
5
5
|
"homepage": "https://github.com/ankhorage/templates#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"version-packages": "changeset version"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@ankhorage/contracts": "^1.
|
|
55
|
-
"@ankhorage/zora": "^2.6.
|
|
54
|
+
"@ankhorage/contracts": "^1.16.0",
|
|
55
|
+
"@ankhorage/zora": "^2.6.1"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@ankhorage/devtools": "^1.0.6",
|