Skip to content

Commit ec9b2a7

Browse files
authored
Fixes for Color Injection API (#101)
1 parent c777f00 commit ec9b2a7

File tree

4 files changed

+12
-18
lines changed

4 files changed

+12
-18
lines changed

sdks/kotlin/src/main/java/com/ditto/dittochat/Configs.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.ditto.dittochat
22

3+
import androidx.compose.ui.graphics.Color
4+
35
data class ChatConfig(
46
val ditto: live.ditto.Ditto,
57
val retentionPolicy: ChatRetentionPolicy = ChatRetentionPolicy(days = 30),
68
val usersCollection: String = "users",
79
val userId: String? = "ditto-system-user-id",
810
val acceptLargeImages: Boolean = true,
9-
val primaryColor: String? = null,
11+
val primaryColor: Color? = null,
1012
val hasAdminPrivileges: Boolean = false
1113
)
1214

sdks/kotlin/src/main/java/com/ditto/dittochat/ui/ChatScreen.kt

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,15 @@ import androidx.compose.foundation.layout.*
77
import androidx.compose.foundation.lazy.LazyColumn
88
import androidx.compose.foundation.lazy.items
99
import androidx.compose.foundation.lazy.rememberLazyListState
10-
import androidx.compose.foundation.shape.CircleShape
11-
import androidx.compose.foundation.shape.RoundedCornerShape
1210
import androidx.compose.material.icons.Icons
1311
import androidx.compose.material.icons.filled.*
1412
import androidx.compose.material3.*
1513
import androidx.compose.runtime.*
1614
import androidx.compose.ui.Alignment
1715
import androidx.compose.ui.Modifier
18-
import androidx.compose.ui.draw.clip
1916
import androidx.compose.ui.graphics.Color
20-
import androidx.compose.ui.text.style.TextAlign
2117
import androidx.compose.ui.unit.dp
22-
import androidx.core.graphics.toColorInt
23-
import androidx.hilt.navigation.compose.hiltViewModel
24-
import com.ditto.dittochat.DittoChat
25-
import com.ditto.dittochat.DittoData
2618
import kotlinx.coroutines.launch
27-
import parseHexColor
2819

2920
@OptIn(ExperimentalMaterial3Api::class)
3021
@Composable
@@ -79,7 +70,8 @@ fun ChatScreen(
7970
text = inputText,
8071
onTextChange = viewModel::updateInputText,
8172
onSave = viewModel::saveEditedMessage,
82-
onCancel = viewModel::cancelEdit
73+
onCancel = viewModel::cancelEdit,
74+
primaryColor = viewModel.dittoChat.dittoChatConfig.primaryColor ?: Color.Cyan
8375
)
8476
} else {
8577
ChatInputBar(
@@ -88,8 +80,8 @@ fun ChatScreen(
8880
onSendClick = viewModel::sendMessage,
8981
onCameraClick = { imagePicker.launch("image/*") },
9082
primaryColor =
91-
viewModel.dittoChat.dittoChatConfig.primaryColor?.parseHexColor()
92-
?: MaterialTheme.colorScheme.primary
83+
viewModel.dittoChat.dittoChatConfig.primaryColor
84+
?: Color.Cyan
9385
)
9486
}
9587
}

sdks/kotlin/src/main/java/com/ditto/dittochat/ui/EditMessageView.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ fun EditingBottomBar(
2727
text: String,
2828
onTextChange: (String) -> Unit,
2929
onSave: () -> Unit,
30-
onCancel: () -> Unit
30+
onCancel: () -> Unit,
31+
primaryColor: Color
3132
) {
3233
Surface(
3334
modifier = Modifier.fillMaxWidth(),
@@ -71,7 +72,7 @@ fun EditingBottomBar(
7172
modifier = Modifier
7273
.size(40.dp)
7374
.clip(CircleShape)
74-
.background(MaterialTheme.colorScheme.primary)
75+
.background(primaryColor)
7576
) {
7677
Icon(
7778
Icons.Default.Send,

sdks/kotlin/src/main/java/com/ditto/dittochat/ui/MessageBubbleView.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import androidx.compose.ui.unit.dp
1414
import com.ditto.dittochat.DateUtils
1515
import com.ditto.dittochat.Message
1616
import com.ditto.dittochat.MessageWithUser
17-
import parseHexColor
1817

1918
@OptIn(ExperimentalMaterial3Api::class)
2019
@Composable
@@ -25,7 +24,7 @@ fun MessageBubble(
2524
onDeleteClick: (Message) -> Unit,
2625
onImageClick: (Message) -> Unit,
2726
hasAdminPrivileges: Boolean = false,
28-
primaryColor: String? = null
27+
primaryColor: Color? = null
2928
) {
3029
val message = messageWithUser.message
3130
val user = messageWithUser.user
@@ -53,7 +52,7 @@ fun MessageBubble(
5352
shape = MessageBubbleShape(isCurrentUser),
5453
colors = CardDefaults.cardColors(
5554
containerColor = if (isCurrentUser)
56-
primaryColor?.parseHexColor() ?: MaterialTheme.colorScheme.primary
55+
primaryColor ?: Color.Cyan
5756
else
5857
MaterialTheme.colorScheme.surfaceVariant
5958
)

0 commit comments

Comments
 (0)