From b6b4bcf5ce5e00ccc3811917af4128b9bb10370f Mon Sep 17 00:00:00 2001 From: Gibran Chevalley Date: Mon, 7 Oct 2024 13:41:44 +0200 Subject: [PATCH 1/4] Add an ImageTileList component --- .../swisstransfer/ui/components/FileTile.kt | 1 - .../ui/components/ImageTileList.kt | 95 +++++++++++++++++++ .../ui/screen/main/sent/SentListScreen.kt | 62 ++++++------ 3 files changed, 129 insertions(+), 29 deletions(-) create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTile.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTile.kt index 45a8c053f..53f4500a9 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTile.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTile.kt @@ -210,7 +210,6 @@ private fun FileTilePreview() { { var isChecked by remember { mutableStateOf(true) } - val iconFile = object : FileUiItem { override val fileName: String = "How to not get fired.pdf" override val uid: String = fileName diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt new file mode 100644 index 000000000..1a50a173d --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt @@ -0,0 +1,95 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.components + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.items +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.theme.Margin +import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme +import com.infomaniak.swisstransfer.ui.utils.PreviewLargeWindow +import com.infomaniak.swisstransfer.ui.utils.PreviewSmallWindow + +@Composable +fun ImageTileList( + modifier: Modifier = Modifier, + files: List, + isRemoveButtonVisible: Boolean, + isCheckboxVisible: Boolean, + isUidChecked: (String) -> Boolean, + setUidCheckStatus: (String, Boolean) -> Unit, + onRemoveUid: (String) -> Unit, +) { + LazyVerticalGrid( + modifier = modifier, + columns = GridCells.Adaptive(150.dp), + verticalArrangement = Arrangement.spacedBy(Margin.Medium), + horizontalArrangement = Arrangement.spacedBy(Margin.Medium), + ) { + items(files, key = { it.uid }) { file -> + FileTile( + file = file, + isRemoveButtonVisible = isRemoveButtonVisible, + isCheckboxVisible = isCheckboxVisible, + isChecked = { isUidChecked(file.uid) }, + onClick = { if (isCheckboxVisible) setUidCheckStatus(file.uid, !isUidChecked(file.uid)) }, + onRemove = { onRemoveUid(file.uid) }, + ) + } + } +} + +@PreviewSmallWindow +@PreviewLargeWindow +@Composable +private fun ImageTileListPreview() { + val files = listOf(object : FileUiItem { + override val fileName: String = "The 5-Step Guide to Not Breaking Your Code.txt" + override val uid: String = fileName + override val fileSizeInBytes: Long = 57689032 + override val mimeType: String? = null + override val uri: String = "" + }, object : FileUiItem { + override val fileName: String = "Introduction to Turning It Off and On Again.pptx" + override val uid: String = fileName + override val fileSizeInBytes: Long = 89723143 + override val mimeType: String? = null + override val uri: String = "" + }, object : FileUiItem { + override val fileName: String = "Learning to Copy and Paste: A Complete Guide.docx" + override val uid: String = fileName + override val fileSizeInBytes: Long = 237866728 + override val mimeType: String? = null + override val uri: String = "" + }) + + SwissTransferTheme { + ImageTileList( + files = files, + isRemoveButtonVisible = false, + isCheckboxVisible = true, + isUidChecked = { false }, + setUidCheckStatus = { _, _ -> }, + onRemoveUid = {}, + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt index e6f153566..dae1c438d 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt @@ -17,16 +17,14 @@ */ package com.infomaniak.swisstransfer.ui.screen.main.sent -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.lazy.grid.GridCells -import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.material3.Surface import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateMapOf +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.dp import com.infomaniak.swisstransfer.ui.components.FileUiItem -import com.infomaniak.swisstransfer.ui.components.FileTile +import com.infomaniak.swisstransfer.ui.components.ImageTileList import com.infomaniak.swisstransfer.ui.theme.Margin import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme import com.infomaniak.swisstransfer.ui.utils.PreviewLargeWindow @@ -34,30 +32,38 @@ import com.infomaniak.swisstransfer.ui.utils.PreviewSmallWindow @Composable fun SentListScreen(transfers: List) { - LazyVerticalGrid( - modifier = Modifier.padding(Margin.Medium), - columns = GridCells.Adaptive(150.dp), - verticalArrangement = Arrangement.spacedBy(Margin.Medium), - horizontalArrangement = Arrangement.spacedBy(Margin.Medium), - ) { - val imageFile = object : FileUiItem { - override val fileName: String = "Time-Clock-Circle--Streamline-Ultimate.svg (1).png" - override val uid: String = fileName - override val fileSizeInBytes: Long = 456782 - override val mimeType: String? = null - override val uri: String = "https://picsum.photos/200/300" - } + val transfers = listOf(object : FileUiItem { + override val fileName: String = "The 5-Step Guide to Not Breaking Your Code.txt" + override val uid: String = fileName + override val fileSizeInBytes: Long = 57689032 + override val mimeType: String? = null + override val uri: String = "" + }, object : FileUiItem { + override val fileName: String = "Introduction to Turning It Off and On Again.pptx" + override val uid: String = fileName + override val fileSizeInBytes: Long = 89723143 + override val mimeType: String? = null + override val uri: String = "" + }, object : FileUiItem { + override val fileName: String = "Learning to Copy and Paste: A Complete Guide.docx" + override val uid: String = fileName + override val fileSizeInBytes: Long = 237866728 + override val mimeType: String? = null + override val uri: String = "" + }) - items(3) { - FileTile( - file = imageFile, - isRemoveButtonVisible = true, - isCheckboxVisible = true, - isChecked = { true }, - onClick = {}, - onRemove = {}) - } - } + // TODO: Use viewmodel + val selectedTransfers = remember { mutableStateMapOf() } + + ImageTileList( + modifier = Modifier.padding(Margin.Medium), + files = transfers, + isRemoveButtonVisible = true, + isCheckboxVisible = true, + isUidChecked = { selectedTransfers[it] == true }, + setUidCheckStatus = { uid, isChecked -> selectedTransfers[uid] = isChecked }, + onRemoveUid = {}, + ) } @PreviewSmallWindow From 11afbc4609591005c9758fdd437347dcb782494e Mon Sep 17 00:00:00 2001 From: Gibran Chevalley Date: Tue, 8 Oct 2024 16:49:05 +0200 Subject: [PATCH 2/4] Selectable ImageTileList example --- .../ui/components/ImageTileList.kt | 2 +- .../ui/screen/main/received/ReceivedScreen.kt | 59 ++++++++++++++++--- .../ui/screen/main/sent/SentListScreen.kt | 12 +--- .../ui/screen/main/sent/SentScreen.kt | 1 - .../ui/screen/main/sent/SentViewModel.kt | 3 + 5 files changed, 58 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt index 1a50a173d..91b31ee3e 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt @@ -30,7 +30,7 @@ import com.infomaniak.swisstransfer.ui.utils.PreviewLargeWindow import com.infomaniak.swisstransfer.ui.utils.PreviewSmallWindow @Composable -fun ImageTileList( +fun ImageTileList( // TODO: Rename modifier: Modifier = Modifier, files: List, isRemoveButtonVisible: Boolean, diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt index 5a6be0f45..b478ad24a 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt @@ -28,11 +28,14 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.infomaniak.swisstransfer.R import com.infomaniak.swisstransfer.ui.components.EmptyState +import com.infomaniak.swisstransfer.ui.components.FileUiItem +import com.infomaniak.swisstransfer.ui.components.ImageTileList import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus import com.infomaniak.swisstransfer.ui.images.illus.MascotSearching import com.infomaniak.swisstransfer.ui.screen.main.components.BrandTopAppBarScaffold import com.infomaniak.swisstransfer.ui.screen.main.received.components.ReceivedEmptyFab import com.infomaniak.swisstransfer.ui.screen.main.sent.SentViewModel +import com.infomaniak.swisstransfer.ui.theme.Margin import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme import com.infomaniak.swisstransfer.ui.utils.PreviewLargeWindow import com.infomaniak.swisstransfer.ui.utils.PreviewSmallWindow @@ -43,21 +46,61 @@ fun ReceivedScreen( sentViewModel: SentViewModel = hiltViewModel(), ) { val transfers by sentViewModel.transfers.collectAsStateWithLifecycle() + val isTransferChecked = sentViewModel.selectedTransferIds val areTransfersEmpty by remember { derivedStateOf { transfers?.isEmpty() == true } } - ReceivedScreen { areTransfersEmpty } + ReceivedScreen( + isFileChecked = { uid -> isTransferChecked[uid] == true }, + setFileCheckStatus = { uid, isChecked -> isTransferChecked[uid] = isChecked }, + areTransfersEmpty = { areTransfersEmpty } + ) } @Composable -private fun ReceivedScreen(areTransfersEmpty: () -> Boolean) { +private fun ReceivedScreen( + isFileChecked: (String) -> Boolean, + setFileCheckStatus: (String, Boolean) -> Unit, + areTransfersEmpty: () -> Boolean +) { BrandTopAppBarScaffold( floatingActionButton = { ReceivedEmptyFab(areTransfersEmpty) }, ) { - EmptyState( - icon = AppIllus.MascotSearching, - title = R.string.noTransferReceivedTitle, - description = R.string.noTransferReceivedDescription, - ) + if (areTransfersEmpty()) { + EmptyState( + icon = AppIllus.MascotSearching, + title = R.string.noTransferReceivedTitle, + description = R.string.noTransferReceivedDescription, + ) + } else { + val files = listOf(object : FileUiItem { + override val fileName: String = "The 5-Step Guide to Not Breaking Your Code.txt" + override val uid: String = fileName + override val fileSizeInBytes: Long = 57689032 + override val mimeType: String? = null + override val uri: String = "" + }, object : FileUiItem { + override val fileName: String = "Introduction to Turning It Off and On Again.pptx" + override val uid: String = fileName + override val fileSizeInBytes: Long = 89723143 + override val mimeType: String? = null + override val uri: String = "" + }, object : FileUiItem { + override val fileName: String = "Learning to Copy and Paste: A Complete Guide.docx" + override val uid: String = fileName + override val fileSizeInBytes: Long = 237866728 + override val mimeType: String? = null + override val uri: String = "" + }) + ImageTileList( + modifier = Modifier.padding(Margin.Medium), + files = files, + isRemoveButtonVisible = false, + isCheckboxVisible = true, + isUidChecked = isFileChecked, + setUidCheckStatus = setFileCheckStatus, + onRemoveUid = {}, + ) + } } } @@ -67,7 +110,7 @@ private fun ReceivedScreen(areTransfersEmpty: () -> Boolean) { private fun ReceivedScreenPreview() { SwissTransferTheme { Surface { - ReceivedScreen(areTransfersEmpty = { true }) + ReceivedScreen(areTransfersEmpty = { true }, isFileChecked = { false }, setFileCheckStatus = { _, _ -> }) } } } diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt index dae1c438d..92ebbc117 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt @@ -20,8 +20,6 @@ package com.infomaniak.swisstransfer.ui.screen.main.sent import androidx.compose.foundation.layout.padding import androidx.compose.material3.Surface import androidx.compose.runtime.Composable -import androidx.compose.runtime.mutableStateMapOf -import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import com.infomaniak.swisstransfer.ui.components.FileUiItem import com.infomaniak.swisstransfer.ui.components.ImageTileList @@ -51,17 +49,13 @@ fun SentListScreen(transfers: List) { override val mimeType: String? = null override val uri: String = "" }) - - // TODO: Use viewmodel - val selectedTransfers = remember { mutableStateMapOf() } - ImageTileList( modifier = Modifier.padding(Margin.Medium), files = transfers, isRemoveButtonVisible = true, - isCheckboxVisible = true, - isUidChecked = { selectedTransfers[it] == true }, - setUidCheckStatus = { uid, isChecked -> selectedTransfers[uid] = isChecked }, + isCheckboxVisible = false, + isUidChecked = { false }, + setUidCheckStatus = { _, _ -> }, onRemoveUid = {}, ) } diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentScreen.kt index 716aa01ba..84a9f7b88 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentScreen.kt @@ -59,7 +59,6 @@ private fun SentScreen(transfers: List?) { SentListScreen(transfers) } } - } @PreviewSmallWindow diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentViewModel.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentViewModel.kt index 10f39925e..d0e270aac 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentViewModel.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentViewModel.kt @@ -17,6 +17,8 @@ */ package com.infomaniak.swisstransfer.ui.screen.main.sent +import androidx.compose.runtime.mutableStateMapOf +import androidx.compose.runtime.snapshots.SnapshotStateMap import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel @@ -28,4 +30,5 @@ import javax.inject.Inject @HiltViewModel class SentViewModel @Inject constructor() : ViewModel() { val transfers = flow> { emit(listOf(1)) }.stateIn(viewModelScope, SharingStarted.Eagerly, null) + val selectedTransferIds: SnapshotStateMap = mutableStateMapOf() } From 0826abf38f41fe8f8cc9b547efbb00985c6aa392 Mon Sep 17 00:00:00 2001 From: Gibran Chevalley Date: Wed, 9 Oct 2024 14:46:13 +0200 Subject: [PATCH 3/4] Rename ImageTileList into FileTileList --- .../ui/components/{ImageTileList.kt => FileTileList.kt} | 6 +++--- .../swisstransfer/ui/screen/main/received/ReceivedScreen.kt | 4 ++-- .../swisstransfer/ui/screen/main/sent/SentListScreen.kt | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) rename app/src/main/java/com/infomaniak/swisstransfer/ui/components/{ImageTileList.kt => FileTileList.kt} (97%) diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTileList.kt similarity index 97% rename from app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt rename to app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTileList.kt index 91b31ee3e..50f30b3bb 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/ImageTileList.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTileList.kt @@ -30,7 +30,7 @@ import com.infomaniak.swisstransfer.ui.utils.PreviewLargeWindow import com.infomaniak.swisstransfer.ui.utils.PreviewSmallWindow @Composable -fun ImageTileList( // TODO: Rename +fun FileTileList( modifier: Modifier = Modifier, files: List, isRemoveButtonVisible: Boolean, @@ -61,7 +61,7 @@ fun ImageTileList( // TODO: Rename @PreviewSmallWindow @PreviewLargeWindow @Composable -private fun ImageTileListPreview() { +private fun FileTileListPreview() { val files = listOf(object : FileUiItem { override val fileName: String = "The 5-Step Guide to Not Breaking Your Code.txt" override val uid: String = fileName @@ -83,7 +83,7 @@ private fun ImageTileListPreview() { }) SwissTransferTheme { - ImageTileList( + FileTileList( files = files, isRemoveButtonVisible = false, isCheckboxVisible = true, diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt index b478ad24a..4f052446b 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt @@ -29,7 +29,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.infomaniak.swisstransfer.R import com.infomaniak.swisstransfer.ui.components.EmptyState import com.infomaniak.swisstransfer.ui.components.FileUiItem -import com.infomaniak.swisstransfer.ui.components.ImageTileList +import com.infomaniak.swisstransfer.ui.components.FileTileList import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus import com.infomaniak.swisstransfer.ui.images.illus.MascotSearching import com.infomaniak.swisstransfer.ui.screen.main.components.BrandTopAppBarScaffold @@ -91,7 +91,7 @@ private fun ReceivedScreen( override val mimeType: String? = null override val uri: String = "" }) - ImageTileList( + FileTileList( modifier = Modifier.padding(Margin.Medium), files = files, isRemoveButtonVisible = false, diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt index 92ebbc117..b84c7630e 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt @@ -22,7 +22,7 @@ import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.infomaniak.swisstransfer.ui.components.FileUiItem -import com.infomaniak.swisstransfer.ui.components.ImageTileList +import com.infomaniak.swisstransfer.ui.components.FileTileList import com.infomaniak.swisstransfer.ui.theme.Margin import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme import com.infomaniak.swisstransfer.ui.utils.PreviewLargeWindow @@ -49,7 +49,7 @@ fun SentListScreen(transfers: List) { override val mimeType: String? = null override val uri: String = "" }) - ImageTileList( + FileTileList( modifier = Modifier.padding(Margin.Medium), files = transfers, isRemoveButtonVisible = true, From 49bce1b3df7c00c191a442e4c2d92a767ef99906 Mon Sep 17 00:00:00 2001 From: Gibran Chevalley Date: Wed, 16 Oct 2024 09:56:02 +0200 Subject: [PATCH 4/4] Rename FileTileList into FileItemList --- .../com/infomaniak/swisstransfer/ui/components/FileItem.kt | 2 +- .../ui/components/{FileTileList.kt => FileItemList.kt} | 6 +++--- .../swisstransfer/ui/screen/main/received/ReceivedScreen.kt | 4 ++-- .../swisstransfer/ui/screen/main/sent/SentListScreen.kt | 5 ++--- .../java/com/infomaniak/swisstransfer/ui/theme/ColorDark.kt | 2 +- .../com/infomaniak/swisstransfer/ui/theme/ColorLight.kt | 2 +- .../java/com/infomaniak/swisstransfer/ui/theme/Theme.kt | 2 +- 7 files changed, 11 insertions(+), 12 deletions(-) rename app/src/main/java/com/infomaniak/swisstransfer/ui/components/{FileTileList.kt => FileItemList.kt} (97%) diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileItem.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileItem.kt index d8345287a..f36ce4b38 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileItem.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileItem.kt @@ -133,7 +133,7 @@ private fun FileItemContent( .align(Alignment.TopEnd), contentPadding = PaddingValues(0.dp), shape = CircleShape, - colors = ButtonDefaults.buttonColors(containerColor = SwissTransferTheme.colors.fileTileRemoveButtonBackground), + colors = ButtonDefaults.buttonColors(containerColor = SwissTransferTheme.colors.fileItemRemoveButtonBackground), onClick = onRemove ?: {}, ) { Icon( diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTileList.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileItemList.kt similarity index 97% rename from app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTileList.kt rename to app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileItemList.kt index 3833e7ccb..8a7dbbbfd 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileTileList.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/components/FileItemList.kt @@ -30,7 +30,7 @@ import com.infomaniak.swisstransfer.ui.utils.PreviewLargeWindow import com.infomaniak.swisstransfer.ui.utils.PreviewSmallWindow @Composable -fun FileTileList( +fun FileItemList( modifier: Modifier = Modifier, files: List, isRemoveButtonVisible: Boolean, @@ -61,7 +61,7 @@ fun FileTileList( @PreviewSmallWindow @PreviewLargeWindow @Composable -private fun FileTileListPreview() { +private fun FileItemListPreview() { val files = listOf(object : FileUiItem { override val fileName: String = "The 5-Step Guide to Not Breaking Your Code.txt" override val uid: String = fileName @@ -83,7 +83,7 @@ private fun FileTileListPreview() { }) SwissTransferTheme { - FileTileList( + FileItemList( files = files, isRemoveButtonVisible = false, isCheckboxVisible = true, diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt index 4f052446b..be1b27453 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt @@ -29,7 +29,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.infomaniak.swisstransfer.R import com.infomaniak.swisstransfer.ui.components.EmptyState import com.infomaniak.swisstransfer.ui.components.FileUiItem -import com.infomaniak.swisstransfer.ui.components.FileTileList +import com.infomaniak.swisstransfer.ui.components.FileItemList import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus import com.infomaniak.swisstransfer.ui.images.illus.MascotSearching import com.infomaniak.swisstransfer.ui.screen.main.components.BrandTopAppBarScaffold @@ -91,7 +91,7 @@ private fun ReceivedScreen( override val mimeType: String? = null override val uri: String = "" }) - FileTileList( + FileItemList( modifier = Modifier.padding(Margin.Medium), files = files, isRemoveButtonVisible = false, diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt index 51df8eb26..d5f44b572 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentListScreen.kt @@ -22,8 +22,7 @@ import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.infomaniak.swisstransfer.ui.components.FileUiItem -import com.infomaniak.swisstransfer.ui.components.FileTileList -import com.infomaniak.swisstransfer.ui.components.FileItem +import com.infomaniak.swisstransfer.ui.components.FileItemList import com.infomaniak.swisstransfer.ui.theme.Margin import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme import com.infomaniak.swisstransfer.ui.utils.PreviewLargeWindow @@ -50,7 +49,7 @@ fun SentListScreen(transfers: List) { override val mimeType: String? = null override val uri: String = "" }) - FileTileList( + FileItemList( modifier = Modifier.padding(Margin.Medium), files = transfers, isRemoveButtonVisible = true, diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/ColorDark.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/ColorDark.kt index 67a87f4c9..915997981 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/ColorDark.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/ColorDark.kt @@ -75,7 +75,7 @@ val CustomDarkColorScheme = CustomColorScheme( navigationItemBackground = Color(dark2), tertiaryButtonBackground = Color(dark2), selectedSettingItem = Color(dark2), - fileTileRemoveButtonBackground = Color(black_translucent), + fileItemRemoveButtonBackground = Color(black_translucent), transferTypeLinkContainer = Color(specific1), transferTypeLinkOnContainer = Color(green_main), transferTypeEmailContainer = Color(green_dark), diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/ColorLight.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/ColorLight.kt index 1a888a5a3..0834bb1cd 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/ColorLight.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/ColorLight.kt @@ -76,7 +76,7 @@ val CustomLightColorScheme = CustomColorScheme( navigationItemBackground = LightColorScheme.background, tertiaryButtonBackground = Color(rabbit), selectedSettingItem = Color(rabbit), - fileTileRemoveButtonBackground = Color(black_translucent), + fileItemRemoveButtonBackground = Color(black_translucent), transferTypeLinkContainer = Color(specific1), transferTypeLinkOnContainer = Color(green_main), transferTypeEmailContainer = Color(specific2), diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/Theme.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/Theme.kt index 27fce6db1..6e252c599 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/Theme.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/theme/Theme.kt @@ -75,7 +75,7 @@ data class CustomColorScheme( val navigationItemBackground: Color = Color.Unspecified, val tertiaryButtonBackground: Color = Color.Unspecified, val selectedSettingItem: Color = Color.Unspecified, - val fileTileRemoveButtonBackground: Color = Color.Unspecified, + val fileItemRemoveButtonBackground: Color = Color.Unspecified, val transferTypeLinkContainer: Color = Color.Unspecified, val transferTypeLinkOnContainer: Color = Color.Unspecified, val transferTypeEmailContainer: Color = Color.Unspecified,