Skip to content

Commit 79cb627

Browse files
authored
impl: support for creating workspaces (#111)
This commit adds a context menu action was added that redirects users to the web dashboard. - resolves #47
1 parent d5b1c3b commit 79cb627

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
### Added
66

77
- render network status in the Settings tab, under `Additional environment information` section.
8+
- quick action for creating new workspaces from the web dashboard.
89

910
## 0.2.1 - 2025-05-05
1011

src/main/kotlin/com/coder/toolbox/CoderRemoteProvider.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.coder.toolbox
22

3+
import com.coder.toolbox.browser.BrowserUtil
34
import com.coder.toolbox.cli.CoderCLIManager
45
import com.coder.toolbox.sdk.CoderRestClient
56
import com.coder.toolbox.sdk.v2.models.WorkspaceStatus
67
import com.coder.toolbox.util.CoderProtocolHandler
78
import com.coder.toolbox.util.DialogUi
9+
import com.coder.toolbox.util.withPath
810
import com.coder.toolbox.views.Action
911
import com.coder.toolbox.views.AuthWizardPage
1012
import com.coder.toolbox.views.CoderSettingsPage
@@ -14,9 +16,11 @@ import com.coder.toolbox.views.state.WizardStep
1416
import com.jetbrains.toolbox.api.core.ui.icons.SvgIcon
1517
import com.jetbrains.toolbox.api.core.ui.icons.SvgIcon.IconType
1618
import com.jetbrains.toolbox.api.core.util.LoadableState
19+
import com.jetbrains.toolbox.api.localization.LocalizableString
1720
import com.jetbrains.toolbox.api.remoteDev.ProviderVisibilityState
1821
import com.jetbrains.toolbox.api.remoteDev.RemoteProvider
1922
import com.jetbrains.toolbox.api.remoteDev.RemoteProviderEnvironment
23+
import com.jetbrains.toolbox.api.ui.actions.ActionDelimiter
2024
import com.jetbrains.toolbox.api.ui.actions.ActionDescription
2125
import com.jetbrains.toolbox.api.ui.components.UiPage
2226
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -184,6 +188,14 @@ class CoderRemoteProvider(
184188

185189
override val additionalPluginActions: StateFlow<List<ActionDescription>> = MutableStateFlow(
186190
listOf(
191+
Action(context.i18n.ptrl("Create workspace")) {
192+
context.cs.launch {
193+
BrowserUtil.browse(client?.url?.withPath("/templates").toString()) {
194+
context.ui.showErrorInfoPopup(it)
195+
}
196+
}
197+
},
198+
CoderDelimiter(context.i18n.pnotr("")),
187199
Action(context.i18n.ptrl("Settings")) {
188200
context.ui.showUiPage(settingsPage)
189201
},
@@ -338,3 +350,5 @@ class CoderRemoteProvider(
338350
}
339351
}
340352
}
353+
354+
private class CoderDelimiter(override val label: LocalizableString) : ActionDelimiter

src/main/resources/localization/defaultMessages.po

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,4 +134,7 @@ msgid "SSH network metrics directory"
134134
msgstr ""
135135

136136
msgid "Network Status"
137+
msgstr ""
138+
139+
msgid "Create workspace"
137140
msgstr ""

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy