diff --git a/CHANGELOG.md b/CHANGELOG.md index 588d65a..10ccc4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Added - render network status in the Settings tab, under `Additional environment information` section. +- quick action for creating new workspaces from the web dashboard. ## 0.2.1 - 2025-05-05 diff --git a/src/main/kotlin/com/coder/toolbox/CoderRemoteProvider.kt b/src/main/kotlin/com/coder/toolbox/CoderRemoteProvider.kt index b422468..c4b3784 100644 --- a/src/main/kotlin/com/coder/toolbox/CoderRemoteProvider.kt +++ b/src/main/kotlin/com/coder/toolbox/CoderRemoteProvider.kt @@ -1,10 +1,12 @@ package com.coder.toolbox +import com.coder.toolbox.browser.BrowserUtil import com.coder.toolbox.cli.CoderCLIManager import com.coder.toolbox.sdk.CoderRestClient import com.coder.toolbox.sdk.v2.models.WorkspaceStatus import com.coder.toolbox.util.CoderProtocolHandler import com.coder.toolbox.util.DialogUi +import com.coder.toolbox.util.withPath import com.coder.toolbox.views.Action import com.coder.toolbox.views.AuthWizardPage import com.coder.toolbox.views.CoderSettingsPage @@ -14,9 +16,11 @@ import com.coder.toolbox.views.state.WizardStep import com.jetbrains.toolbox.api.core.ui.icons.SvgIcon import com.jetbrains.toolbox.api.core.ui.icons.SvgIcon.IconType import com.jetbrains.toolbox.api.core.util.LoadableState +import com.jetbrains.toolbox.api.localization.LocalizableString import com.jetbrains.toolbox.api.remoteDev.ProviderVisibilityState import com.jetbrains.toolbox.api.remoteDev.RemoteProvider import com.jetbrains.toolbox.api.remoteDev.RemoteProviderEnvironment +import com.jetbrains.toolbox.api.ui.actions.ActionDelimiter import com.jetbrains.toolbox.api.ui.actions.ActionDescription import com.jetbrains.toolbox.api.ui.components.UiPage import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -184,6 +188,14 @@ class CoderRemoteProvider( override val additionalPluginActions: StateFlow> = MutableStateFlow( listOf( + Action(context.i18n.ptrl("Create workspace")) { + context.cs.launch { + BrowserUtil.browse(client?.url?.withPath("/templates").toString()) { + context.ui.showErrorInfoPopup(it) + } + } + }, + CoderDelimiter(context.i18n.pnotr("")), Action(context.i18n.ptrl("Settings")) { context.ui.showUiPage(settingsPage) }, @@ -338,3 +350,5 @@ class CoderRemoteProvider( } } } + +private class CoderDelimiter(override val label: LocalizableString) : ActionDelimiter \ No newline at end of file diff --git a/src/main/resources/localization/defaultMessages.po b/src/main/resources/localization/defaultMessages.po index fddd131..ceba2e9 100644 --- a/src/main/resources/localization/defaultMessages.po +++ b/src/main/resources/localization/defaultMessages.po @@ -134,4 +134,7 @@ msgid "SSH network metrics directory" msgstr "" msgid "Network Status" +msgstr "" + +msgid "Create workspace" msgstr "" \ No newline at end of file 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