|
5 | 5 |
|
6 | 6 | const PROGRAM_NAME_LIMIT = 45 |
7 | 7 |
|
8 | | -proc uploadTrace(self: WelcomeScreenComponent, trace: Trace) = |
9 | | - self.data.ipc.send "CODETRACER::upload-trace-file", |
| 8 | +proc uploadTrace(self: WelcomeScreenComponent, trace: Trace) {.async.} = |
| 9 | + var uploadedData = await self.data.asyncSend( |
| 10 | + "upload-trace-file", |
10 | 11 | UploadTraceArg( |
11 | 12 | trace: trace, |
12 | 13 | programName: trace.program |
13 | | - ) |
| 14 | + ), |
| 15 | + &"{trace.program}:{trace.id}", UploadedTraceData |
| 16 | + ) |
| 17 | + |
| 18 | + if uploadedData.downloadKey != "Errored": |
| 19 | + trace.downloadKey = uploadedData.downloadKey |
| 20 | + trace.controlId = uploadedData.controlId |
| 21 | + trace.onlineExpireTime = ($uploadedData.expireTime).parseInt() |
| 22 | + else: |
| 23 | + trace.downloadKey = uploadedData.downloadKey |
| 24 | + |
| 25 | + self.data.redraw() |
14 | 26 |
|
15 | | -proc deleteUploadedTrace(self: WelcomeScreenComponent, trace: Trace) = |
16 | | - self.data.ipc.send "CODETRACER::delete-online-trace-file", |
| 27 | +proc deleteUploadedTrace(self: WelcomeScreenComponent, trace: Trace) {.async.} = |
| 28 | + var deleted = await self.data.asyncSend( |
| 29 | + "delete-online-trace-file", |
17 | 30 | DeleteTraceArg( |
18 | 31 | traceId: trace.id, |
19 | 32 | controlId: trace.controlId |
20 | | - ) |
| 33 | + ), |
| 34 | + &"{trace.id}:{trace.controlId}", bool |
| 35 | + ) |
| 36 | + |
| 37 | + if deleted: |
| 38 | + trace.controlId = "" |
| 39 | + trace.downloadKey = "" |
| 40 | + trace.onlineExpireTime = -1 |
| 41 | + |
| 42 | + self.data.redraw() |
21 | 43 |
|
22 | 44 | proc recentProjectView(self: WelcomeScreenComponent, trace: Trace): VNode = |
23 | 45 | buildHtml( |
@@ -48,15 +70,15 @@ proc recentProjectView(self: WelcomeScreenComponent, trace: Trace): VNode = |
48 | 70 | span( |
49 | 71 | onclick = proc(ev: Event, tg: VNode) = |
50 | 72 | ev.stopPropagation() |
51 | | - self.uploadTrace(trace) |
| 73 | + discard self.uploadTrace(trace) |
52 | 74 | ): |
53 | 75 | text "upload" |
54 | 76 | if trace.controlId != "": |
55 | 77 | tdiv(class = "recent-trace-buttons", id = "delete-button"): |
56 | 78 | span( |
57 | 79 | onclick = proc(ev: Event, tg: VNode) = |
58 | 80 | ev.stopPropagation() |
59 | | - self.deleteUploadedTrace(trace) |
| 81 | + discard self.deleteUploadedTrace(trace) |
60 | 82 | ): |
61 | 83 | text "delete" |
62 | 84 | # tdiv(class = "recent-trace-info"): |
|
0 commit comments