@@ -48,6 +48,8 @@ import { ExternalLinkIcon, FileIcon, StarIcon } from "lucide-react";
48
48
import { EllipsisVertical } from "lucide-react" ;
49
49
import {
50
50
BanIcon ,
51
+ CirclePlayIcon ,
52
+ CloudIcon ,
51
53
PlayIcon ,
52
54
RefreshCcwIcon ,
53
55
SquareIcon ,
@@ -558,7 +560,46 @@ const WorkspaceActionsCell: FC<WorkspaceActionsCellProps> = ({
558
560
isLoading = { workspaceUpdate . isUpdating }
559
561
label = "Update and start workspace"
560
562
>
561
- < PlayIcon />
563
+ < CloudIcon />
564
+ </ PrimaryAction >
565
+ < WorkspaceUpdateDialogs { ...workspaceUpdate . dialogs } />
566
+ </ >
567
+ ) }
568
+
569
+ { abilities . actions . includes ( "updateAndStartRequireActiveVersion" ) && (
570
+ < >
571
+ < PrimaryAction
572
+ onClick = { workspaceUpdate . update }
573
+ isLoading = { workspaceUpdate . isUpdating }
574
+ label = "This template requires automatic updates on workspace startup. Contact your administrator if you want to preserve the template version."
575
+ >
576
+ < CirclePlayIcon />
577
+ </ PrimaryAction >
578
+ < WorkspaceUpdateDialogs { ...workspaceUpdate . dialogs } />
579
+ </ >
580
+ ) }
581
+
582
+ { abilities . actions . includes ( "updateAndRestart" ) && (
583
+ < >
584
+ < PrimaryAction
585
+ onClick = { workspaceUpdate . update }
586
+ isLoading = { workspaceUpdate . isUpdating }
587
+ label = "Update and restart workspace"
588
+ >
589
+ < CloudIcon />
590
+ </ PrimaryAction >
591
+ < WorkspaceUpdateDialogs { ...workspaceUpdate . dialogs } />
592
+ </ >
593
+ ) }
594
+
595
+ { abilities . actions . includes ( "updateAndRestartRequireActiveVersion" ) && (
596
+ < >
597
+ < PrimaryAction
598
+ onClick = { workspaceUpdate . update }
599
+ isLoading = { workspaceUpdate . isUpdating }
600
+ label = "This template requires automatic updates on workspace restart. Contact your administrator if you want to preserve the template version."
601
+ >
602
+ < CirclePlayIcon />
562
603
</ PrimaryAction >
563
604
< WorkspaceUpdateDialogs { ...workspaceUpdate . dialogs } />
564
605
</ >