Skip to content

Commit dd97520

Browse files
committed
Impl: default icons for templates without icons
1 parent 5f22101 commit dd97520

39 files changed

+231
-8
lines changed

src/main/kotlin/com/coder/gateway/icons/CoderIcons.kt

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,44 @@ object CoderIcons {
2424
val RED_CIRCLE = IconLoader.getIcon("red_circle.svg", javaClass)
2525

2626
val DELETE = IconLoader.getIcon("delete.svg", javaClass)
27+
28+
val ZERO = IconLoader.getIcon("0.svg", javaClass)
29+
val ONE = IconLoader.getIcon("1.svg", javaClass)
30+
val TWO = IconLoader.getIcon("2.svg", javaClass)
31+
val THREE = IconLoader.getIcon("3.svg", javaClass)
32+
val FOUR = IconLoader.getIcon("4.svg", javaClass)
33+
val FIVE = IconLoader.getIcon("5.svg", javaClass)
34+
val SIX = IconLoader.getIcon("6.svg", javaClass)
35+
val SEVEN = IconLoader.getIcon("7.svg", javaClass)
36+
val EIGHT = IconLoader.getIcon("8.svg", javaClass)
37+
val NINE = IconLoader.getIcon("9.svg", javaClass)
38+
39+
val A = IconLoader.getIcon("a.svg", javaClass)
40+
val B = IconLoader.getIcon("b.svg", javaClass)
41+
val C = IconLoader.getIcon("c.svg", javaClass)
42+
val D = IconLoader.getIcon("d.svg", javaClass)
43+
val E = IconLoader.getIcon("e.svg", javaClass)
44+
val F = IconLoader.getIcon("f.svg", javaClass)
45+
val G = IconLoader.getIcon("g.svg", javaClass)
46+
val H = IconLoader.getIcon("h.svg", javaClass)
47+
val I = IconLoader.getIcon("i.svg", javaClass)
48+
val J = IconLoader.getIcon("j.svg", javaClass)
49+
val K = IconLoader.getIcon("k.svg", javaClass)
50+
val L = IconLoader.getIcon("l.svg", javaClass)
51+
val M = IconLoader.getIcon("m.svg", javaClass)
52+
val N = IconLoader.getIcon("n.svg", javaClass)
53+
val O = IconLoader.getIcon("o.svg", javaClass)
54+
val P = IconLoader.getIcon("p.svg", javaClass)
55+
val Q = IconLoader.getIcon("q.svg", javaClass)
56+
val R = IconLoader.getIcon("r.svg", javaClass)
57+
val S = IconLoader.getIcon("s.svg", javaClass)
58+
val T = IconLoader.getIcon("t.svg", javaClass)
59+
val U = IconLoader.getIcon("u.svg", javaClass)
60+
val V = IconLoader.getIcon("v.svg", javaClass)
61+
val W = IconLoader.getIcon("w.svg", javaClass)
62+
val X = IconLoader.getIcon("x.svg", javaClass)
63+
val Y = IconLoader.getIcon("y.svg", javaClass)
64+
val Z = IconLoader.getIcon("z.svg", javaClass)
65+
66+
2767
}

src/main/kotlin/com/coder/gateway/sdk/TemplateIconDownloader.kt

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ class TemplateIconDownloader {
1515
private val coderClient: CoderRestClientService = service()
1616

1717
fun load(path: String, templateName: String): Icon {
18-
if (path.isBlank()) {
19-
return CoderIcons.UNKNOWN
20-
}
21-
2218
var url: URL? = null
2319
if (path.startsWith("http")) {
2420
url = path.toURL()
@@ -36,6 +32,49 @@ class TemplateIconDownloader {
3632
}
3733
}
3834

39-
return CoderIcons.UNKNOWN
35+
return iconForChar(templateName.lowercase().first())
4036
}
37+
38+
private fun iconForChar(c: Char) = when (c) {
39+
'0' -> CoderIcons.ZERO
40+
'1' -> CoderIcons.ONE
41+
'2' -> CoderIcons.TWO
42+
'3' -> CoderIcons.THREE
43+
'4' -> CoderIcons.FOUR
44+
'5' -> CoderIcons.FIVE
45+
'6' -> CoderIcons.SIX
46+
'7' -> CoderIcons.SEVEN
47+
'8' -> CoderIcons.EIGHT
48+
'9' -> CoderIcons.NINE
49+
50+
'a' -> CoderIcons.A
51+
'b' -> CoderIcons.B
52+
'c' -> CoderIcons.C
53+
'd' -> CoderIcons.D
54+
'e' -> CoderIcons.E
55+
'f' -> CoderIcons.F
56+
'g' -> CoderIcons.G
57+
'h' -> CoderIcons.H
58+
'i' -> CoderIcons.I
59+
'j' -> CoderIcons.J
60+
'k' -> CoderIcons.K
61+
'l' -> CoderIcons.L
62+
'm' -> CoderIcons.M
63+
'n' -> CoderIcons.N
64+
'o' -> CoderIcons.O
65+
'p' -> CoderIcons.P
66+
'q' -> CoderIcons.Q
67+
'r' -> CoderIcons.R
68+
's' -> CoderIcons.S
69+
't' -> CoderIcons.T
70+
'u' -> CoderIcons.U
71+
'v' -> CoderIcons.V
72+
'w' -> CoderIcons.W
73+
'x' -> CoderIcons.X
74+
'y' -> CoderIcons.Y
75+
'z' -> CoderIcons.Z
76+
77+
else -> CoderIcons.UNKNOWN
78+
}
79+
4180
}

src/main/kotlin/com/coder/gateway/views/steps/CoderWorkspacesStepView.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ class CoderWorkspacesStepView(val enableNextButtonCallback: (Boolean) -> Unit) :
451451
this.name,
452452
this.templateID,
453453
this.templateName,
454-
iconDownloader.load(this@agentModels.templateIcon, this.templateName),
454+
iconDownloader.load(this@agentModels.templateIcon, this.name),
455455
WorkspaceVersionStatus.from(this),
456456
WorkspaceAgentStatus.from(this),
457457
this.latestBuild.transition,
@@ -470,7 +470,7 @@ class CoderWorkspacesStepView(val enableNextButtonCallback: (Boolean) -> Unit) :
470470
workspaceWithAgentName,
471471
this.templateID,
472472
this.templateName,
473-
iconDownloader.load(this@agentModels.templateIcon, this.templateName),
473+
iconDownloader.load(this@agentModels.templateIcon, workspaceWithAgentName),
474474
WorkspaceVersionStatus.from(this),
475475
WorkspaceAgentStatus.from(this),
476476
this.latestBuild.transition,
@@ -489,7 +489,7 @@ class CoderWorkspacesStepView(val enableNextButtonCallback: (Boolean) -> Unit) :
489489
this.name,
490490
this.templateID,
491491
this.templateName,
492-
iconDownloader.load(this@agentModels.templateIcon, this.templateName),
492+
iconDownloader.load(this@agentModels.templateIcon, this.name),
493493
WorkspaceVersionStatus.from(this),
494494
WorkspaceAgentStatus.from(this),
495495
this.latestBuild.transition,

src/main/resources/0.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/1.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/2.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/3.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/4.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/5.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/6.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/7.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/8.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/9.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/a.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/b.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/c.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/d.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/e.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/f.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/g.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/h.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/i.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/j.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/k.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/l.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/m.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/n.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/o.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/p.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/q.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/r.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/s.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/t.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/u.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/v.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/w.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/x.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/y.svg

Lines changed: 4 additions & 0 deletions
Loading

src/main/resources/z.svg

Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)