summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt4
2 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
index fc043e26b..90dcddf9b 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
@@ -93,4 +93,16 @@ object StringUtils {
fun encodeBase64(input: String) = Base64.getEncoder().encodeToString(input.toByteArray())
fun decodeBase64(input: String) = Base64.getDecoder().decode(input).decodeToString()
+
+ fun addFormat(text: String, format: String): String {
+ if (text.length < 2) return text
+
+ val rawText = text.substring(2)
+ return if (rawText == text.removeColor()) {
+ val originalColor = text.substring(0, 2)
+ "$originalColor$format$rawText"
+ } else {
+ "$format$text"
+ }
+ }
} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
index 9917799f7..5047c4744 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
@@ -48,6 +48,10 @@ interface Renderable {
return clickable(hoverable(underlined(renderable), renderable, condition), onClick, 0, condition)
}
+ fun clickAndHover(text: String, tips: List<String>, onClick: () -> Unit): Renderable {
+ return clickable(hoverTips(text, tips), onClick)
+ }
+
fun clickable(render: Renderable, onClick: () -> Unit, button: Int = 0, condition: () -> Boolean = { true }) =
object : Renderable {
override val width: Int