CustomSnackBar.kt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.fastest.pass.views
  2. import androidx.compose.foundation.layout.Box
  3. import androidx.compose.foundation.layout.Row
  4. import androidx.compose.foundation.layout.padding
  5. import androidx.compose.foundation.layout.size
  6. import androidx.compose.foundation.layout.statusBarsPadding
  7. import androidx.compose.material.Snackbar
  8. import androidx.compose.material3.Icon
  9. import androidx.compose.material3.SnackbarHost
  10. import androidx.compose.material3.SnackbarHostState
  11. import androidx.compose.material3.Text
  12. import androidx.compose.runtime.Composable
  13. import androidx.compose.ui.Alignment
  14. import androidx.compose.ui.Modifier
  15. import androidx.compose.ui.graphics.Color
  16. import androidx.compose.ui.res.colorResource
  17. import androidx.compose.ui.res.painterResource
  18. import androidx.compose.ui.text.TextStyle
  19. import androidx.compose.ui.text.font.FontWeight
  20. import androidx.compose.ui.unit.Dp
  21. import androidx.compose.ui.unit.dp
  22. import androidx.compose.ui.unit.sp
  23. import com.fastest.pass.R
  24. import com.fastest.pass.ui.theme.outfitFontFamily
  25. @Composable
  26. fun ShowCustomSnackBar(snackBarState: SnackbarHostState, color: Int, textColor: Int, topPadding: Dp = 0.dp) {
  27. SnackbarHost(
  28. hostState = snackBarState,
  29. modifier = Modifier.padding(10.dp)
  30. .statusBarsPadding(),
  31. ) { data ->
  32. Snackbar(
  33. elevation = 0.dp,
  34. backgroundColor = colorResource(id = color),
  35. ) {
  36. Box(
  37. modifier = Modifier
  38. ) {
  39. Row(
  40. verticalAlignment = Alignment.CenterVertically,
  41. modifier = Modifier
  42. ) {
  43. Icon(painter = painterResource(id = R.drawable.splashlogo),
  44. contentDescription = "Error",
  45. tint = Color.Unspecified,
  46. modifier = Modifier.size(25.dp)
  47. )
  48. Text(text = data.visuals.message,
  49. style = TextStyle(
  50. fontFamily = outfitFontFamily,
  51. fontWeight = FontWeight.Medium,
  52. fontSize = 16.sp,
  53. color = colorResource(id = textColor)
  54. ),
  55. modifier = Modifier.padding(start = 10.dp)
  56. )
  57. }
  58. }
  59. }
  60. }
  61. }