11package com.coder.toolbox
22
3+ import com.coder.toolbox.browser.BrowserUtil
34import com.coder.toolbox.cli.CoderCLIManager
45import com.coder.toolbox.sdk.CoderRestClient
56import com.coder.toolbox.sdk.v2.models.WorkspaceStatus
67import com.coder.toolbox.util.CoderProtocolHandler
78import com.coder.toolbox.util.DialogUi
9+ import com.coder.toolbox.util.withPath
810import com.coder.toolbox.views.Action
911import com.coder.toolbox.views.AuthWizardPage
1012import com.coder.toolbox.views.CoderSettingsPage
@@ -14,9 +16,11 @@ import com.coder.toolbox.views.state.WizardStep
1416import com.jetbrains.toolbox.api.core.ui.icons.SvgIcon
1517import com.jetbrains.toolbox.api.core.ui.icons.SvgIcon.IconType
1618import com.jetbrains.toolbox.api.core.util.LoadableState
19+ import com.jetbrains.toolbox.api.localization.LocalizableString
1720import com.jetbrains.toolbox.api.remoteDev.ProviderVisibilityState
1821import com.jetbrains.toolbox.api.remoteDev.RemoteProvider
1922import com.jetbrains.toolbox.api.remoteDev.RemoteProviderEnvironment
23+ import com.jetbrains.toolbox.api.ui.actions.ActionDelimiter
2024import com.jetbrains.toolbox.api.ui.actions.ActionDescription
2125import com.jetbrains.toolbox.api.ui.components.UiPage
2226import 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
0 commit comments