fix: no insets for the rest of the bottom sheets
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
25e30d59be
commit
5c639360ab
|
|
@ -49,15 +49,14 @@ import androidx.compose.ui.unit.dp
|
|||
import chat.revolt.R
|
||||
import chat.revolt.api.routes.microservices.autumn.FileArgs
|
||||
import chat.revolt.components.generic.RemoteImage
|
||||
import chat.revolt.components.generic.SheetEnd
|
||||
import chat.revolt.internals.extensions.BottomSheetInsets
|
||||
import kotlinx.coroutines.launch
|
||||
import java.io.File
|
||||
|
||||
@Composable
|
||||
fun FilePreviewSheet(
|
||||
args: FileArgs,
|
||||
canRemove: Boolean,
|
||||
onRemove: () -> Unit,
|
||||
onDismiss: () -> Unit
|
||||
args: FileArgs, canRemove: Boolean, onRemove: () -> Unit, onDismiss: () -> Unit
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
|
||||
|
|
@ -77,9 +76,7 @@ fun FilePreviewSheet(
|
|||
)
|
||||
}
|
||||
Text(
|
||||
args.filename,
|
||||
fontWeight = FontWeight.Medium,
|
||||
textAlign = TextAlign.Center
|
||||
args.filename, fontWeight = FontWeight.Medium, textAlign = TextAlign.Center
|
||||
)
|
||||
Text(
|
||||
Formatter.formatFileSize(context, args.file.length()),
|
||||
|
|
@ -108,6 +105,7 @@ fun FilePreviewSheet(
|
|||
}
|
||||
}
|
||||
}
|
||||
SheetEnd()
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
|
|
@ -126,27 +124,24 @@ fun AttachmentManager(
|
|||
|
||||
if (showPreviewSheet) {
|
||||
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
|
||||
ModalBottomSheet(onDismissRequest = {
|
||||
showPreviewSheet = false
|
||||
}, sheetState = sheetState) {
|
||||
ModalBottomSheet(
|
||||
onDismissRequest = {
|
||||
showPreviewSheet = false
|
||||
}, sheetState = sheetState, windowInsets = BottomSheetInsets
|
||||
) {
|
||||
previewingAttachment?.let {
|
||||
FilePreviewSheet(
|
||||
args = it,
|
||||
canRemove = canRemove,
|
||||
onRemove = {
|
||||
onRemove(it)
|
||||
scope.launch {
|
||||
sheetState.hide()
|
||||
showPreviewSheet = false
|
||||
}
|
||||
},
|
||||
onDismiss = {
|
||||
scope.launch {
|
||||
sheetState.hide()
|
||||
showPreviewSheet = false
|
||||
}
|
||||
FilePreviewSheet(args = it, canRemove = canRemove, onRemove = {
|
||||
onRemove(it)
|
||||
scope.launch {
|
||||
sheetState.hide()
|
||||
showPreviewSheet = false
|
||||
}
|
||||
)
|
||||
}, onDismiss = {
|
||||
scope.launch {
|
||||
sheetState.hide()
|
||||
showPreviewSheet = false
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -168,22 +163,20 @@ fun AttachmentManager(
|
|||
.padding(horizontal = 8.dp, vertical = 4.dp)
|
||||
) {
|
||||
attachments.forEach { attachment ->
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.padding(4.dp)
|
||||
.clip(MaterialTheme.shapes.small)
|
||||
.clickable {
|
||||
if (canPreview) {
|
||||
previewingAttachment = attachment
|
||||
showPreviewSheet = true
|
||||
}
|
||||
Row(modifier = Modifier
|
||||
.padding(4.dp)
|
||||
.clip(MaterialTheme.shapes.small)
|
||||
.clickable {
|
||||
if (canPreview) {
|
||||
previewingAttachment = attachment
|
||||
showPreviewSheet = true
|
||||
}
|
||||
.background(
|
||||
color = MaterialTheme.colorScheme.background,
|
||||
shape = MaterialTheme.shapes.small
|
||||
)
|
||||
.padding(8.dp)
|
||||
) {
|
||||
}
|
||||
.background(
|
||||
color = MaterialTheme.colorScheme.background,
|
||||
shape = MaterialTheme.shapes.small
|
||||
)
|
||||
.padding(8.dp)) {
|
||||
Text(attachment.filename, maxLines = 1)
|
||||
}
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
|
@ -192,9 +185,7 @@ fun AttachmentManager(
|
|||
|
||||
AnimatedVisibility(visible = uploading) {
|
||||
LinearProgressIndicator(
|
||||
progress = { animatedProgress },
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
progress = { animatedProgress }, modifier = Modifier.fillMaxWidth()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -203,25 +194,13 @@ fun AttachmentManager(
|
|||
@Preview
|
||||
@Composable
|
||||
fun AttachmentManagerPreview() {
|
||||
AttachmentManager(
|
||||
attachments = listOf(
|
||||
FileArgs(
|
||||
filename = "file1.png",
|
||||
contentType = "image/png",
|
||||
file = File("file1.png")
|
||||
),
|
||||
FileArgs(
|
||||
filename = "file2.png",
|
||||
contentType = "image/png",
|
||||
file = File("file2.png")
|
||||
),
|
||||
FileArgs(
|
||||
filename = "file3.png",
|
||||
contentType = "image/png",
|
||||
file = File("file3.png")
|
||||
)
|
||||
),
|
||||
uploading = false,
|
||||
onRemove = {}
|
||||
)
|
||||
AttachmentManager(attachments = listOf(
|
||||
FileArgs(
|
||||
filename = "file1.png", contentType = "image/png", file = File("file1.png")
|
||||
), FileArgs(
|
||||
filename = "file2.png", contentType = "image/png", file = File("file2.png")
|
||||
), FileArgs(
|
||||
filename = "file3.png", contentType = "image/png", file = File("file3.png")
|
||||
)
|
||||
), uploading = false, onRemove = {})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,9 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||
import androidx.compose.ui.unit.dp
|
||||
import androidx.navigation.NavController
|
||||
import chat.revolt.R
|
||||
import chat.revolt.components.generic.SheetEnd
|
||||
import chat.revolt.components.screens.settings.AttributionItem
|
||||
import chat.revolt.internals.extensions.BottomSheetInsets
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.JsonArray
|
||||
|
|
@ -126,7 +128,8 @@ fun AttributionScreen(navController: NavController) {
|
|||
sheetState = licenceSheetState,
|
||||
onDismissRequest = {
|
||||
licenceSheetOpen = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier
|
||||
|
|
@ -149,6 +152,7 @@ fun AttributionScreen(navController: NavController) {
|
|||
}
|
||||
}
|
||||
}
|
||||
SheetEnd()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -482,7 +482,8 @@ fun ChatRouterScreen(
|
|||
sheetState = statusSheetState,
|
||||
onDismissRequest = {
|
||||
showStatusSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
StatusSheet(
|
||||
onBeforeNavigation = {
|
||||
|
|
@ -505,7 +506,8 @@ fun ChatRouterScreen(
|
|||
sheetState = addServerSheetState,
|
||||
onDismissRequest = {
|
||||
showAddServerSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
AddServerSheet()
|
||||
}
|
||||
|
|
@ -542,7 +544,8 @@ fun ChatRouterScreen(
|
|||
sheetState = userContextSheetState,
|
||||
onDismissRequest = {
|
||||
showUserContextSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
UserInfoSheet(
|
||||
userId = userContextSheetTarget,
|
||||
|
|
@ -619,7 +622,8 @@ fun ChatRouterScreen(
|
|||
sheetState = linkInfoSheetState,
|
||||
onDismissRequest = {
|
||||
showLinkInfoSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
LinkInfoSheet(
|
||||
url = linkInfoSheetUrl,
|
||||
|
|
@ -637,7 +641,8 @@ fun ChatRouterScreen(
|
|||
sheetState = emoteInfoSheetState,
|
||||
onDismissRequest = {
|
||||
showEmoteInfoSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
EmoteInfoSheet(
|
||||
id = emoteInfoSheetTarget,
|
||||
|
|
@ -655,7 +660,8 @@ fun ChatRouterScreen(
|
|||
sheetState = reactionInfoSheetState,
|
||||
onDismissRequest = {
|
||||
showReactionInfoSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
ReactionInfoSheet(
|
||||
messageId = reactionInfoSheetMessageId,
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ import chat.revolt.components.screens.chat.AttachmentManager
|
|||
import chat.revolt.components.screens.chat.ChannelIcon
|
||||
import chat.revolt.components.screens.chat.ReplyManager
|
||||
import chat.revolt.components.screens.chat.TypingIndicator
|
||||
import chat.revolt.internals.extensions.BottomSheetInsets
|
||||
import chat.revolt.internals.extensions.rememberChannelPermissions
|
||||
import chat.revolt.internals.extensions.zero
|
||||
import chat.revolt.sheets.ChannelInfoSheet
|
||||
|
|
@ -335,7 +336,8 @@ fun ChannelScreen(
|
|||
sheetState = channelInfoSheetState,
|
||||
onDismissRequest = {
|
||||
channelInfoSheetShown = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
ChannelInfoSheet(
|
||||
channelId = channelId,
|
||||
|
|
@ -356,7 +358,8 @@ fun ChannelScreen(
|
|||
sheetState = messageContextSheetState,
|
||||
onDismissRequest = {
|
||||
messageContextSheetShown = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
MessageContextSheet(
|
||||
messageId = messageContextSheetTarget,
|
||||
|
|
@ -382,7 +385,8 @@ fun ChannelScreen(
|
|||
sheetState = reactSheetState,
|
||||
onDismissRequest = {
|
||||
reactSheetShown = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
ReactSheet(reactSheetTarget) {
|
||||
if (it == null) return@ReactSheet
|
||||
|
|
|
|||
|
|
@ -74,8 +74,10 @@ import chat.revolt.api.RevoltJson
|
|||
import chat.revolt.api.settings.GlobalState
|
||||
import chat.revolt.api.settings.SyncedSettings
|
||||
import chat.revolt.components.generic.ListHeader
|
||||
import chat.revolt.components.generic.SheetEnd
|
||||
import chat.revolt.components.screens.settings.appearance.ColourChip
|
||||
import chat.revolt.components.screens.settings.appearance.CornerRadiusPicker
|
||||
import chat.revolt.internals.extensions.BottomSheetInsets
|
||||
import chat.revolt.ui.theme.ClearRippleTheme
|
||||
import chat.revolt.ui.theme.OverridableColourScheme
|
||||
import chat.revolt.ui.theme.Theme
|
||||
|
|
@ -252,7 +254,8 @@ fun AppearanceSettingsScreen(
|
|||
sheetState = sheetState,
|
||||
onDismissRequest = {
|
||||
viewModel.overridePickerSheetVisible = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
ColourSelectorSheet(
|
||||
initialValue = Color(viewModel.selectedOverrideInitialValue ?: 0),
|
||||
|
|
@ -635,4 +638,5 @@ fun ColourSelectorSheet(
|
|||
}
|
||||
}
|
||||
}
|
||||
SheetEnd()
|
||||
}
|
||||
|
|
@ -96,9 +96,9 @@ fun AddServerSheet() {
|
|||
).show()
|
||||
}
|
||||
)
|
||||
|
||||
SheetEnd()
|
||||
}
|
||||
|
||||
SheetEnd()
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ import chat.revolt.callbacks.ActionChannel
|
|||
import chat.revolt.components.generic.SheetButton
|
||||
import chat.revolt.components.generic.SheetEnd
|
||||
import chat.revolt.components.screens.chat.ChannelSheetHeader
|
||||
import chat.revolt.internals.extensions.BottomSheetInsets
|
||||
import chat.revolt.internals.extensions.rememberChannelPermissions
|
||||
import chat.revolt.screens.chat.dialogs.InviteDialog
|
||||
import kotlinx.coroutines.delay
|
||||
|
|
@ -62,7 +63,8 @@ fun ChannelInfoSheet(channelId: String, onHideSheet: suspend () -> Unit) {
|
|||
sheetState = memberListSheetState,
|
||||
onDismissRequest = {
|
||||
memberListSheetShown = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
MemberListSheet(
|
||||
channelId = channelId,
|
||||
|
|
|
|||
|
|
@ -44,8 +44,10 @@ import chat.revolt.api.schemas.User
|
|||
import chat.revolt.components.chat.MemberListItem
|
||||
import chat.revolt.components.generic.CountableListHeader
|
||||
import chat.revolt.components.generic.Presence
|
||||
import chat.revolt.components.generic.SheetEnd
|
||||
import chat.revolt.components.generic.SheetHeaderPadding
|
||||
import chat.revolt.components.generic.presenceFromStatus
|
||||
import chat.revolt.internals.extensions.BottomSheetInsets
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
|
|
@ -232,7 +234,8 @@ fun MemberListSheet(
|
|||
sheetState = userContextSheetState,
|
||||
onDismissRequest = {
|
||||
showUserInfoSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
UserInfoSheet(
|
||||
userId = userInfoSheetTarget,
|
||||
|
|
@ -252,7 +255,8 @@ fun MemberListSheet(
|
|||
sheetState = memberContextSheetState,
|
||||
onDismissRequest = {
|
||||
showMemberContextSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
if (serverId != null) {
|
||||
ServerMemberContextSheet(
|
||||
|
|
@ -280,6 +284,7 @@ fun MemberListSheet(
|
|||
}
|
||||
)
|
||||
}
|
||||
SheetEnd()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -291,6 +296,7 @@ fun MemberListSheet(
|
|||
) {
|
||||
CircularProgressIndicator(modifier = Modifier.align(Alignment.Center))
|
||||
}
|
||||
SheetEnd()
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -361,4 +367,5 @@ fun MemberListSheet(
|
|||
}
|
||||
}
|
||||
}
|
||||
SheetEnd()
|
||||
}
|
||||
|
|
@ -51,6 +51,7 @@ import chat.revolt.components.chat.Message
|
|||
import chat.revolt.components.generic.SheetButton
|
||||
import chat.revolt.components.generic.SheetEnd
|
||||
import chat.revolt.internals.Platform
|
||||
import chat.revolt.internals.extensions.BottomSheetInsets
|
||||
import chat.revolt.ui.theme.ClearRippleTheme
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
|
|
@ -88,7 +89,8 @@ fun MessageContextSheet(
|
|||
sheetState = shareSheetState,
|
||||
onDismissRequest = {
|
||||
showShareSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier
|
||||
|
|
@ -250,7 +252,8 @@ fun MessageContextSheet(
|
|||
sheetState = reactSheetState,
|
||||
onDismissRequest = {
|
||||
showReactSheet = false
|
||||
}
|
||||
},
|
||||
windowInsets = BottomSheetInsets
|
||||
) {
|
||||
ReactSheet(messageId) {
|
||||
if (it == null) return@ReactSheet
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package chat.revolt.sheets
|
|||
import androidx.compose.runtime.Composable
|
||||
import chat.revolt.api.RevoltAPI
|
||||
import chat.revolt.components.emoji.EmojiPicker
|
||||
import chat.revolt.components.generic.SheetEnd
|
||||
|
||||
@Composable
|
||||
fun ReactSheet(messageId: String, onSelect: (String?) -> Unit) {
|
||||
|
|
@ -16,4 +17,5 @@ fun ReactSheet(messageId: String, onSelect: (String?) -> Unit) {
|
|||
EmojiPicker {
|
||||
onSelect(it.removeSurrounding(":"))
|
||||
}
|
||||
SheetEnd()
|
||||
}
|
||||
|
|
@ -44,6 +44,7 @@ import chat.revolt.components.chat.RoleListEntry
|
|||
import chat.revolt.components.chat.UserBadgeList
|
||||
import chat.revolt.components.chat.UserBadgeRow
|
||||
import chat.revolt.components.generic.NonIdealState
|
||||
import chat.revolt.components.generic.SheetEnd
|
||||
import chat.revolt.components.generic.UserAvatar
|
||||
import chat.revolt.components.markdown.RichMarkdown
|
||||
import chat.revolt.components.screens.settings.RawUserOverview
|
||||
|
|
@ -332,4 +333,5 @@ fun UserInfoSheet(
|
|||
UserButtons(user, dismissSheet)
|
||||
}
|
||||
}
|
||||
SheetEnd()
|
||||
}
|
||||
Loading…
Reference in New Issue