Skip to content

Commit 1d76214

Browse files
committed
feat(clients): theme based icons for better visibility
1 parent e24f642 commit 1d76214

File tree

18 files changed

+47
-26
lines changed

18 files changed

+47
-26
lines changed

CHANGELOG.md

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

77
- Support streaming mode for Gemini Google.
88
- Support GitHub models client.
9+
- Theme based icons for better visibility.
910

1011
### Fixed
1112

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
11
package com.github.blarc.ai.commits.intellij.plugin
22

33
import com.intellij.openapi.util.IconLoader
4+
import com.intellij.ui.JBColor
5+
import javax.swing.Icon
46

57
object Icons {
6-
val AI_COMMITS = IconLoader.getIcon("/icons/aiCommits15.svg", javaClass)
7-
val OPEN_AI = IconLoader.getIcon("/icons/openai.svg", javaClass)
8-
val OLLAMA = IconLoader.getIcon("/icons/ollama15.svg", javaClass)
9-
val QIANFAN = IconLoader.getIcon("/icons/qianfan.png", javaClass)
10-
val GEMINI_VERTEX = IconLoader.getIcon("/icons/geminiVertex.svg", javaClass)
11-
val GEMINI_GOOGLE = IconLoader.getIcon("/icons/geminiGoogle.svg", javaClass)
12-
val ANTHROPIC = IconLoader.getIcon("/icons/anthropic.svg", javaClass)
13-
val AZURE_OPEN_AI = IconLoader.getIcon("/icons/azureOpenAi.svg", javaClass)
14-
val HUGGING_FACE = IconLoader.getIcon("/icons/huggingface.svg", javaClass)
15-
val GITHUB = IconLoader.getIcon("/icons/github15.svg", javaClass)
8+
9+
data class AICommitsIcon(val bright: String, val dark: String?) {
10+
11+
fun getThemeBasedIcon(): Icon {
12+
return if (JBColor.isBright() || dark == null) {
13+
IconLoader.getIcon(bright, javaClass)
14+
} else {
15+
IconLoader.getIcon(dark, javaClass)
16+
}
17+
}
18+
}
19+
20+
val AI_COMMITS = AICommitsIcon("/icons/aiCommits15.svg", null)
21+
val OPEN_AI = AICommitsIcon("/icons/openai15bright.svg", "/icons/openai15dark.png")
22+
val OLLAMA = AICommitsIcon("/icons/ollama15.svg", null)
23+
val QIANFAN = AICommitsIcon("/icons/qianfan.png", null)
24+
val GEMINI_VERTEX = AICommitsIcon("/icons/geminiVertex.svg", null)
25+
val GEMINI_GOOGLE = AICommitsIcon("/icons/geminiGoogle.svg", null)
26+
val ANTHROPIC = AICommitsIcon("/icons/anthropic15bright.svg", "/icons/anthropic15dark.png")
27+
val AZURE_OPEN_AI = AICommitsIcon("/icons/azureOpenAi.svg", null)
28+
val HUGGING_FACE = AICommitsIcon("/icons/huggingface.svg", null)
29+
val GITHUB = AICommitsIcon("/icons/github15bright.svg", "/icons/github15dark.svg")
1630
}

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/notifications/Notifier.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ fun sendNotification(notification : Notification, project : Project? = null) {
2525
NotificationType.INFORMATION
2626
)
2727

28-
intellijNotification.icon = Icons.AI_COMMITS
28+
intellijNotification.icon = Icons.AI_COMMITS.getThemeBasedIcon()
2929

3030
notification.actions.forEach { action ->
3131
intellijNotification.addAction(DumbAwareAction.create(action.title) {

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/settings/clients/anthropic/AnthropicClientConfiguration.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class AnthropicClientConfiguration : LLMClientConfiguration(
3838
}
3939

4040
override fun getClientIcon(): Icon {
41-
return Icons.ANTHROPIC
41+
return Icons.ANTHROPIC.getThemeBasedIcon()
4242
}
4343

4444
override fun getSharedState(): LLMClientSharedState {

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/settings/clients/azureOpenAi/AzureOpenAiClientConfiguration.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.blarc.ai.commits.intellij.plugin.settings.clients.azureOpenAi;
1+
package com.github.blarc.ai.commits.intellij.plugin.settings.clients.azureOpenAi
22

33
import com.github.blarc.ai.commits.intellij.plugin.Icons
44
import com.github.blarc.ai.commits.intellij.plugin.settings.clients.LLMClientConfiguration
@@ -34,7 +34,7 @@ class AzureOpenAiClientConfiguration : LLMClientConfiguration(
3434
}
3535

3636
override fun getClientIcon(): Icon {
37-
return Icons.AZURE_OPEN_AI
37+
return Icons.AZURE_OPEN_AI.getThemeBasedIcon()
3838
}
3939

4040
override fun getSharedState(): LLMClientSharedState {

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/settings/clients/geminiGoogle/GeminiGoogleClientConfiguration.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class GeminiGoogleClientConfiguration : LLMClientConfiguration(
3232
}
3333

3434
override fun getClientIcon(): Icon {
35-
return Icons.GEMINI_GOOGLE
35+
return Icons.GEMINI_GOOGLE.getThemeBasedIcon()
3636
}
3737

3838
override fun getSharedState(): LLMClientSharedState {

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/settings/clients/geminiVertex/GeminiClientConfiguration.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class GeminiClientConfiguration : LLMClientConfiguration(
3030
}
3131

3232
override fun getClientIcon(): Icon {
33-
return Icons.GEMINI_VERTEX
33+
return Icons.GEMINI_VERTEX.getThemeBasedIcon()
3434
}
3535

3636
override fun getSharedState(): LLMClientSharedState {

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/settings/clients/githubModels/GitHubModelsClientConfiguration.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.blarc.ai.commits.intellij.plugin.settings.clients.githubModels;
1+
package com.github.blarc.ai.commits.intellij.plugin.settings.clients.githubModels
22

33
import com.github.blarc.ai.commits.intellij.plugin.Icons
44
import com.github.blarc.ai.commits.intellij.plugin.settings.clients.LLMClientConfiguration
@@ -32,7 +32,7 @@ class GitHubModelsClientConfiguration : LLMClientConfiguration(
3232
}
3333

3434
override fun getClientIcon(): Icon {
35-
return Icons.GITHUB
35+
return Icons.GITHUB.getThemeBasedIcon()
3636
}
3737

3838
override fun getSharedState(): LLMClientSharedState {

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/settings/clients/huggingface/HuggingFaceClientConfiguration.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.blarc.ai.commits.intellij.plugin.settings.clients.huggingface;
1+
package com.github.blarc.ai.commits.intellij.plugin.settings.clients.huggingface
22

33
import com.github.blarc.ai.commits.intellij.plugin.Icons
44
import com.github.blarc.ai.commits.intellij.plugin.settings.clients.LLMClientConfiguration
@@ -37,7 +37,7 @@ class HuggingFaceClientConfiguration : LLMClientConfiguration(
3737
}
3838

3939
override fun getClientIcon(): Icon {
40-
return Icons.HUGGING_FACE
40+
return Icons.HUGGING_FACE.getThemeBasedIcon()
4141
}
4242

4343
override fun getSharedState(): LLMClientSharedState {

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/settings/clients/ollama/OllamaClientConfiguration.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class OllamaClientConfiguration : LLMClientConfiguration(
3030
}
3131

3232
override fun getClientIcon(): Icon {
33-
return Icons.OLLAMA
33+
return Icons.OLLAMA.getThemeBasedIcon()
3434
}
3535

3636
override fun getSharedState(): LLMClientSharedState {

0 commit comments

Comments
 (0)