diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt index aa43b6ef8d..960530164f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt @@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.components.settings.app.chats.folders import android.os.Bundle import android.view.View +import android.widget.Toast import androidx.activity.OnBackPressedCallback import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -150,6 +151,9 @@ class CreateFoldersFragment : ComposeFragment() { if (shouldExit) { navController.popBackStack() } + }, + onShowToast = { + Toast.makeText(requireContext(), R.string.CreateFoldersFragment__please_enter_name, Toast.LENGTH_LONG).show() } ) } @@ -176,7 +180,8 @@ fun CreateFolderScreen( onDeleteConfirmed: () -> Unit = {}, onDeleteDismissed: () -> Unit = {}, onCreateConfirmed: (Boolean) -> Unit = {}, - onCreateDismissed: (Boolean) -> Unit = {} + onCreateDismissed: (Boolean) -> Unit = {}, + onShowToast: () -> Unit = {} ) { var expandIncluded by remember { mutableStateOf(false) } var expandExcluded by remember { mutableStateOf(false) } @@ -370,10 +375,26 @@ fun CreateFolderScreen( } else if (!isNewFolder) { Buttons.MediumTonal( colors = ButtonDefaults.filledTonalButtonColors( + contentColor = if (state.currentFolder.name.isEmpty()) { + MaterialTheme.colorScheme.onSurface.copy(alpha = 0.38f) + } else { + MaterialTheme.colorScheme.onSurface + }, + containerColor = if (state.currentFolder.name.isEmpty()) { + MaterialTheme.colorScheme.surfaceVariant + } else { + MaterialTheme.colorScheme.primaryContainer + }, disabledContainerColor = MaterialTheme.colorScheme.surfaceVariant ), enabled = hasChanges, - onClick = { onCreateConfirmed(true) }, + onClick = { + if (state.currentFolder.name.isEmpty()) { + onShowToast() + } else { + onCreateConfirmed(true) + } + }, modifier = modifier .align(Alignment.BottomEnd) .padding(end = 16.dp, bottom = 16.dp) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5d623ce35f..134fd02476 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5191,6 +5191,8 @@ Delete this chat folder? See all + + Please enter a folder name