Skip to content

Commit 9b781d5

Browse files
committed
add documenation link in profile selection webview page
1 parent 3a66543 commit 9b781d5

File tree

4 files changed

+34
-3
lines changed

4 files changed

+34
-3
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/QLoginWebview.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
package software.aws.toolkits.jetbrains.services.amazonq
55

6+
import com.intellij.ide.BrowserUtil
67
import com.intellij.openapi.Disposable
78
import com.intellij.openapi.actionSystem.AnActionEvent
89
import com.intellij.openapi.actionSystem.DataContext
@@ -48,6 +49,7 @@ import software.aws.toolkits.telemetry.Telemetry
4849
import software.aws.toolkits.telemetry.UiTelemetry
4950
import software.aws.toolkits.telemetry.WebviewTelemetry
5051
import java.awt.event.ActionListener
52+
import java.net.URI
5153
import javax.swing.JButton
5254
import javax.swing.JComponent
5355

@@ -223,6 +225,10 @@ class QWebviewBrowser(val project: Project, private val parentDisposable: Dispos
223225
is BrowserMessage.PublishWebviewTelemetry -> {
224226
publishTelemetry(message)
225227
}
228+
229+
is BrowserMessage.OpenUrl -> {
230+
BrowserUtil.browse(URI(message.externalLink))
231+
}
226232
}
227233
}
228234

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/webview/BrowserMessage.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo
2727
JsonSubTypes.Type(value = BrowserMessage.Reauth::class, name = "reauth"),
2828
JsonSubTypes.Type(value = BrowserMessage.SendUiClickTelemetry::class, name = "sendUiClickTelemetry"),
2929
JsonSubTypes.Type(value = BrowserMessage.SwitchProfile::class, name = "switchProfile"),
30-
JsonSubTypes.Type(value = BrowserMessage.PublishWebviewTelemetry::class, name = "webviewTelemetry")
30+
JsonSubTypes.Type(value = BrowserMessage.PublishWebviewTelemetry::class, name = "webviewTelemetry"),
31+
JsonSubTypes.Type(value = BrowserMessage.OpenUrl::class, name = "openUrl")
3132
)
3233
sealed interface BrowserMessage {
3334

@@ -59,6 +60,8 @@ sealed interface BrowserMessage {
5960

6061
object Reauth : BrowserMessage
6162

63+
data class OpenUrl(val externalLink: String) : BrowserMessage
64+
6265
data class SwitchProfile(
6366
val profileName: String,
6467
val accountId: String,

plugins/core/webview/src/q-ui/components/profileSelection.vue

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
<!-- Title & Subtitle -->
77
<div id="profile-page" class="profile-header">
88
<h2 class="title bottom-small-gap">Choose a Q Developer profile</h2>
9-
<p class="profile-subtitle">
9+
<div class="profile-subtitle">
1010
Your administrator has given you access to Q from multiple profiles.
1111
Choose the profile that meets your current working needs. You can change your profile at any time.
12-
</p>
12+
<a @click.prevent="openUrl">More info.</a>
13+
</div>
1314
</div>
1415
<!-- Profile List -->
1516
<div class="profile-list">
@@ -114,6 +115,12 @@ export default defineComponent({
114115
},
115116
handleSignoutClick() {
116117
window.ideApi.postMessage({command: 'signout'})
118+
},
119+
openUrl() {
120+
window.ideApi.postMessage({
121+
command: 'openUrl',
122+
externalLink: 'https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/subscribe-understanding-profile.html'
123+
})
117124
}
118125
}
119126
})
@@ -144,16 +151,19 @@ export default defineComponent({
144151
cursor: pointer;
145152
transition: background 0.2s ease-in-out;
146153
}
154+
147155
.button-row :deep(.login-flow-button) {
148156
margin-bottom: 10px;
149157
}
158+
150159
.button-row {
151160
display: flex;
152161
flex-direction: column;
153162
align-items: center;
154163
gap: 10px;
155164
margin-top: 20px;
156165
}
166+
157167
.selected {
158168
user-select: none;
159169
}
@@ -163,23 +173,28 @@ export default defineComponent({
163173
flex-direction: column;
164174
font-size: 15px;
165175
}
176+
166177
.profile-name {
167178
font-weight: bold;
168179
margin-bottom: 2px;
169180
color: white;
170181
}
182+
171183
.profile-region {
172184
font-style: italic;
173185
color: #bbbbbb;
174186
}
187+
175188
.profile-description {
176189
font-size: 12px;
177190
color: #bbbbbb;
178191
}
192+
179193
body.jb-dark {
180194
.profile-item {
181195
border: 1px solid white;
182196
}
197+
183198
.selected {
184199
border: 1px solid #29a7ff;
185200
}
@@ -189,6 +204,7 @@ body.jb-light {
189204
.profile-item {
190205
border: 1px solid black;
191206
}
207+
192208
.selected {
193209
border: 1px solid #3574f0;
194210
}

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/core/explorer/webview/ToolkitLoginWebview.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
package software.aws.toolkits.jetbrains.core.explorer.webview
55

6+
import com.intellij.ide.BrowserUtil
67
import com.intellij.ide.ui.LafManagerListener
78
import com.intellij.openapi.Disposable
89
import com.intellij.openapi.actionSystem.AnActionEvent
@@ -60,6 +61,7 @@ import software.aws.toolkits.jetbrains.utils.isTookitConnected
6061
import software.aws.toolkits.telemetry.FeatureId
6162
import software.aws.toolkits.telemetry.UiTelemetry
6263
import java.awt.event.ActionListener
64+
import java.net.URI
6365
import javax.swing.JButton
6466
import javax.swing.JComponent
6567

@@ -249,6 +251,10 @@ class ToolkitWebviewBrowser(val project: Project, private val parentDisposable:
249251
is BrowserMessage.PublishWebviewTelemetry -> {
250252
publishTelemetry(message)
251253
}
254+
255+
is BrowserMessage.OpenUrl -> {
256+
BrowserUtil.browse(URI(message.externalLink))
257+
}
252258
}
253259
}
254260

0 commit comments

Comments
 (0)