@@ -13,6 +13,8 @@ import {
1313} from "./actions-shared.js"
1414import { loadSelectedProjectTasks } from "./actions-tasks.js"
1515import {
16+ applyAllProjects ,
17+ applyProject ,
1618 createProjectTerminalSession ,
1719 deleteProject ,
1820 downAllProjects ,
@@ -120,6 +122,31 @@ export const connectProjectById = (
120122 } )
121123}
122124
125+ export const applyProjectById = (
126+ projectId : string ,
127+ context : BrowserActionContext
128+ ) => {
129+ context . setSelectedProjectId ( projectId )
130+ withBusy ( {
131+ context,
132+ effect : applyProject ( projectId ) ,
133+ label : "Applying project" ,
134+ onSuccess : ( project ) => {
135+ context . reloadDashboard ( )
136+ context . setSelectedProject ( project )
137+ context . setMessage ( `Applied ${ project . displayName } .` )
138+ }
139+ } )
140+ }
141+
142+ export const applySelectedProject = ( context : BrowserActionContext ) => {
143+ const projectId = requireSelectedProjectId ( context )
144+ if ( projectId === null ) {
145+ return
146+ }
147+ applyProjectById ( projectId , context )
148+ }
149+
123150export const attachProjectTerminalById = (
124151 projectId : string ,
125152 projectKey : string ,
@@ -223,6 +250,21 @@ const runDownAllProjects = (context: BrowserActionContext) => {
223250 } )
224251}
225252
253+ export const runApplyAllProjects = ( context : BrowserActionContext ) => {
254+ if ( ! confirmAction ( "Apply docker-git config to all projects?" ) ) {
255+ return
256+ }
257+ withBusy ( {
258+ context,
259+ effect : applyAllProjects ( false ) ,
260+ label : "Applying all projects" ,
261+ onSuccess : ( ) => {
262+ context . reloadDashboard ( )
263+ context . setMessage ( "Applied docker-git config to all projects." )
264+ }
265+ } )
266+ }
267+
226268export const runProjectMenuAction = (
227269 currentMenu : Exclude < BrowserMenuTag , "Auth" | "ProjectAuth" > ,
228270 context : BrowserActionContext
0 commit comments