Skip to content

Commit f9e8ef6

Browse files
committed
phase 1
1 parent f149db6 commit f9e8ef6

File tree

5 files changed

+39
-13
lines changed

5 files changed

+39
-13
lines changed

site/src/components/Alert/Alert.stories.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ const ExampleAction = (
1717
</Button>
1818
)
1919

20+
export const Success: Story = {
21+
args: {
22+
children: "You're doing great!",
23+
severity: "success",
24+
onRetry: undefined,
25+
},
26+
}
27+
2028
export const Warning: Story = {
2129
args: {
2230
children: "This is a warning",

site/src/components/TemplateVersionEditor/TemplateVersionEditor.stories.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,30 +27,30 @@ const Template: Story<TemplateVersionEditorProps> = (
2727

2828
export const Example = Template.bind({})
2929
Example.args = {
30+
defaultFileTree: MockTemplateVersionFileTree,
3031
template: MockTemplate,
3132
templateVersion: MockTemplateVersion,
32-
defaultFileTree: MockTemplateVersionFileTree,
3333
}
3434

3535
export const Logs = Template.bind({})
36-
3736
Logs.args = {
38-
template: MockTemplate,
39-
templateVersion: MockTemplateVersion,
40-
defaultFileTree: MockTemplateVersionFileTree,
37+
...Example.args,
4138
buildLogs: MockWorkspaceBuildLogs,
4239
}
4340

4441
export const Resources = Template.bind({})
45-
4642
Resources.args = {
47-
template: MockTemplate,
48-
templateVersion: MockTemplateVersion,
49-
defaultFileTree: MockTemplateVersionFileTree,
43+
...Example.args,
5044
buildLogs: MockWorkspaceBuildLogs,
5145
resources: [
5246
MockWorkspaceResource,
5347
MockWorkspaceResource2,
5448
MockWorkspaceResource3,
5549
],
5650
}
51+
52+
export const SuccessfulPublish = Template.bind({})
53+
SuccessfulPublish.args = {
54+
...Example.args,
55+
publishedVersion: MockTemplateVersion,
56+
}

site/src/components/TemplateVersionEditor/TemplateVersionEditor.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export interface TemplateVersionEditorProps {
6464
onConfirmPublish: (data: PublishVersionData) => void
6565
onCancelPublish: () => void
6666
publishingError: unknown
67+
publishedVersion?: TemplateVersion
6768
isAskingPublishParameters: boolean
6869
isPromptingMissingVariables: boolean
6970
isPublishing: boolean
@@ -97,9 +98,10 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
9798
onPublish,
9899
onConfirmPublish,
99100
onCancelPublish,
100-
publishingError,
101101
isAskingPublishParameters,
102102
isPublishing,
103+
publishingError,
104+
publishedVersion,
103105
buildLogs,
104106
resources,
105107
isPromptingMissingVariables,
@@ -204,6 +206,12 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
204206
</Link>
205207
</div>
206208

209+
{publishedVersion && (
210+
<Alert severity="success" dismissible>
211+
Successfully published!
212+
</Alert>
213+
)}
214+
207215
<div className={styles.topbarSides}>
208216
{/* Only start to show the build when a new template version is building */}
209217
{templateVersion.id !== firstTemplateVersionOnEditor.current.id && (

site/src/pages/TemplateVersionPage/TemplateVersionEditorPage/TemplateVersionEditorPage.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,9 @@ export const TemplateVersionEditorPage: FC = () => {
7272
isAskingPublishParameters={editorState.matches(
7373
"askPublishParameters",
7474
)}
75-
publishingError={editorState.context.publishingError}
7675
isPublishing={editorState.matches("publishingVersion")}
76+
publishingError={editorState.context.publishingError}
77+
publishedVersion={editorState.context.lastSuccessfulPublishedVersion}
7778
disablePreview={editorState.hasTag("loading")}
7879
disableUpdate={
7980
editorState.hasTag("loading") ||

site/src/xServices/templateVersionEditor/templateVersionEditorXService.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,14 @@ export interface TemplateVersionEditorMachineContext {
2424
buildLogs?: ProvisionerJobLog[]
2525
tarReader?: TarReader
2626
publishingError?: unknown
27+
lastSuccessfulPublishedVersion?: TemplateVersion
2728
missingVariables?: TemplateVersionVariable[]
2829
missingVariableValues?: VariableValue[]
2930
}
3031

3132
export const templateVersionEditorMachine = createMachine(
3233
{
33-
/** @xstate-layout N4IgpgJg5mDOIC5QBcwFsAOAbAhqgamAE6wCWA9gHYCiEpy5RAdKZfaTlqQF6tQDEASQByggCqCAggBlBALWoBtAAwBdRKAzkyyCpQ0gAHogC0AVgCMAJiZWAnBYDMZu3eVXHdq1YA0IAJ6IFhYAbDZWIe4AHI4hYcoA7BYJAL4pfqiYuATEZFS09IwsEFhg-ADCAErUkmLUAPr41JUAyoIA8sIq6kggWjp6BsYIJrFmTI5WFmZm7iHTACwhZn6BCBYLM0xmCVEhk4sLCQkLaRno2HhghCR6BQzMpCVlAAoAqgBCsi0AEt0G-XYVCGpgi42UjgWViiUQsUW8EWWqyCVmUCyYbjMjmUUQSHlxIVS6RAmUuOVu+ToDyYOFgAGsXgBXABGXFgAAsXjgiDg0GBUCQKpJhOVqNJ6u8voJfv9eoDdMDesMTMEEhM7AsFjETq49lDketoWrjvs4cp5lCTmcSRdstdcncqUVaQyWWzOdzefzchVOgAxQSVACyEs+3z+agB2iB+iVQWSTA2UQWk0cUSxe2UdgNwVcTF2sLMHiS0Ki1tJdpueRoTuYGDdpA5fCren4ECoYBYlAAbuQ6Z366zG+zmw6qLLNNGFbHQMMFsplExlFi7GY4l5IumVgEUVE7BNQmZYQsNk4wuXbVcW5TCnWG03KFBr5R+MQiEUyQAzRhoJiD92jhSlATn0U6DHG6wWPuRzJFm7hYkc0I5mi+54p486OAkR6zBYF5ZFeY41reTAAMY4JQJFgFwj6CJQLzvlARBwLAHyMqQWAQG2HZdr2-akeRlFYKx7EQCB8rgbOpjOFETApria57A4jixDmCSOBYGKRIkCT7K47h4WS9pAfcRSMtg5A4BAYjclxlCdqwvGdmZWAWVZ3JiWBiqSSMdhqlYaGQh4dh7rECQ5vC4xmFqCTLlmnhWCeBmVoRJnMCRTF4HwwkcbZ9k9n2nbpWAVzZaJkZyp5M5GIgmw2DieLBTpeJFiE4VWJF0WxXY8WaklBHGbWTAAO54CRI6PqV0jkFAsD8JIAAi831B8byCNIS3SO0ADiHkDF51UIKuaqrlMmrph40KtTu6xYfuqJxCEilQu1ZbEhW-XVqlw2jeNUCTdNs0rWtS3zZ0SjlZOe1VcMWEhNsa7LN4oQasFOYanVZpRGia6bGpfXkp9g0jcgY1ZWxHFTTNQoimKjTNG0nS7TGIIjLiGK4lmezWFqEQWDm8TbL5rixDiKaePjRmE8RxOkxN5MQJTs1VDUdR060HRdBDoFQyzJjzHDSS7Edrj2C4bUaSEULLsFdibr1b2XgTjrEZ+-Ky0+hG5TxBVMK7JPss+TPTizFgLjY6bTMuXPBGiBqogmRbBbEUJQbEIQS8+X1++7z5ew5PvZwHhGKBYPSQ8zEHWFMmkwUkbiXQscdOOie4RY9tueK95z4U7N7Uhg76YMg+DchwrJwEwLmWXwQaNmQj4j0QY+lLN7Z2d7fHvb3RH94PGDD6PODj7Ak+uTPc-Nofx8IPnZHTt0QcSQdekTKimrzkm5px5CGkREd2M6WsBnFKg0B7kCHovZeE8nilH4C0agYh6hBmlG0YQW1GiSEqFIL4DR8AyDeNQFoj99rDEJImUsylLbTASBqRwcciw2BihsMIbgsb+WAQNYiYCIFXxXsUWB5RhSinFMgloqD0F4KwZIHBGDpAEKIVrcSJCgjwkcEwR6sRbbHChDsRu11USeCXOaNM8xITHGXBwqW1JC6VDgOQRkRBKKr24vnPiMBkC2NgPYxxcBiHQyCC4OGWIIRLBobCWEcdlAJ3sDES2UxupEmJJQcgEA4AGC3pLZ2Dwow6wgnrS2+Zkh7h2CbVc2Zrq23CEFFwMQYSeHTg7HumS+5FFYOwTgPA+A5Irt5cwiQmDJjXJYNS7h2p6LWKHbqExzSKX8jMBKuFGmGUzoNGBYBunBzyepRhC4or2CzA4Xw10nBFgGbsTU7V1I4hmJYrJzp6RMiHByLkPI+QCngBVXJvTrD7mKTEZwqJkxQiuhMt+GJlzYlxPiJqtyWl3ieb9Z8Gyn7DDTOHeY0IxlakiGuHMSYJhqSPNQuI7UGnd2WSA4iZEKJUT4LRei00mKwBYvLZFyiRjzhklE-yWNrDLFiTmFwapOZROSGEPYMRYU71MuZSy1kiBsv8SMTw4JJjLgSrCc0HhtwTNUdsdq-kIQhA1GiMlNomkrKpRlXQcsRKKpDksbYmEYoxBTEWcJbU1FFhapYdM8I9hSq+jLX6-0Zr2ogiS2SqIolqpikatqcNzQakJFCLUaY7CBsGoXQC1Zw3eQ0bYQkxrI4uG8OMxA8dIrGNtpYNMiUlnJU4bvcB+9IFHxXnmg6j0NLOFCJqiIck+b6INbYJYsETiPSzJmrhe8D5L3bRPKedBHyz2ZZfedx9O0w3sBMSw3a5iDu-oYid0xrC1KgmYadzaeEbr4WsrdKId3tRoUbWYOx0zf32KOi0cEjjRSvUUGxdiHFOIfesBCtgHAmuhNidwTdJhnLTccbwOLEkpCAA */
34+
/** @xstate-layout N4IgpgJg5mDOIC5QBcwFsAOAbAhqgamAE6wCWA9gHYCiEpy5RAdKZfaTlqQF6tQDEASQByggCqCAggBlBALWoBtAAwBdRKAzkyyCpQ0gAHogC0AFgDsypgDYAnAFZlFpzefKbADgA0IAJ6IAIzKngDMTIF2FmYONoFW9s4Avkm+qJi4BMRkVLT0jCwQWGD8AMIAStSSYtQA+vjU5QDKggDywirqSCBaOnoGxggmoTYOTKEATIEOThNxDmajvgEIgTFjDhaeNpPTZpbRKWno2HhghCR6eQzMpEUlAAoAqgBCsk0AEp0GvexUA6Y5mNlKEzBNPJ5Ap4JjCbEt-EEJsozEw7MoHKEQhYJqFPBYbBYjiB0qcspdcnQboVivwACKCJoAWQZTVqzzeDI+tRekmEwka326v10-26gxMcM8TGcoRGc0CNjMyg8yyCkzsqOUkWcnjMEJhRJJmXO2SulIKOFgAGsHgBXABGXFgAAsHjgiDg0GBUCQyrzStRpGzXu8vmofto-voxaZAvFxnZ9mFonY7NswarVuCLEwLPjQlCPGsJodUsSTsaLjkaObmJabQ6na73Z7vdkyu0AGKCcqM4Mcz6CzSRkXR0CDOM5ta6ya4jHbZR2TNx1O5iHTHEWQLgzyGitnKtm-LMDCN0guviHqj8CBUMAsSgAN3IVvvp8d5+dl9NVCHPRH-QxggSrWOioSOHCdhzCEMzLuCGoFqMkJmGsgRynuGQHj+NbHkw75Nt+5KUPwxBEAUpIAGaMGgeFnhelBQFelB-sKgHjkEcbStESKbGYaZFoEy6LlKcJePE4IzDYEwYaSJpEdcBQAMY4JQilgFwDGCJQDxkVARBwLALy2qQWAQDed4Ps+r5MMpqnqUZJkQCxAGiuxQyhA4UpmLiLhePYaEjMuFgFqibjOPmqbKNJZZGlh8m1kwtrYOQOAQGI7rmZQ96sFZ95JVgKVpe6zl9K5RimFETAljioI4mmdgjBYy7QhsepWE4DVQShMmVthCnMIp+l4HwDmmZl2VPi+96DWAZyjU54ZCi5Y7lcBDgTNKeITGm+LYutNjNRMrV4uii7gRM+w9XF1b9UwADueCKV+DHzdI5BQLA-CSLStLck8gjSL90itAA4iVUYAggjg5o4UxJutkzbEFDgakionbImMKeVdZI3QlD3IE9I3GaZb0ffwLz-YDtS0u0SiLcOpUrYMvlMJJowwgqiZpsumPSoWnjIrEMTBTjcl47hBNEy9JMQGTn2lP6gb1I0LTtODo6QyYeKoidaZxBd0JxMuUnWCjFipiMITeeBYtMbdUvPVAr3vQrlTVHUDTNG0HQM-+TNa3ENi5vEnjQ6m20o4dgS2GC6L1W4upmHbfUJRR3rS4x2HjZZU1MOnhPOkxGtsatUkorqmxWLKFuC4JCIIHDwcuAj60uKCiwp-FuEF5nTE5zlee90X2GKIEXSMxDQHBDsuZah5cbBHYAWZk3uYzJEDVxlJdhdxLVIYGRmDIPg7ocI6cBMAVqV8Iy55kAxp9EOfxSfbeWW59ZsW40eB9HxgJ8z44AvrAK+hVb730vEAkBCBB7KVHJ0EuZVBhhVRAFTwvFI5TFXrVJg3l9Qll1CEGwe9f7kX-oA5+wDX7UhKE0agYhajMiaC0YQIN6iSHKFIN4nsZBPGoE0JBzNEAEgiDuWUippgW28qvdaG0rBrB3iEKKhIYr7h-hSXCh9yDHyfi-S+dwaSK2EAGIMzDWHsPwJw7h0heHSH4YIv2rFkFBEklVUI0ipgNSsPsVeJZg5RCxmhWYkRQikM0VSYe5Q4DkFtEQNSb8LKD2sjAZA0TYCxPiXAIRkNixjDQpCDwgTtz4hNk4WwDgFTKgxHxLcYSiSUHIBAOABhv7izIUQCMAcgImC3MHGUcog4gQOg3VMYx7DREWDEaEkJorHEwhonCVJWDsE4DwPgXSp5uQlCFPpUIkTInsBmBucYPARGiFFSYJYPAFnCUsgohiwCbM1j0gs8jqlgjRKmbcy4PIbTxEnI6BYYIODubdesdoPwujdB6L0Pp4BLW6ds7cGow6eVlOta2YIRkrG3MiTUGIsQ4jxASMFCV8KfkItWZ5pdBgeSlM4GYwtrZOF8ScuM4QkTgX2ASZUaZ6nzNkvbBKtk1IaSgFpHS719KwEMrLGlLihhKgZSUuuQIwg4tcZVYSWp4hSW2GEMluF8qFXSp0xFWzVrDEcNKSY6JDYzxxA4Q64R1ptxBEcw5RqqQzWGjLRyCrhGrEWGzDxVgwjeXWpCHwJzoSuqOkCKEnlwQkLUQs9pESCiO2Jo5eWgbIZwg2nHeeSIrAesOv0o5BIwR6lxLvNNQrU49wzk7Ji+agJeE5QSfyTgUYwjMKvLUGwbl2FGAU7qDberdz-jogBejqEtItS8ty20Y6JkWDCFw0zjkrCxuEFCCxLBxDzF6yd10Ol4QofOkBYCb4MTvrKqBVCQHtrcrKDU66pIlgWJ5HdiAcRKjQQsD1wRtoCvLOm4VWir3QJoY819q0wioo6mjLY2JFg4MVHg6Y4FZzbn7d6goUSYlxISQhicHiEJxCVCMewiotSrwKbYXYwQPAoTxCkFIQA */
3435
predictableActionArguments: true,
3536
id: "templateVersionEditor",
3637
schema: {
@@ -108,7 +109,7 @@ export const templateVersionEditorMachine = createMachine(
108109

109110
publishingVersion: {
110111
tags: "loading",
111-
entry: ["clearPublishingError"],
112+
entry: ["clearPublishingError", "clearLastSuccessfulPublishedVersion"],
112113
invoke: {
113114
id: "publishingVersion",
114115
src: "publishingVersion",
@@ -119,6 +120,7 @@ export const templateVersionEditorMachine = createMachine(
119120
},
120121

121122
onDone: {
123+
actions: ["assignLastSuccessfulPublishedVersion"],
122124
target: ["idle"],
123125
},
124126
},
@@ -256,6 +258,10 @@ export const templateVersionEditorMachine = createMachine(
256258
assignBuild: assign({
257259
version: (_, event) => event.data,
258260
}),
261+
assignLastSuccessfulPublishedVersion: assign({
262+
lastSuccessfulPublishedVersion: (ctx) => ctx.version,
263+
version: () => undefined,
264+
}),
259265
addBuildLog: assign({
260266
buildLogs: (context, event) => {
261267
const previousLogs = context.buildLogs ?? []
@@ -285,6 +291,9 @@ export const templateVersionEditorMachine = createMachine(
285291
publishingError: (_, event) => event.data,
286292
}),
287293
clearPublishingError: assign({ publishingError: (_) => undefined }),
294+
clearLastSuccessfulPublishedVersion: assign({
295+
lastSuccessfulPublishedVersion: (_) => undefined,
296+
}),
288297
assignMissingVariables: assign({
289298
missingVariables: (_, event) => event.data,
290299
}),

0 commit comments

Comments
 (0)