@ankhorage/studio 1.11.0 → 1.12.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 +1 -1
- package/dist/host/deploy/ProjectDeployMutationGuard.d.ts +5 -0
- package/dist/host/deploy/ProjectDeployMutationGuard.d.ts.map +1 -0
- package/dist/host/deploy/ProjectDeployMutationGuard.js +16 -0
- package/dist/host/deploy/ProjectDeployMutationGuard.js.map +1 -0
- package/dist/host/deploy/ProjectDeployService.d.ts +10 -1
- package/dist/host/deploy/ProjectDeployService.d.ts.map +1 -1
- package/dist/host/deploy/ProjectDeployService.js +53 -21
- package/dist/host/deploy/ProjectDeployService.js.map +1 -1
- package/dist/host/http/deployRoutes.d.ts.map +1 -1
- package/dist/host/http/deployRoutes.js +11 -0
- package/dist/host/http/deployRoutes.js.map +1 -1
- package/dist/projectDeployApi.d.ts +19 -2
- package/dist/projectDeployApi.d.ts.map +1 -1
- package/dist/projectDeployApi.js +24 -0
- package/dist/projectDeployApi.js.map +1 -1
- package/dist/projectDeployAssetPicker.d.ts +5 -0
- package/dist/projectDeployAssetPicker.d.ts.map +1 -0
- package/dist/projectDeployAssetPicker.js +26 -0
- package/dist/projectDeployAssetPicker.js.map +1 -0
- package/dist/projectDeployClient.d.ts +19 -2
- package/dist/projectDeployClient.d.ts.map +1 -1
- package/dist/projectDeployClient.js +115 -0
- package/dist/projectDeployClient.js.map +1 -1
- package/dist/projectDeployMonetizationInspectionResult.d.ts +11 -0
- package/dist/projectDeployMonetizationInspectionResult.d.ts.map +1 -0
- package/dist/projectDeployMonetizationInspectionResult.js +2 -0
- package/dist/projectDeployMonetizationInspectionResult.js.map +1 -0
- package/dist/ui/admin/pages/DeployAdminPage.d.ts.map +1 -1
- package/dist/ui/admin/pages/DeployAdminPage.js +6 -1
- package/dist/ui/admin/pages/DeployAdminPage.js.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployHistoryCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployHistoryCard.js +6 -3
- package/dist/ui/admin/pages/deploy/DeployHistoryCard.js.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployListingLocaleAuthoringCard.d.ts +8 -0
- package/dist/ui/admin/pages/deploy/DeployListingLocaleAuthoringCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployListingLocaleAuthoringCard.js +122 -0
- package/dist/ui/admin/pages/deploy/DeployListingLocaleAuthoringCard.js.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.d.ts +8 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.js +37 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.js.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationExecutionView.d.ts +6 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationExecutionView.d.ts.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationExecutionView.js +15 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationExecutionView.js.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationPlanView.d.ts +13 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationPlanView.d.ts.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationPlanView.js +10 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationPlanView.js.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationSyncCard.d.ts +6 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationSyncCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationSyncCard.js +87 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationSyncCard.js.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.d.ts +8 -0
- package/dist/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.js +46 -0
- package/dist/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.js.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployReleaseOperationsCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployReleaseOperationsCard.js +20 -9
- package/dist/ui/admin/pages/deploy/DeployReleaseOperationsCard.js.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.d.ts +8 -0
- package/dist/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.js +101 -0
- package/dist/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.js.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Card, Text } from '@ankhorage/zora';
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { writeProjectDeployRelease } from '../../../../projectDeployApi';
|
|
5
|
+
import { Field, Input, KeyValue } from '../../adminPagePrimitives';
|
|
6
|
+
export function DeployPreparedReleaseAuthoringCard(props) {
|
|
7
|
+
const [source, setSource] = useState('{}');
|
|
8
|
+
const [busy, setBusy] = useState(false);
|
|
9
|
+
const [error, setError] = useState(null);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (props.release.status !== 'ready')
|
|
12
|
+
return;
|
|
13
|
+
const release = {
|
|
14
|
+
version: props.release.data.version,
|
|
15
|
+
targets: props.release.data.targets,
|
|
16
|
+
notes: props.release.data.notes,
|
|
17
|
+
rollout: props.release.data.rollout,
|
|
18
|
+
};
|
|
19
|
+
setSource(JSON.stringify(release, null, 2));
|
|
20
|
+
}, [props.release]);
|
|
21
|
+
const save = async () => {
|
|
22
|
+
setBusy(true);
|
|
23
|
+
setError(null);
|
|
24
|
+
try {
|
|
25
|
+
const parsed = JSON.parse(source);
|
|
26
|
+
if (!isRecord(parsed))
|
|
27
|
+
throw new Error('Canonical ProjectReleaseInput must be a JSON object.');
|
|
28
|
+
await writeProjectDeployRelease(props.projectId, parsed);
|
|
29
|
+
props.onMutation();
|
|
30
|
+
}
|
|
31
|
+
catch (caught) {
|
|
32
|
+
setError(readError(caught));
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
setBusy(false);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return (_jsxs(Card, { title: "Prepared release desired state", description: "Author the exact Deploy ProjectReleaseInput. Saving desired state never executes a provider; execution remains inspect \u2192 confirm \u2192 execute below.", children: [props.release.status === 'ready' ? (_jsx(KeyValue, { label: "Prepared release revision", value: props.release.data.revision })) : null, _jsx(Field, { label: "Canonical ProjectReleaseInput", children: _jsx(Input, { multiline: true, numberOfLines: 14, value: source, onChangeText: setSource }) }), props.release.status === 'loading' ? _jsx(Text, { children: "Loading prepared release\u2026" }) : null, props.release.status === 'error' ? (_jsx(Text, { color: "danger", children: props.release.message })) : null, error ? _jsx(Text, { color: "danger", children: error }) : null, _jsx(Button, { disabled: busy, onPress: () => void save(), children: busy ? 'Saving…' : 'Save prepared release' })] }));
|
|
39
|
+
}
|
|
40
|
+
function isRecord(value) {
|
|
41
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
42
|
+
}
|
|
43
|
+
function readError(error) {
|
|
44
|
+
return error instanceof Error ? error.message : String(error);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=DeployPreparedReleaseAuthoringCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployPreparedReleaseAuthoringCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,UAAU,kCAAkC,CAAC,KAIlD;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO;QAC7C,MAAM,OAAO,GAAwB;YACnC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;YACnC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;YACnC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;SACpC,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,MAAM,yBAAyB,CAAC,KAAK,CAAC,SAAS,EAAE,MAAwC,CAAC,CAAC;YAC3F,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,IACH,KAAK,EAAC,gCAAgC,EACtC,WAAW,EAAC,6JAAmJ,aAE9J,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAClC,KAAC,QAAQ,IAAC,KAAK,EAAC,2BAA2B,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAI,CACnF,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,+BAA+B,YAC1C,KAAC,KAAK,IAAC,SAAS,QAAC,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,GAAI,GACxE,EACP,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,iDAAiC,CAAC,CAAC,CAAC,IAAI,EAClF,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAClC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,CAAC,OAAO,CAAC,OAAO,GAAQ,CACpD,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,GAAQ,CAAC,CAAC,CAAC,IAAI,EACnD,KAAC,MAAM,IAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,YAC/C,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,GACpC,IACJ,CACR,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployReleaseOperationsCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployReleaseOperationsCard.tsx"],"names":[],"mappings":"AAWA,OAAO,
|
|
1
|
+
{"version":3,"file":"DeployReleaseOperationsCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployReleaseOperationsCard.tsx"],"names":[],"mappings":"AAWA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAchD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAuC1E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC,qBA8NA"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { APP_DEPLOY_ENVIRONMENT_IDS, } from '@ankhorage/contracts/deploy';
|
|
3
3
|
import { listReleaseLifecycleControls, } from '@ankhorage/deploy';
|
|
4
4
|
import { Button, Card, ConfirmDialog, Select, Text } from '@ankhorage/zora';
|
|
5
|
-
import React, { useState } from 'react';
|
|
5
|
+
import React, { useRef, useState } from 'react';
|
|
6
6
|
import { canExecuteProjectDeployRelease } from '../../../../canExecuteProjectDeployRelease';
|
|
7
7
|
import { executeProjectDeployRelease, executeProjectDeployReleaseControl, inspectProjectDeployRelease, resumeProjectDeployRelease, } from '../../../../projectDeployApi';
|
|
8
8
|
import { Field } from '../../adminPagePrimitives';
|
|
@@ -33,6 +33,7 @@ export function DeployReleaseOperationsCard(props) {
|
|
|
33
33
|
const [confirmExecute, setConfirmExecute] = useState(false);
|
|
34
34
|
const [pendingResume, setPendingResume] = useState(null);
|
|
35
35
|
const [pendingControl, setPendingControl] = useState(null);
|
|
36
|
+
const mutationInFlightRef = useRef(false);
|
|
36
37
|
const needsAndroidTrack = props.release.status === 'ready' && props.release.data.targets.includes('android');
|
|
37
38
|
const runtime = createRuntime(environment, androidTrack, needsAndroidTrack);
|
|
38
39
|
const canInspect = props.release.status === 'ready' && runtime !== null;
|
|
@@ -78,8 +79,9 @@ export function DeployReleaseOperationsCard(props) {
|
|
|
78
79
|
const current = preview;
|
|
79
80
|
if (!current?.result.ok || !canExecuteProjectDeployRelease(current.result))
|
|
80
81
|
return;
|
|
82
|
+
if (!beginMutation(mutationInFlightRef, setBusy))
|
|
83
|
+
return;
|
|
81
84
|
setConfirmExecute(false);
|
|
82
|
-
setBusy(true);
|
|
83
85
|
setError(null);
|
|
84
86
|
try {
|
|
85
87
|
const response = await executeProjectDeployRelease({
|
|
@@ -95,15 +97,14 @@ export function DeployReleaseOperationsCard(props) {
|
|
|
95
97
|
setError(readError(caught));
|
|
96
98
|
}
|
|
97
99
|
finally {
|
|
98
|
-
setBusy
|
|
100
|
+
endMutation(mutationInFlightRef, setBusy);
|
|
99
101
|
}
|
|
100
102
|
};
|
|
101
103
|
const resumeRelease = async () => {
|
|
102
104
|
const current = pendingResume;
|
|
103
|
-
if (!current)
|
|
105
|
+
if (!current || !beginMutation(mutationInFlightRef, setBusy))
|
|
104
106
|
return;
|
|
105
107
|
setPendingResume(null);
|
|
106
|
-
setBusy(true);
|
|
107
108
|
setError(null);
|
|
108
109
|
try {
|
|
109
110
|
const response = await resumeProjectDeployRelease({
|
|
@@ -119,15 +120,14 @@ export function DeployReleaseOperationsCard(props) {
|
|
|
119
120
|
setError(readError(caught));
|
|
120
121
|
}
|
|
121
122
|
finally {
|
|
122
|
-
setBusy
|
|
123
|
+
endMutation(mutationInFlightRef, setBusy);
|
|
123
124
|
}
|
|
124
125
|
};
|
|
125
126
|
const executeControl = async () => {
|
|
126
127
|
const current = pendingControl;
|
|
127
|
-
if (!current)
|
|
128
|
+
if (!current || !beginMutation(mutationInFlightRef, setBusy))
|
|
128
129
|
return;
|
|
129
130
|
setPendingControl(null);
|
|
130
|
-
setBusy(true);
|
|
131
131
|
setError(null);
|
|
132
132
|
try {
|
|
133
133
|
const result = await executeProjectDeployReleaseControl({
|
|
@@ -143,7 +143,7 @@ export function DeployReleaseOperationsCard(props) {
|
|
|
143
143
|
setError(readError(caught));
|
|
144
144
|
}
|
|
145
145
|
finally {
|
|
146
|
-
setBusy
|
|
146
|
+
endMutation(mutationInFlightRef, setBusy);
|
|
147
147
|
}
|
|
148
148
|
};
|
|
149
149
|
const chooseResume = (previousExecutionId) => {
|
|
@@ -174,6 +174,17 @@ function createRuntime(environment, androidTrack, needsAndroidTrack) {
|
|
|
174
174
|
...(androidTrack === 'unselected' ? {} : { android: { track: androidTrack } }),
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
|
+
function beginMutation(ref, setBusy) {
|
|
178
|
+
if (ref.current)
|
|
179
|
+
return false;
|
|
180
|
+
ref.current = true;
|
|
181
|
+
setBusy(true);
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
function endMutation(ref, setBusy) {
|
|
185
|
+
ref.current = false;
|
|
186
|
+
setBusy(false);
|
|
187
|
+
}
|
|
177
188
|
function readError(error) {
|
|
178
189
|
return error instanceof Error ? error.message : String(error);
|
|
179
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployReleaseOperationsCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployReleaseOperationsCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,0BAA0B,GAE3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,GAI7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DeployReleaseOperationsCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployReleaseOperationsCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ProjectDeployDashboardState } from './deployDashboardTypes';
|
|
3
|
+
export declare function DeployStoreAssetAuthoringCard(props: {
|
|
4
|
+
readonly projectId: string;
|
|
5
|
+
readonly listing: ProjectDeployDashboardState['listing'];
|
|
6
|
+
readonly onMutation: () => void;
|
|
7
|
+
}): React.JSX.Element;
|
|
8
|
+
//# sourceMappingURL=DeployStoreAssetAuthoringCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployStoreAssetAuthoringCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AASxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAsB1E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC,qBAoJA"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Card, ConfirmDialog, Select, Text } from '@ankhorage/zora';
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { pickProjectDeployImage } from '../../../../projectDeployAssetPicker';
|
|
6
|
+
import { removeProjectDeployListingAsset, writeProjectDeployListingAsset, } from '../../../../projectDeployApi';
|
|
7
|
+
import { adminPageStyles, Field, Input, KeyValue } from '../../adminPagePrimitives';
|
|
8
|
+
const KIND_OPTIONS = [
|
|
9
|
+
{ value: 'screenshot', label: 'Store screenshot' },
|
|
10
|
+
{ value: 'android-shared', label: 'Android shared asset' },
|
|
11
|
+
];
|
|
12
|
+
const TARGET_OPTIONS = [
|
|
13
|
+
{ value: 'android', label: 'Android' },
|
|
14
|
+
{ value: 'ios', label: 'iOS' },
|
|
15
|
+
];
|
|
16
|
+
const SHARED_VARIANT_OPTIONS = [
|
|
17
|
+
{ value: 'icon', label: 'Icon' },
|
|
18
|
+
{ value: 'feature', label: 'Feature graphic' },
|
|
19
|
+
];
|
|
20
|
+
export function DeployStoreAssetAuthoringCard(props) {
|
|
21
|
+
const [kind, setKind] = useState('screenshot');
|
|
22
|
+
const [target, setTarget] = useState('android');
|
|
23
|
+
const [locale, setLocale] = useState('en-US');
|
|
24
|
+
const [variant, setVariant] = useState('phone');
|
|
25
|
+
const [sharedVariant, setSharedVariant] = useState('icon');
|
|
26
|
+
const [filename, setFilename] = useState('');
|
|
27
|
+
const [image, setImage] = useState(null);
|
|
28
|
+
const [busy, setBusy] = useState(false);
|
|
29
|
+
const [error, setError] = useState(null);
|
|
30
|
+
const [confirmRemove, setConfirmRemove] = useState(false);
|
|
31
|
+
const location = createLocation({ kind, target, locale, variant, sharedVariant, filename });
|
|
32
|
+
const chooseImage = async () => {
|
|
33
|
+
setError(null);
|
|
34
|
+
try {
|
|
35
|
+
const selected = await pickProjectDeployImage();
|
|
36
|
+
if (!selected)
|
|
37
|
+
return;
|
|
38
|
+
setImage(selected);
|
|
39
|
+
if (kind === 'screenshot')
|
|
40
|
+
setFilename(selected.filename);
|
|
41
|
+
}
|
|
42
|
+
catch (caught) {
|
|
43
|
+
setError(readError(caught));
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const upload = async () => {
|
|
47
|
+
if (!location || !image)
|
|
48
|
+
return;
|
|
49
|
+
setBusy(true);
|
|
50
|
+
setError(null);
|
|
51
|
+
try {
|
|
52
|
+
await writeProjectDeployListingAsset(props.projectId, location, image.data);
|
|
53
|
+
props.onMutation();
|
|
54
|
+
}
|
|
55
|
+
catch (caught) {
|
|
56
|
+
setError(readError(caught));
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
setBusy(false);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const remove = async () => {
|
|
63
|
+
if (!location)
|
|
64
|
+
return;
|
|
65
|
+
setConfirmRemove(false);
|
|
66
|
+
setBusy(true);
|
|
67
|
+
setError(null);
|
|
68
|
+
try {
|
|
69
|
+
await removeProjectDeployListingAsset(props.projectId, location);
|
|
70
|
+
props.onMutation();
|
|
71
|
+
}
|
|
72
|
+
catch (caught) {
|
|
73
|
+
setError(readError(caught));
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
setBusy(false);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
return (_jsxs(Card, { title: "Store assets", description: "Upload or remove a semantic Deploy asset location. Studio never constructs Deploy filesystem paths.", children: [_jsx(Field, { label: "Asset kind", children: _jsx(Select, { value: kind, options: KIND_OPTIONS, onValueChange: setKind }) }), kind === 'screenshot' ? (_jsxs(_Fragment, { children: [_jsx(Field, { label: "Target", children: _jsx(Select, { value: target, options: TARGET_OPTIONS, onValueChange: setTarget }) }), _jsx(Field, { label: "Locale", children: _jsx(Input, { value: locale, onChangeText: setLocale }) }), _jsx(Field, { label: "Variant", children: _jsx(Input, { value: variant, placeholder: "phone", onChangeText: setVariant }) }), _jsx(Field, { label: "Filename", children: _jsx(Input, { value: filename, placeholder: "01.png", onChangeText: setFilename }) })] })) : (_jsx(Field, { label: "Android shared variant", children: _jsx(Select, { value: sharedVariant, options: SHARED_VARIANT_OPTIONS, onValueChange: setSharedVariant }) })), _jsx(Button, { disabled: busy, variant: "outline", onPress: () => void chooseImage(), children: "Choose PNG/JPEG" }), image ? (_jsx(KeyValue, { label: "Selected image", value: `${image.filename} · ${image.data.byteLength} bytes` })) : null, error ? _jsx(Text, { color: "danger", children: error }) : null, _jsx(Button, { disabled: busy || image === null || location === null, onPress: () => void upload(), children: busy ? 'Working…' : 'Upload asset' }), _jsx(Button, { disabled: busy || location === null, variant: "outline", onPress: () => setConfirmRemove(true), children: "Remove semantic location" }), props.listing.status === 'ready' ? (_jsxs(View, { children: [_jsx(Text, { weight: "semiBold", children: "Current owner inventory" }), props.listing.data.assetSets.length === 0 ? (_jsx(Text, { color: "neutral", emphasis: "muted", children: "No store assets authored yet." })) : (props.listing.data.assetSets.map((set) => (_jsxs(View, { style: adminPageStyles.row, children: [_jsx(KeyValue, { label: `${set.target} · ${set.locale} · ${set.variant}`, value: `${set.assets.length} asset(s)` }), set.assets.map((asset) => (_jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: [asset.relativePath, " \u00B7 ", asset.mediaType, " \u00B7 ", asset.size, " bytes"] }, `${set.target}:${set.locale}:${set.variant}:${asset.relativePath}`)))] }, `${set.target}:${set.locale}:${set.variant}`))))] })) : null, _jsx(ConfirmDialog, { visible: confirmRemove, title: "Remove store asset?", description: "Remove the selected semantic asset location through the Deploy owner API?", confirmLabel: "Remove asset", confirmColor: "danger", cancelLabel: "Cancel", onCancel: () => setConfirmRemove(false), onConfirm: () => void remove() })] }));
|
|
80
|
+
}
|
|
81
|
+
function createLocation(input) {
|
|
82
|
+
if (input.kind === 'android-shared') {
|
|
83
|
+
return { kind: 'android-shared', variant: input.sharedVariant };
|
|
84
|
+
}
|
|
85
|
+
const locale = input.locale.trim();
|
|
86
|
+
const variant = input.variant.trim();
|
|
87
|
+
const filename = input.filename.trim();
|
|
88
|
+
if (locale === '' || variant === '' || filename === '')
|
|
89
|
+
return null;
|
|
90
|
+
return {
|
|
91
|
+
kind: 'screenshot',
|
|
92
|
+
target: input.target,
|
|
93
|
+
locale,
|
|
94
|
+
variant,
|
|
95
|
+
filename,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
function readError(error) {
|
|
99
|
+
return error instanceof Error ? error.message : String(error);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=DeployStoreAssetAuthoringCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployStoreAssetAuthoringCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/studio",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "Studio authoring package for Ankhorage apps",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/ankhorage/studio#readme",
|
|
@@ -222,6 +222,8 @@
|
|
|
222
222
|
"@ankhorage/zora-chess": "^0.1.2",
|
|
223
223
|
"@ankhorage/zora-tabletop": "^0.0.5",
|
|
224
224
|
"@fastify/cors": "^11.2.0",
|
|
225
|
+
"expo-document-picker": "~14.0.8",
|
|
226
|
+
"expo-file-system": "~19.0.23",
|
|
225
227
|
"fastify": "^5.7.4",
|
|
226
228
|
"react-native-gesture-handler": "~2.28.0"
|
|
227
229
|
},
|