|
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