diff --git a/app/src/main/java/tumble/app/tumble/core/NetworkSettings.kt b/app/src/main/java/tumble/app/tumble/core/NetworkSettings.kt index 27336c1..9229727 100644 --- a/app/src/main/java/tumble/app/tumble/core/NetworkSettings.kt +++ b/app/src/main/java/tumble/app/tumble/core/NetworkSettings.kt @@ -15,7 +15,7 @@ class NetworkSettings private constructor(val port: Int, val scheme: String, val ) val development = NetworkSettings( - port = 7036, scheme = "http", tumbleUrl = "10.0.2.2" + port = 7036, scheme = "https", tumbleUrl = "10.0.2.2" ) } } diff --git a/app/src/main/java/tumble/app/tumble/presentation/navigation/navgraphs/BookmarksNavGraph.kt b/app/src/main/java/tumble/app/tumble/presentation/navigation/navgraphs/BookmarksNavGraph.kt index 5b9e6ba..73666d2 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/navigation/navgraphs/BookmarksNavGraph.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/navigation/navgraphs/BookmarksNavGraph.kt @@ -54,6 +54,6 @@ private fun NavGraphBuilder.bookmarksDetails(navController: NavHostController, s } ) { backStackEntry -> val id = backStackEntry.arguments?.getString("id") - EventDetailsSheet(event = AppController.shared.eventSheet!!.event) + EventDetailsSheet(event = AppController.shared.eventSheet!!.event, setTopNavState) } } \ No newline at end of file diff --git a/app/src/main/java/tumble/app/tumble/presentation/viewmodels/ResourceViewModel.kt b/app/src/main/java/tumble/app/tumble/presentation/viewmodels/ResourceViewModel.kt index 069d041..6b4e6b5 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/viewmodels/ResourceViewModel.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/viewmodels/ResourceViewModel.kt @@ -54,26 +54,11 @@ class ResourceViewModel @Inject constructor( private val _allResources = MutableStateFlow?>(null) val allResources: StateFlow?> = _allResources -// private val _allResourcesTypes = MutableStateFlow?>(null) -// val allResourcesTypes: StateFlow?> = _allResourcesTypes - - //val allResources: List? = null - -// private val _resourceSelectionModel = MutableStateFlow(null) -// var resourceSelectionModel by mutableStateOf(null) - -// private val _resourceSelectioned = MutableStateFlow(null) -// var resourceSelectioned = mutableStateOf(null) - fun setBookingDate(newDate: Date){ _selectedPickerDate.value = newDate - viewModelScope.launch { getAllResources(isoDateFormatterDate.format(newDate)) } + viewModelScope.launch { getAllResources(newDate) } } -// fun setResourceSelection(resource: NetworkResponse.KronoxResourceElement){ -// resourceSelectioned.value = resource -// } - fun getUserEventsForPage(){ viewModelScope.launch { _eventBookingPageState.value = PageState.LOADING @@ -143,10 +128,11 @@ class ResourceViewModel @Inject constructor( } } - fun getAllResources(date: String = isoDateFormatterDate.format(Date())){ + fun getAllResources(date: Date = Date()){ + val dateString = isoDateFormatterDate.format(date) viewModelScope.launch { try { - val endpoint = Endpoint.AllResources(dataStoreManager.authSchoolId.value.toString(), date) + val endpoint = Endpoint.AllResources(dataStoreManager.authSchoolId.value.toString(), dateString) val refreshToken = authManager.getRefreshToken() ?: return@launch val response: ApiResponse> = kronoxManager.getAllResources(endpoint, refreshToken, null) diff --git a/app/src/main/java/tumble/app/tumble/presentation/views/AppParent.kt b/app/src/main/java/tumble/app/tumble/presentation/views/AppParent.kt index 84590a3..c36b4cc 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/views/AppParent.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/views/AppParent.kt @@ -11,6 +11,7 @@ import androidx.compose.material.Scaffold import androidx.compose.material.Surface import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue diff --git a/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Resources/ResourceSelection.kt b/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Resources/ResourceSelection.kt index 0e0c16c..4f8b214 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Resources/ResourceSelection.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Resources/ResourceSelection.kt @@ -13,6 +13,7 @@ import androidx.compose.material.Divider import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -26,16 +27,23 @@ import tumble.app.tumble.R import tumble.app.tumble.extensions.models.getAvailabilityValues import tumble.app.tumble.extensions.models.getFirstTimeSlotWithAvailability import tumble.app.tumble.observables.AppController +import tumble.app.tumble.presentation.components.buttons.BackButton import tumble.app.tumble.presentation.viewmodels.ResourceViewModel import tumble.app.tumble.presentation.views.general.Info +import tumble.app.tumble.presentation.views.navigation.AppBarState import tumble.app.tumble.utils.isoVerboseDateFormatter @RequiresApi(Build.VERSION_CODES.O) @Composable fun ResourceSelection( parentViewModel: ResourceViewModel = hiltViewModel(), - navController: NavController + navController: NavController, + setTopNavState: (AppBarState) -> Unit + ) { + val pageTitle = stringResource(R.string.rooms) + val backTitle = stringResource(R.string.resources) + val resource = AppController.shared.resourceModel!!.resource val selectedTimeIndex = remember { mutableIntStateOf(resource.availabilities.getFirstTimeSlotWithAvailability(resource.timeSlots!!.size)) } val availabilityValues = remember { @@ -43,6 +51,18 @@ fun ResourceSelection( } val selectedPickerDate = AppController.shared.resourceModel!!.date val timeslots = resource.timeSlots + LaunchedEffect(key1 = true) { + setTopNavState( + AppBarState( + title = pageTitle, + navigationAction = { + BackButton(backTitle) { + navController.popBackStack() + } + } + ) + ) + } Column( modifier = Modifier .fillMaxSize() diff --git a/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Sheets/EventDetails.kt b/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Sheets/EventDetails.kt index e7a45ae..6006c19 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Sheets/EventDetails.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Sheets/EventDetails.kt @@ -1,11 +1,8 @@ package tumble.app.tumble.presentation.views.account.User.ResourceSection.Booking.Sheets import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.height import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.MaterialTheme @@ -16,75 +13,80 @@ import androidx.compose.material.icons.filled.Info import androidx.compose.material.icons.filled.Timelapse import androidx.compose.material.icons.filled.Title import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import tumble.app.tumble.R import tumble.app.tumble.domain.models.network.NetworkResponse import tumble.app.tumble.extensions.presentation.convertToHoursAndMinutesISOString import tumble.app.tumble.extensions.presentation.formatDate -import tumble.app.tumble.presentation.components.sheets.SheetHeader +import tumble.app.tumble.presentation.components.buttons.CloseCoverButton import tumble.app.tumble.presentation.views.bookmarks.EventDetails.DetailsBuilder +import tumble.app.tumble.presentation.views.navigation.AppBarState @Composable fun EventDetailsSheet( event: NetworkResponse.AvailableKronoxUserEvent, - onClose: () -> Unit - //sheetContent: @Composable () -> Unit + onClose: () -> Unit, + setTopNavState: (AppBarState) -> Unit ) { + val title = stringResource(R.string.event_details) + LaunchedEffect(key1 = true) { + setTopNavState( + AppBarState( + title = title, + actions = { + CloseCoverButton { + onClose() + } + } + ) + ) + } + Column( modifier = Modifier .fillMaxSize() + .verticalScroll(rememberScrollState()) .background(MaterialTheme.colors.background) ) { - SheetHeader(title = stringResource(R.string.event_details), onClose = onClose) - Box { - Column( - modifier = Modifier - .verticalScroll(rememberScrollState()) - .background(MaterialTheme.colors.background) - ) { + DetailsBuilder(title = stringResource(R.string.title), image = Icons.Default.Title) { - DetailsBuilder(title = stringResource(R.string.title), image = Icons.Default.Title) { + Text( + text = event.title, + fontSize = 16.sp, + color = MaterialTheme.colors.onSurface + ) - Text( - text = event.title, - fontSize = 16.sp, - color = MaterialTheme.colors.onSurface - ) - - } - DetailsBuilder(title = stringResource(R.string.type), image = Icons.Default.Info) { - Text( - text = event.type, - fontSize = 16.sp, - color = MaterialTheme.colors.onSurface - ) - } + } + DetailsBuilder(title = stringResource(R.string.type), image = Icons.Default.Info) { + Text( + text = event.type, + fontSize = 16.sp, + color = MaterialTheme.colors.onSurface + ) + } - DetailsBuilder(title = stringResource(R.string.date), image = Icons.Default.CalendarMonth) { - val eventDate = event.eventStart.formatDate() - val eventStart = event.eventStart.convertToHoursAndMinutesISOString() - val eventEnd = event.eventEnd.convertToHoursAndMinutesISOString() - Text( - text = "$eventDate, from $eventStart to $eventEnd" - , - fontSize = 16.sp, - color = MaterialTheme.colors.onSurface - ) - } + DetailsBuilder(title = stringResource(R.string.date), image = Icons.Default.CalendarMonth) { + val eventDate = event.eventStart.formatDate() + val eventStart = event.eventStart.convertToHoursAndMinutesISOString() + val eventEnd = event.eventEnd.convertToHoursAndMinutesISOString() + Text( + text = "$eventDate, from $eventStart to $eventEnd" + , + fontSize = 16.sp, + color = MaterialTheme.colors.onSurface + ) + } - DetailsBuilder(title = stringResource(R.string.available_until), image = Icons.Default.Timelapse) { - Text( - text = event.lastSignupDate.formatDate().orEmpty() - , - fontSize = 16.sp, - color = MaterialTheme.colors.onSurface - ) - } - Spacer(modifier = Modifier.height(60.dp)) - } + DetailsBuilder(title = stringResource(R.string.available_until), image = Icons.Default.Timelapse) { + Text( + text = event.lastSignupDate.formatDate().orEmpty() + , + fontSize = 16.sp, + color = MaterialTheme.colors.onSurface + ) } } } \ No newline at end of file diff --git a/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Sheets/ResourceDetails.kt b/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Sheets/ResourceDetails.kt index aeb84db..5ab20eb 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Sheets/ResourceDetails.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Booking/Sheets/ResourceDetails.kt @@ -1,12 +1,10 @@ package tumble.app.tumble.presentation.views.account.User.ResourceSection.Booking.Sheets import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape @@ -21,6 +19,7 @@ import androidx.compose.material.icons.filled.CheckCircleOutline import androidx.compose.material.icons.filled.LocationOn import androidx.compose.material.icons.filled.Timelapse import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight @@ -30,75 +29,81 @@ import tumble.app.tumble.R import tumble.app.tumble.domain.models.network.NetworkResponse import tumble.app.tumble.extensions.presentation.convertToHoursAndMinutesISOString import tumble.app.tumble.extensions.presentation.formatDate -import tumble.app.tumble.presentation.components.sheets.SheetHeader +import tumble.app.tumble.presentation.components.buttons.CloseCoverButton import tumble.app.tumble.presentation.views.bookmarks.EventDetails.DetailsBuilder +import tumble.app.tumble.presentation.views.navigation.AppBarState @Composable fun ResourceDetailsSheet( booking: NetworkResponse.KronoxUserBookingElement, onClose: () -> Unit, - onBookingRemove: () -> Unit + onBookingRemove: () -> Unit, + setTopNavState: (AppBarState) -> Unit + ) { + val title = stringResource(R.string.resource_details) + + LaunchedEffect(key1 = true) { + setTopNavState( + AppBarState( + title = title, + actions = { + CloseCoverButton { + onClose() + } + } + ) + ) + } Column( modifier = Modifier .fillMaxSize() + .verticalScroll(rememberScrollState()) .background(MaterialTheme.colors.background) ) { + DetailsBuilder(title = stringResource(R.string.location), image = Icons.Default.LocationOn) { + if (booking.locationId.isNotEmpty()) { + Text( + text = booking.locationId, + fontSize = 16.sp, + color = MaterialTheme.colors.onSurface + ) + } else { + Text( + text = stringResource(R.string.no_location), + fontSize = 16.sp, + color = MaterialTheme.colors.onSurface + ) + } + } + DetailsBuilder(title = stringResource(R.string.timeslot), image = Icons.Default.Timelapse) { + Text( + text = "${ + booking.timeSlot.from?.convertToHoursAndMinutesISOString().orEmpty() + } - ${booking.timeSlot.to?.convertToHoursAndMinutesISOString().orEmpty()}", + fontSize = 16.sp, + color = MaterialTheme.colors.onSurface + ) + } - SheetHeader(title = stringResource(R.string.resource_details), onClose = onClose) - Box { - Column( - modifier = Modifier - .verticalScroll(rememberScrollState()) - .background(MaterialTheme.colors.background) - ) { - - DetailsBuilder(title = stringResource(R.string.location), image = Icons.Default.LocationOn) { - if (booking.locationId.isNotEmpty()) { - Text( - text = booking.locationId, - fontSize = 16.sp, - color = MaterialTheme.colors.onSurface - ) - } else { - Text( - text = stringResource(R.string.no_location), - fontSize = 16.sp, - color = MaterialTheme.colors.onSurface - ) - } - } - DetailsBuilder(title = stringResource(R.string.timeslot), image = Icons.Default.Timelapse) { - Text( - text = "${ - booking.timeSlot.from?.convertToHoursAndMinutesISOString().orEmpty() - } - ${booking.timeSlot.to?.convertToHoursAndMinutesISOString().orEmpty()}", - fontSize = 16.sp, - color = MaterialTheme.colors.onSurface - ) - } - - DetailsBuilder(title = stringResource(R.string.date), image = Icons.Default.CalendarMonth) { - Text( - text = booking.timeSlot.from?.formatDate().orEmpty(), - fontSize = 16.sp, - color = MaterialTheme.colors.onSurface - ) - } - - DetailsBuilder(title = stringResource(R.string.confirmation), image = Icons.Default.CheckCircleOutline) { - val bookingDate = booking.timeSlot.from?.formatDate() - val bookingConfirmationStart = - booking.confirmationOpen.convertToHoursAndMinutesISOString() - val bookingConfirmationEnd = - booking.confirmationClosed.convertToHoursAndMinutesISOString() - Text( - text = "$bookingDate, from $bookingConfirmationStart to $bookingConfirmationEnd" - ) - } + DetailsBuilder(title = stringResource(R.string.date), image = Icons.Default.CalendarMonth) { + Text( + text = booking.timeSlot.from?.formatDate().orEmpty(), + fontSize = 16.sp, + color = MaterialTheme.colors.onSurface + ) + } - } + DetailsBuilder(title = stringResource(R.string.confirmation), image = Icons.Default.CheckCircleOutline) { + val bookingDate = booking.timeSlot.from?.formatDate() + val bookingConfirmationStart = + booking.confirmationOpen.convertToHoursAndMinutesISOString() + val bookingConfirmationEnd = + booking.confirmationClosed.convertToHoursAndMinutesISOString() + Text( + text = "$bookingDate, from $bookingConfirmationStart to $bookingConfirmationEnd" + ) } Spacer(modifier = Modifier.weight(1f)) if (booking.showUnbookButton) { @@ -109,7 +114,6 @@ fun ResourceDetailsSheet( modifier = Modifier.fillMaxWidth().padding(horizontal = 15.dp), elevation = null ) { - Text( text = stringResource(R.string.remove_booking), fontSize = 20.sp, @@ -118,6 +122,5 @@ fun ResourceDetailsSheet( ) } } - Spacer(modifier = Modifier.height(60.dp)) - } } +} diff --git a/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Resources.kt b/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Resources.kt index f5cbb21..32f71c0 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Resources.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/views/account/User/ResourceSection/Resources.kt @@ -5,7 +5,6 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.height import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.AlertDialog @@ -26,7 +25,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavHostController import kotlinx.coroutines.launch @@ -131,7 +129,6 @@ fun Resources( registeredEvents = userEvents.value?.registeredEvents?: emptyList() ) } - Spacer(modifier = Modifier.height(60.dp)) } LaunchedEffect(key1 = scrollState.value) { scrollOffset = scrollState.value.toFloat() diff --git a/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/Bookmarks.kt b/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/Bookmarks.kt index bd69b02..190fb70 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/Bookmarks.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/Bookmarks.kt @@ -1,7 +1,5 @@ package tumble.app.tumble.presentation.views.bookmarks -import android.os.Build -import androidx.annotation.RequiresApi import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -46,7 +44,7 @@ fun Bookmarks( val bookmarksStatus = viewModel.status val viewType = viewModel.defaultViewType.collectAsState() - LaunchedEffect(key1 = true) { + LaunchedEffect(key1 = AppController.shared.eventSheet) { setTopNavState( AppBarState( title = pageTitle @@ -72,6 +70,6 @@ fun Bookmarks( Spacer(Modifier.weight(1f)) } AppController.shared.eventSheet?.let { - EventDetailsSheet(event = it.event) + EventDetailsSheet(event = it.event, setTopNavState) } } \ No newline at end of file diff --git a/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/EventDetails/EventDetailsSheet.kt b/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/EventDetails/EventDetailsSheet.kt index ed3f038..bf17d00 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/EventDetails/EventDetailsSheet.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/EventDetails/EventDetailsSheet.kt @@ -11,49 +11,58 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import tumble.app.tumble.R import tumble.app.tumble.domain.models.realm.Event import tumble.app.tumble.extensions.presentation.toColor import tumble.app.tumble.observables.AppController import tumble.app.tumble.presentation.components.buttons.CloseCoverButton +import tumble.app.tumble.presentation.components.sheets.SheetHeader +import tumble.app.tumble.presentation.views.navigation.AppBarState @Composable fun EventDetailsSheet( event: Event, + setTopNavState: (AppBarState) -> Unit + ) { + + val title = stringResource(R.string.event_details) + LaunchedEffect(key1 = true) { + setTopNavState( + AppBarState( + title = title, + actions = { + CloseCoverButton { + onClose() + } + } + ) + ) + } + Column( modifier = Modifier .fillMaxSize() .background(MaterialTheme.colors.background) ) { - - SheetHeader(title = "Details", onClose = {onClose()}) - - //Spacer(modifier = Modifier.height(20.dp)) - Box { - Column( - modifier = Modifier - .verticalScroll(rememberScrollState()) - .background(MaterialTheme.colors.background) - ) { - EventDetailsCard( - openColorPicker = { openColorPicker() }, - event = event, - color = event.course?.color?.toColor() ?: Color.Gray - ) - EventDetailsBody(event) - Spacer(modifier = Modifier.height(60.dp)) - } - Row { - Spacer(modifier = Modifier.weight(1f)) - CloseCoverButton { - onClose() - } - } - //ColorPicker() + Column( + modifier = Modifier + .verticalScroll(rememberScrollState()) + .background(MaterialTheme.colors.background) + ) { + EventDetailsCard( + openColorPicker = { openColorPicker() }, + event = event, + color = event.course?.color?.toColor() ?: Color.Gray + ) + EventDetailsBody(event) } + //ColorPicker() } } diff --git a/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/List/ToTopButton.kt b/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/List/ToTopButton.kt index a9be83e..b21136f 100644 --- a/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/List/ToTopButton.kt +++ b/app/src/main/java/tumble/app/tumble/presentation/views/bookmarks/List/ToTopButton.kt @@ -17,7 +17,7 @@ fun ToTopButton( onClick: () -> Unit){ FloatingActionButton( onClick = onClick, containerColor = MaterialTheme.colors.primary, - modifier = Modifier.padding(bottom = 40.dp), + //modifier = Modifier.padding(bottom = 40.dp), shape = CircleShape ){ Icon(