History

Close git action toast before triggering follow-up action

- Dismiss the success toast before handling Push/Open PR/Create PR CTA clicks - Prevent stale result toasts from lingering while starting the next git action

Julius Marminge committed 9 months ago

Commit 37cd7be1 parent aa6412c1 file · +15 −3Browse files

Unified · Split

apps/web/src/components/GitActionsControl.tsx+15−3
@@ -271,6 +271,9 @@ export default function GitActionsControl({ api, gitCwd }: GitActionsControlProp · 270 unmodified lines
271 (action === "commit_push" || action === "commit_push_pr") && !!prUrl;271 (action === "commit_push" || action === "commit_push_pr") && !!prUrl;
272 const shouldOfferCreatePrCta =272 const shouldOfferCreatePrCta =
273 action === "commit_push" && !prUrl && result.push.status === "pushed";273 action === "commit_push" && !prUrl && result.push.status === "pushed";
274 const closeResultToast = () => {
275 toastManager.close(progressToastId);
276 };
274 277
275 toastManager.update(progressToastId, {278 toastManager.update(progressToastId, {
276 type: "success",279 type: "success",
@@ -281,21 +284,30 @@ export default function GitActionsControl({ api, gitCwd }: GitActionsControlProp · 4 unmodified lines
281 ? {284 ? {
282 actionProps: {285 actionProps: {
283 children: "Push",286 children: "Push",
284 onClick: () => void runGitActionWithToast({ action: "commit_push" }),287 onClick: () => {
288 closeResultToast();
289 void runGitActionWithToast({ action: "commit_push" });
290 },
285 },291 },
286 }292 }
287 : shouldOfferOpenPrCta293 : shouldOfferOpenPrCta
288 ? {294 ? {
289 actionProps: {295 actionProps: {
290 children: "Open PR",296 children: "Open PR",
291 onClick: () => void api?.shell.openExternal(prUrl),297 onClick: () => {
298 closeResultToast();
299 void api?.shell.openExternal(prUrl);
300 },
292 },301 },
293 }302 }
294 : shouldOfferCreatePrCta303 : shouldOfferCreatePrCta
295 ? {304 ? {
296 actionProps: {305 actionProps: {
297 children: "Create PR",306 children: "Create PR",
298 onClick: () => setActiveDialogAction("create_pr"),307 onClick: () => {
308 closeResultToast();
309 setActiveDialogAction("create_pr");
310 },
299 },311 },
300 }312 }
301 : {}),313 : {}),