Iterate design on several screens: update icons, replace PreferenceTexts (#1771)
- Batch import new icons from the design team. - Rename _september icons since they're just extra icons that need to be integrated in Compound in the future, and it should be ok if we don't distinguish between ic_september_*, ic_november_* etc., so all icons are now simply ic_* in the designsystem module. - Create a new CompoundIconListPreviewProvider to add chunked lists of icons for previews. Add an exception for it to Konsist. - Move some icons to use Compound icons. - Remove most PreferenceText usages, use ListItem instead. --------- Co-authored-by: ElementBot <benoitm+elementbot@element.io>
This commit is contained in:
parent
99783a6eed
commit
a5bad53c62
194 changed files with 945 additions and 519 deletions
1
changelog.d/1718.misc
Normal file
1
changelog.d/1718.misc
Normal file
|
|
@ -0,0 +1 @@
|
|||
Update icons and move away from `PreferenceText` components.
|
||||
|
|
@ -140,7 +140,7 @@ private fun CreateRoomActionButtonsList(
|
|||
) {
|
||||
Column(modifier = modifier) {
|
||||
CreateRoomActionButton(
|
||||
iconRes = CommonDrawables.ic_groups,
|
||||
iconRes = CommonDrawables.ic_compound_plus,
|
||||
text = stringResource(id = R.string.screen_create_room_action_create_room),
|
||||
onClick = onNewRoomClicked,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ package io.element.android.features.location.impl.send
|
|||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.ExperimentalLayoutApi
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
import androidx.compose.foundation.layout.asPaddingValues
|
||||
|
|
@ -27,9 +26,6 @@ import androidx.compose.foundation.layout.fillMaxSize
|
|||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.navigationBars
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.LocationSearching
|
||||
import androidx.compose.material.icons.filled.MyLocation
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.ListItem
|
||||
import androidx.compose.material3.SheetValue
|
||||
|
|
@ -68,7 +64,7 @@ import io.element.android.libraries.maplibre.compose.rememberCameraPositionState
|
|||
import io.element.android.libraries.theme.ElementTheme
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class)
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun SendLocationView(
|
||||
state: SendLocationState,
|
||||
|
|
@ -215,8 +211,8 @@ fun SendLocationView(
|
|||
.padding(end = 16.dp, bottom = 72.dp + navBarPadding),
|
||||
) {
|
||||
when (state.mode) {
|
||||
SendLocationState.Mode.PinLocation -> Icon(imageVector = Icons.Default.LocationSearching, contentDescription = null)
|
||||
SendLocationState.Mode.SenderLocation -> Icon(imageVector = Icons.Default.MyLocation, contentDescription = null)
|
||||
SendLocationState.Mode.PinLocation -> Icon(resourceId = CommonDrawables.ic_location_navigator, contentDescription = null)
|
||||
SendLocationState.Mode.SenderLocation -> Icon(resourceId = CommonDrawables.ic_location_navigator_centered, contentDescription = null)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ import androidx.compose.foundation.layout.Row
|
|||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.imePadding
|
||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
|
|
@ -33,9 +35,6 @@ import androidx.compose.foundation.lazy.LazyColumn
|
|||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.ExperimentalMaterialApi
|
||||
import androidx.compose.material.ListItem
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.material.ripple.rememberRipple
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
|
|
@ -70,12 +69,17 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt
|
|||
import io.element.android.features.messages.impl.utils.messagesummary.MessageSummaryFormatterImpl
|
||||
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.text.toSp
|
||||
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.theme.components.hide
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnail
|
||||
|
|
@ -140,15 +144,13 @@ fun ActionListView(
|
|||
onEmojiReactionClicked = ::onEmojiReactionClicked,
|
||||
onCustomReactionClicked = ::onCustomReactionClicked,
|
||||
modifier = Modifier
|
||||
.padding(bottom = 32.dp)
|
||||
// .navigationBarsPadding() - FIXME after https://issuetracker.google.com/issues/275849044
|
||||
// .imePadding()
|
||||
.navigationBarsPadding()
|
||||
.imePadding()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterialApi::class)
|
||||
@Composable
|
||||
private fun SheetContent(
|
||||
state: ActionListState,
|
||||
|
|
@ -198,18 +200,13 @@ private fun SheetContent(
|
|||
modifier = Modifier.clickable {
|
||||
onActionClicked(action)
|
||||
},
|
||||
text = {
|
||||
Text(
|
||||
text = stringResource(id = action.titleRes),
|
||||
color = if (action.destructive) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.primary,
|
||||
)
|
||||
headlineContent = {
|
||||
Text(text = stringResource(id = action.titleRes))
|
||||
},
|
||||
icon = {
|
||||
Icon(
|
||||
resourceId = action.icon,
|
||||
contentDescription = "",
|
||||
tint = if (action.destructive) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.primary,
|
||||
)
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(action.icon)),
|
||||
style = when {
|
||||
action.destructive -> ListItemStyle.Destructive
|
||||
else -> ListItemStyle.Primary
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
@ -373,7 +370,7 @@ private fun EmojiReactionsRow(
|
|||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_september_add_reaction,
|
||||
resourceId = CommonDrawables.ic_add_reaction,
|
||||
contentDescription = "Emojis",
|
||||
tint = MaterialTheme.colorScheme.secondary,
|
||||
modifier = Modifier
|
||||
|
|
@ -410,8 +407,7 @@ private fun EmojiButton(
|
|||
) {
|
||||
Text(
|
||||
emoji,
|
||||
fontSize = 24.dp.toSp(),
|
||||
color = Color.White,
|
||||
style = ElementTheme.typography.fontBodyLgRegular.copy(fontSize = 24.dp.toSp(), color = Color.White),
|
||||
modifier = Modifier
|
||||
.clickable(
|
||||
enabled = true,
|
||||
|
|
|
|||
|
|
@ -28,13 +28,13 @@ sealed class TimelineItemAction(
|
|||
@DrawableRes val icon: Int,
|
||||
val destructive: Boolean = false
|
||||
) {
|
||||
data object Forward : TimelineItemAction(CommonStrings.action_forward, CommonDrawables.ic_september_forward)
|
||||
data object Copy : TimelineItemAction(CommonStrings.action_copy, CommonDrawables.ic_september_copy)
|
||||
data object Forward : TimelineItemAction(CommonStrings.action_forward, CommonDrawables.ic_forward)
|
||||
data object Copy : TimelineItemAction(CommonStrings.action_copy, CommonDrawables.ic_copy)
|
||||
data object Redact : TimelineItemAction(CommonStrings.action_remove, CommonDrawables.ic_compound_delete, destructive = true)
|
||||
data object Reply : TimelineItemAction(CommonStrings.action_reply, CommonDrawables.ic_september_reply)
|
||||
data object ReplyInThread : TimelineItemAction(CommonStrings.action_reply_in_thread, CommonDrawables.ic_september_reply)
|
||||
data object Edit : TimelineItemAction(CommonStrings.action_edit, CommonDrawables.ic_september_edit_outline)
|
||||
data object ViewSource : TimelineItemAction(CommonStrings.action_view_source, CommonDrawables.ic_september_view_source)
|
||||
data object Reply : TimelineItemAction(CommonStrings.action_reply, CommonDrawables.ic_reply)
|
||||
data object ReplyInThread : TimelineItemAction(CommonStrings.action_reply_in_thread, CommonDrawables.ic_reply)
|
||||
data object Edit : TimelineItemAction(CommonStrings.action_edit, CommonDrawables.ic_edit_outline)
|
||||
data object ViewSource : TimelineItemAction(CommonStrings.action_view_source, CommonDrawables.ic_developer_options)
|
||||
data object ReportContent : TimelineItemAction(CommonStrings.action_report_content, CommonDrawables.ic_compound_chat_problem, destructive = true)
|
||||
data object EndPoll : TimelineItemAction(CommonStrings.action_end_poll, CommonDrawables.ic_poll_end)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ private fun MediaFileView(
|
|||
) {
|
||||
Icon(
|
||||
imageVector = if (isAudio) Icons.Outlined.GraphicEq else null,
|
||||
resourceId = if (isAudio) null else CommonDrawables.ic_september_attachment,
|
||||
resourceId = if (isAudio) null else CommonDrawables.ic_attachment,
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.background,
|
||||
modifier = Modifier
|
||||
|
|
|
|||
|
|
@ -19,9 +19,8 @@ package io.element.android.features.messages.impl.messagecomposer
|
|||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.ExperimentalMaterialApi
|
||||
import androidx.compose.material.ListItem
|
||||
import androidx.compose.foundation.layout.imePadding
|
||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.rememberModalBottomSheetState
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -33,12 +32,14 @@ import androidx.compose.runtime.setValue
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.messages.impl.R
|
||||
import io.element.android.libraries.androidutils.ui.hideKeyboard
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
|
@ -93,7 +94,6 @@ internal fun AttachmentsBottomSheet(
|
|||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterialApi::class)
|
||||
@Composable
|
||||
private fun AttachmentSourcePickerMenu(
|
||||
state: MessageComposerState,
|
||||
|
|
@ -103,28 +103,33 @@ private fun AttachmentSourcePickerMenu(
|
|||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
Column(
|
||||
modifier.padding(bottom = 32.dp)
|
||||
// .navigationBarsPadding() - FIXME after https://issuetracker.google.com/issues/275849044
|
||||
modifier = modifier
|
||||
.navigationBarsPadding()
|
||||
.imePadding()
|
||||
) {
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.PickAttachmentSource.FromGallery) },
|
||||
icon = { Icon(CommonDrawables.ic_september_photo_video_library, null) },
|
||||
text = { Text(stringResource(R.string.screen_room_attachment_source_gallery)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_image)),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_gallery)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.PickAttachmentSource.FromFiles) },
|
||||
icon = { Icon(CommonDrawables.ic_september_attachment, null) },
|
||||
text = { Text(stringResource(R.string.screen_room_attachment_source_files)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_attachment)),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_files)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.PickAttachmentSource.PhotoFromCamera) },
|
||||
icon = { Icon(CommonDrawables.ic_september_take_photo_camera, null) },
|
||||
text = { Text(stringResource(R.string.screen_room_attachment_source_camera_photo)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_take_photo_camera, )),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_camera_photo)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.PickAttachmentSource.VideoFromCamera) },
|
||||
icon = { Icon(CommonDrawables.ic_september_video_call, null) },
|
||||
text = { Text(stringResource(R.string.screen_room_attachment_source_camera_video)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_video_call)),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_camera_video)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
if (state.canShareLocation) {
|
||||
ListItem(
|
||||
|
|
@ -132,8 +137,9 @@ private fun AttachmentSourcePickerMenu(
|
|||
state.eventSink(MessageComposerEvents.PickAttachmentSource.Location)
|
||||
onSendLocationClicked()
|
||||
},
|
||||
icon = { Icon(CommonDrawables.ic_september_location, null) },
|
||||
text = { Text(stringResource(R.string.screen_room_attachment_source_location)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_location_pin) ),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_location)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
}
|
||||
if (state.canCreatePoll) {
|
||||
|
|
@ -142,15 +148,17 @@ private fun AttachmentSourcePickerMenu(
|
|||
state.eventSink(MessageComposerEvents.PickAttachmentSource.Poll)
|
||||
onCreatePollClicked()
|
||||
},
|
||||
icon = { Icon(CommonDrawables.ic_compound_polls, null) },
|
||||
text = { Text(stringResource(R.string.screen_room_attachment_source_poll)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_compound_polls)),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_poll)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
}
|
||||
if (enableTextFormatting) {
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.ToggleTextFormatting(enabled = true)) },
|
||||
icon = { Icon(CommonDrawables.ic_september_text_formatting, null) },
|
||||
text = { Text(stringResource(R.string.screen_room_attachment_text_formatting)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_text_formatting, null)),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_text_formatting)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ internal fun MessagesReactionButtonPreview(@PreviewParameter(AggregatedReactionP
|
|||
@Composable
|
||||
internal fun MessagesAddReactionButtonPreview() = ElementPreview {
|
||||
MessagesReactionButton(
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_september_add_reaction),
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_add_reaction),
|
||||
onClick = {},
|
||||
onLongClick = {}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ fun RowScope.ReplySwipeIndicator(
|
|||
alpha = swipeProgress()
|
||||
},
|
||||
contentDescription = null,
|
||||
resourceId = CommonDrawables.ic_september_reply,
|
||||
resourceId = CommonDrawables.ic_reply,
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ internal fun TimelineItemReactionsLayoutPreview() = ElementPreview {
|
|||
},
|
||||
addMoreButton = {
|
||||
MessagesReactionButton(
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_september_add_reaction),
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_add_reaction),
|
||||
onClick = {},
|
||||
onLongClick = {}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ private fun TimelineItemReactionsView(
|
|||
},
|
||||
addMoreButton = {
|
||||
MessagesReactionButton(
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_september_add_reaction),
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_add_reaction),
|
||||
onClick = onMoreReactionsClick,
|
||||
onLongClick = {}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ fun TimelineItemEncryptedView(
|
|||
TimelineItemInformativeView(
|
||||
text = stringResource(id = CommonStrings.common_waiting_for_decryption_key),
|
||||
iconDescription = stringResource(id = CommonStrings.dialog_title_warning),
|
||||
iconResourceId = CommonDrawables.ic_september_decryption_error,
|
||||
iconResourceId = CommonDrawables.ic_waiting_to_decrypt,
|
||||
extraPadding = extraPadding,
|
||||
modifier = modifier
|
||||
)
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ fun TimelineItemFileView(
|
|||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_september_attachment,
|
||||
resourceId = CommonDrawables.ic_attachment,
|
||||
contentDescription = "OpenFile",
|
||||
tint = ElementTheme.materialColors.primary,
|
||||
modifier = Modifier
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ import androidx.compose.foundation.clickable
|
|||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Lock
|
||||
import androidx.compose.material.icons.outlined.InsertChart
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
|
|
@ -135,7 +134,7 @@ fun PreferencesRootView(
|
|||
if (state.showLockScreenSettings) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.common_screen_lock)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(Icons.Default.Lock)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_lock_outline)),
|
||||
onClick = onOpenLockScreenSettings,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ import androidx.compose.foundation.verticalScroll
|
|||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.MoreVert
|
||||
import androidx.compose.material.icons.outlined.Add
|
||||
import androidx.compose.material.icons.outlined.Person
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -57,6 +56,7 @@ import io.element.android.libraries.designsystem.components.avatar.AvatarData
|
|||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||
import io.element.android.libraries.designsystem.components.button.MainActionButton
|
||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceText
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||
|
|
@ -66,6 +66,9 @@ import io.element.android.libraries.designsystem.theme.components.DropdownMenu
|
|||
import io.element.android.libraries.designsystem.theme.components.DropdownMenuItem
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.theme.components.IconButton
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||
|
|
@ -324,10 +327,10 @@ private fun NotificationSection(
|
|||
stringResource(R.string.screen_room_details_notification_mode_custom)
|
||||
}
|
||||
PreferenceCategory(modifier = modifier) {
|
||||
PreferenceText(
|
||||
title = stringResource(R.string.screen_room_details_notification_title),
|
||||
subtitle = subtitle,
|
||||
iconResourceId = CommonDrawables.ic_compound_notifications,
|
||||
ListItem(
|
||||
headlineContent = { Text(text = stringResource(R.string.screen_room_details_notification_title)) },
|
||||
supportingContent = { Text(text = subtitle) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_compound_notifications)),
|
||||
onClick = openRoomNotificationSettings,
|
||||
)
|
||||
}
|
||||
|
|
@ -340,10 +343,10 @@ private fun MembersSection(
|
|||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
PreferenceCategory(modifier = modifier) {
|
||||
PreferenceText(
|
||||
title = stringResource(CommonStrings.common_people),
|
||||
icon = Icons.Outlined.Person,
|
||||
currentValue = memberCount.toString(),
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(CommonStrings.common_people)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_user)),
|
||||
trailingContent = ListItemContent.Text(memberCount.toString()),
|
||||
onClick = openRoomMemberList,
|
||||
)
|
||||
}
|
||||
|
|
@ -355,9 +358,9 @@ private fun InviteSection(
|
|||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
PreferenceCategory(modifier = modifier) {
|
||||
PreferenceText(
|
||||
title = stringResource(R.string.screen_room_details_invite_people_title),
|
||||
iconResourceId = CommonDrawables.ic_compound_user_add,
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_details_invite_people_title)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_user_add)),
|
||||
onClick = invitePeople,
|
||||
)
|
||||
}
|
||||
|
|
@ -366,10 +369,10 @@ private fun InviteSection(
|
|||
@Composable
|
||||
private fun SecuritySection(modifier: Modifier = Modifier) {
|
||||
PreferenceCategory(title = stringResource(R.string.screen_room_details_security_title), modifier = modifier) {
|
||||
PreferenceText(
|
||||
title = stringResource(R.string.screen_room_details_encryption_enabled_title),
|
||||
subtitle = stringResource(R.string.screen_room_details_encryption_enabled_subtitle),
|
||||
iconResourceId = CommonDrawables.ic_compound_lock,
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_details_encryption_enabled_title)) },
|
||||
supportingContent = { Text(stringResource(R.string.screen_room_details_encryption_enabled_subtitle)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_encryption_enabled)),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -377,10 +380,10 @@ private fun SecuritySection(modifier: Modifier = Modifier) {
|
|||
@Composable
|
||||
private fun OtherActionsSection(onLeaveRoom: () -> Unit, modifier: Modifier = Modifier) {
|
||||
PreferenceCategory(showDivider = false, modifier = modifier) {
|
||||
PreferenceText(
|
||||
title = stringResource(R.string.screen_room_details_leave_room_title),
|
||||
iconResourceId = CommonDrawables.ic_compound_leave,
|
||||
tintColor = MaterialTheme.colorScheme.error,
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_details_leave_room_title)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_compound_leave)),
|
||||
style = ListItemStyle.Destructive,
|
||||
onClick = onLeaveRoom,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,20 +16,26 @@
|
|||
|
||||
package io.element.android.features.roomdetails.impl.blockuser
|
||||
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.Block
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.progressSemantics
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.roomdetails.impl.R
|
||||
import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsEvents
|
||||
import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsState
|
||||
import io.element.android.libraries.architecture.Async
|
||||
import io.element.android.libraries.core.bool.orFalse
|
||||
import io.element.android.libraries.designsystem.components.dialogs.RetryDialog
|
||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceText
|
||||
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
|
||||
@Composable
|
||||
|
|
@ -65,21 +71,29 @@ private fun PreferenceBlockUser(
|
|||
eventSink: (RoomMemberDetailsEvents) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val loadingCurrentValue = @Composable {
|
||||
CircularProgressIndicator(
|
||||
modifier = Modifier
|
||||
.progressSemantics()
|
||||
.size(20.dp),
|
||||
strokeWidth = 2.dp
|
||||
)
|
||||
}
|
||||
if (isBlocked.orFalse()) {
|
||||
PreferenceText(
|
||||
title = stringResource(R.string.screen_dm_details_unblock_user),
|
||||
icon = Icons.Outlined.Block,
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_dm_details_unblock_user)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_compound_block)),
|
||||
onClick = { if (!isLoading) eventSink(RoomMemberDetailsEvents.UnblockUser(needsConfirmation = true)) },
|
||||
loadingCurrentValue = isLoading,
|
||||
trailingContent = if (isLoading) ListItemContent.Custom(loadingCurrentValue) else null,
|
||||
modifier = modifier,
|
||||
)
|
||||
} else {
|
||||
PreferenceText(
|
||||
title = stringResource(R.string.screen_dm_details_block_user),
|
||||
icon = Icons.Outlined.Block,
|
||||
tintColor = MaterialTheme.colorScheme.error,
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_dm_details_block_user)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_compound_block)),
|
||||
style = ListItemStyle.Destructive,
|
||||
onClick = { if (!isLoading) eventSink(RoomMemberDetailsEvents.BlockUser(needsConfirmation = true)) },
|
||||
loadingCurrentValue = isLoading,
|
||||
trailingContent = if (isLoading) ListItemContent.Custom(loadingCurrentValue) else null,
|
||||
modifier = modifier,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,25 +22,22 @@ import androidx.compose.foundation.layout.consumeWindowInsets
|
|||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.roomdetails.impl.R
|
||||
import io.element.android.libraries.core.bool.orTrue
|
||||
import io.element.android.libraries.designsystem.components.async.AsyncView
|
||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceText
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
||||
@Composable
|
||||
fun UserDefinedRoomNotificationSettingsView(
|
||||
|
|
@ -75,10 +72,9 @@ fun UserDefinedRoomNotificationSettingsView(
|
|||
)
|
||||
}
|
||||
|
||||
PreferenceText(
|
||||
title = stringResource(R.string.screen_room_notification_settings_edit_remove_setting),
|
||||
icon = ImageVector.vectorResource(CommonDrawables.ic_compound_delete),
|
||||
tintColor = MaterialTheme.colorScheme.error,
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_notification_settings_edit_remove_setting)) },
|
||||
style = ListItemStyle.Destructive,
|
||||
onClick = {
|
||||
state.eventSink(RoomNotificationSettingsEvents.DeleteCustomNotification)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,20 +18,18 @@ package io.element.android.features.roomlist.impl
|
|||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.ListItem
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
|
@ -88,34 +86,25 @@ private fun RoomListModalBottomSheetContent(
|
|||
)
|
||||
},
|
||||
modifier = Modifier.clickable { onRoomSettingsClicked(contextMenu.roomId) },
|
||||
leadingContent = {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_compound_settings,
|
||||
contentDescription = stringResource(id = CommonStrings.common_settings),
|
||||
modifier = Modifier.size(20.dp),
|
||||
tint = MaterialTheme.colorScheme.onSurface,
|
||||
leadingContent = ListItemContent.Icon(
|
||||
iconSource = IconSource.Resource(
|
||||
CommonDrawables.ic_compound_settings,
|
||||
contentDescription = stringResource(id = CommonStrings.common_settings)
|
||||
)
|
||||
}
|
||||
),
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
ListItem(
|
||||
headlineContent = {
|
||||
Text(
|
||||
text = stringResource(id = CommonStrings.action_leave_room),
|
||||
color = MaterialTheme.colorScheme.error,
|
||||
style = MaterialTheme.typography.bodyLarge,
|
||||
)
|
||||
},
|
||||
headlineContent = { Text(text = stringResource(id = CommonStrings.action_leave_room)) },
|
||||
modifier = Modifier.clickable { onLeaveRoomClicked(contextMenu.roomId) },
|
||||
leadingContent = {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_compound_leave,
|
||||
contentDescription = stringResource(id = CommonStrings.action_leave_room),
|
||||
modifier = Modifier.size(20.dp),
|
||||
tint = MaterialTheme.colorScheme.error,
|
||||
leadingContent = ListItemContent.Icon(
|
||||
iconSource = IconSource.Resource(
|
||||
CommonDrawables.ic_compound_leave,
|
||||
contentDescription = stringResource(id = CommonStrings.action_leave_room)
|
||||
)
|
||||
}
|
||||
),
|
||||
style = ListItemStyle.Destructive,
|
||||
)
|
||||
Spacer(modifier = Modifier.height(32.dp))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ private fun RoomListContent(
|
|||
) {
|
||||
Icon(
|
||||
// Note cannot use Icons.Outlined.EditSquare, it does not exist :/
|
||||
resourceId = CommonDrawables.ic_september_compose_button,
|
||||
resourceId = CommonDrawables.ic_new_message,
|
||||
contentDescription = stringResource(id = R.string.screen_roomlist_a11y_create_message)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ private fun DefaultRoomListTopBar(
|
|||
showMenu = false
|
||||
onMenuActionClicked(RoomListMenuAction.ReportBug)
|
||||
},
|
||||
text = { Text(stringResource(id = CommonStrings.common_report_a_bug)) },
|
||||
text = { Text(stringResource(id = CommonStrings.common_report_a_problem)) },
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_compound_chat_problem,
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ private fun RecoveryKeyStaticContent(
|
|||
modifier = Modifier.weight(1f),
|
||||
)
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_september_copy,
|
||||
resourceId = CommonDrawables.ic_copy,
|
||||
contentDescription = stringResource(id = CommonStrings.action_copy),
|
||||
tint = ElementTheme.colors.iconSecondary,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -16,10 +16,12 @@
|
|||
|
||||
package io.element.android.libraries.designsystem.components.list
|
||||
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.widthIn
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.Immutable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.DpSize
|
||||
|
|
@ -126,7 +128,12 @@ sealed interface ListItemContent {
|
|||
)
|
||||
}
|
||||
is Text -> TextComponent(modifier = Modifier.widthIn(max = 128.dp), text = text, maxLines = 1, overflow = TextOverflow.Ellipsis)
|
||||
is Badge -> RedIndicatorAtom()
|
||||
is Badge -> Box(
|
||||
modifier = Modifier.size(maxCompactSize),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
RedIndicatorAtom()
|
||||
}
|
||||
is Custom -> content()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,43 +96,43 @@ internal val iconsCompound = listOf(
|
|||
R.drawable.ic_compound_web_browser,
|
||||
)
|
||||
|
||||
internal val iconsSeptember = listOf(
|
||||
R.drawable.ic_september_add_reaction,
|
||||
R.drawable.ic_september_attachment,
|
||||
R.drawable.ic_september_compose_button,
|
||||
R.drawable.ic_september_copy,
|
||||
R.drawable.ic_september_decryption_error,
|
||||
R.drawable.ic_september_edit_outline,
|
||||
R.drawable.ic_september_edit_solid_16,
|
||||
R.drawable.ic_september_forward,
|
||||
R.drawable.ic_september_location,
|
||||
R.drawable.ic_september_photo_camera,
|
||||
R.drawable.ic_september_photo_video_library,
|
||||
R.drawable.ic_september_reply,
|
||||
R.drawable.ic_september_send,
|
||||
R.drawable.ic_september_take_photo_camera,
|
||||
R.drawable.ic_september_text_formatting,
|
||||
R.drawable.ic_september_video_call,
|
||||
R.drawable.ic_september_view_source,
|
||||
)
|
||||
|
||||
// This list and all the drawable it contains should be removed at some point.
|
||||
// All the icons should be defined in Compound.
|
||||
internal val iconsOther = listOf(
|
||||
R.drawable.ic_add_reaction,
|
||||
R.drawable.ic_attachment,
|
||||
R.drawable.ic_copy,
|
||||
R.drawable.ic_developer_options,
|
||||
R.drawable.ic_devices,
|
||||
R.drawable.ic_edit,
|
||||
R.drawable.ic_edit_outline,
|
||||
R.drawable.ic_edit_solid,
|
||||
R.drawable.ic_encryption_enabled,
|
||||
R.drawable.ic_forward,
|
||||
R.drawable.ic_groups,
|
||||
R.drawable.ic_image,
|
||||
R.drawable.ic_indent_decrease,
|
||||
R.drawable.ic_indent_increase,
|
||||
R.drawable.ic_inline_code,
|
||||
R.drawable.ic_italic,
|
||||
R.drawable.ic_link,
|
||||
R.drawable.ic_location_navigator,
|
||||
R.drawable.ic_location_navigator_centered,
|
||||
R.drawable.ic_new_message,
|
||||
R.drawable.ic_numbered_list,
|
||||
R.drawable.ic_plus,
|
||||
R.drawable.ic_poll_end,
|
||||
R.drawable.ic_quote,
|
||||
R.drawable.ic_reply,
|
||||
R.drawable.ic_send,
|
||||
R.drawable.ic_sign_out,
|
||||
R.drawable.ic_strikethrough,
|
||||
R.drawable.ic_take_photo_camera,
|
||||
R.drawable.ic_text_formatting,
|
||||
R.drawable.ic_thread_decoration,
|
||||
R.drawable.ic_underline,
|
||||
R.drawable.ic_sign_out,
|
||||
R.drawable.ic_user,
|
||||
R.drawable.ic_user_add,
|
||||
R.drawable.ic_video_call,
|
||||
R.drawable.ic_waiting_to_decrypt,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ import io.element.android.libraries.theme.ElementTheme
|
|||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toPersistentList
|
||||
|
||||
internal class IconChunkPreviewProvider : PreviewParameterProvider<IconChunk> {
|
||||
internal class CompoundIconListPreviewProvider : PreviewParameterProvider<IconChunk> {
|
||||
override val values: Sequence<IconChunk>
|
||||
get() {
|
||||
val chunks = iconsCompound.chunked(36)
|
||||
|
|
@ -49,6 +49,17 @@ internal class IconChunkPreviewProvider : PreviewParameterProvider<IconChunk> {
|
|||
}
|
||||
}
|
||||
|
||||
internal class OtherIconListPreviewProvider : PreviewParameterProvider<IconChunk> {
|
||||
override val values: Sequence<IconChunk>
|
||||
get() {
|
||||
val chunks = iconsOther.chunked(36)
|
||||
return chunks.mapIndexed { index, chunk ->
|
||||
IconChunk(index = index+1, total = chunks.size, icons = chunk.toPersistentList())
|
||||
}
|
||||
.asSequence()
|
||||
}
|
||||
}
|
||||
|
||||
internal data class IconChunk(
|
||||
val index: Int,
|
||||
val total: Int,
|
||||
|
|
@ -57,7 +68,7 @@ internal data class IconChunk(
|
|||
|
||||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun IconsCompoundPreview(@PreviewParameter(IconChunkPreviewProvider::class) chunk: IconChunk) = ElementPreview {
|
||||
internal fun IconsCompoundPreview(@PreviewParameter(CompoundIconListPreviewProvider::class) chunk: IconChunk) = ElementPreview {
|
||||
IconsPreview(
|
||||
title = "R.drawable.ic_compound_* ${chunk.index}/${chunk.total}",
|
||||
iconsList = chunk.icons,
|
||||
|
|
@ -69,22 +80,10 @@ internal fun IconsCompoundPreview(@PreviewParameter(IconChunkPreviewProvider::cl
|
|||
|
||||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun IconsSeptemberPreview() = ElementPreview {
|
||||
internal fun IconsOtherPreview(@PreviewParameter(OtherIconListPreviewProvider::class) iconChunk: IconChunk) = ElementPreview {
|
||||
IconsPreview(
|
||||
title = "R.drawable.ic_september_*",
|
||||
iconsList = iconsSeptember.toPersistentList(),
|
||||
iconNameTransform = { name ->
|
||||
name.removePrefix("ic_september_")
|
||||
.replace("_", " ")
|
||||
})
|
||||
}
|
||||
|
||||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun IconsOtherPreview() = ElementPreview {
|
||||
IconsPreview(
|
||||
title = "R.drawable.ic_*",
|
||||
iconsList = iconsOther.toPersistentList(),
|
||||
title = "R.drawable.ic_* ${iconChunk.index}/${iconChunk.total}",
|
||||
iconsList = iconChunk.icons,
|
||||
iconNameTransform = { name ->
|
||||
name.removePrefix("ic_")
|
||||
.replace("_", " ")
|
||||
|
|
|
|||
|
|
@ -20,12 +20,12 @@
|
|||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12.712,16.712C12.521,16.904 12.283,17 12,17C11.717,17 11.479,16.904 11.288,16.712C11.096,16.521 11,16.283 11,16C11,15.717 11.096,15.479 11.288,15.288C11.479,15.096 11.717,15 12,15C12.283,15 12.521,15.096 12.712,15.288C12.904,15.479 13,15.717 13,16C13,16.283 12.904,16.521 12.712,16.712Z"
|
||||
android:pathData="M12.7,16.7C12.5,16.9 12.3,17 12,17C11.7,17 11.5,16.9 11.3,16.7C11.1,16.5 11,16.3 11,16C11,15.7 11.1,15.5 11.3,15.3C11.5,15.1 11.7,15 12,15C12.3,15 12.5,15.1 12.7,15.3C12.9,15.5 13,15.7 13,16C13,16.3 12.9,16.5 12.7,16.7Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
<path
|
||||
android:pathData="M12.712,12.712C12.521,12.904 12.283,13 12,13C11.717,13 11.479,12.904 11.288,12.712C11.096,12.521 11,12.283 11,12V8C11,7.717 11.096,7.479 11.288,7.287C11.479,7.096 11.717,7 12,7C12.283,7 12.521,7.096 12.712,7.287C12.904,7.479 13,7.717 13,8V12C13,12.283 12.904,12.521 12.712,12.712Z"
|
||||
android:pathData="M12.7,12.7C12.5,12.9 12.3,13 12,13C11.7,13 11.5,12.9 11.3,12.7C11.1,12.5 11,12.3 11,12V8C11,7.7 11.1,7.5 11.3,7.3C11.5,7.1 11.7,7 12,7C12.3,7 12.5,7.1 12.7,7.3C12.9,7.5 13,7.7 13,8V12C13,12.3 12.9,12.5 12.7,12.7Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
<path
|
||||
android:pathData="M2.95,16.3C2.633,15.617 2.396,14.917 2.238,14.2C2.079,13.483 2,12.75 2,12C2,10.617 2.263,9.317 2.788,8.1C3.313,6.883 4.025,5.825 4.925,4.925C5.825,4.025 6.883,3.313 8.1,2.787C9.317,2.263 10.617,2 12,2C13.383,2 14.683,2.263 15.9,2.787C17.117,3.313 18.175,4.025 19.075,4.925C19.975,5.825 20.688,6.883 21.212,8.1C21.737,9.317 22,10.617 22,12C22,13.383 21.737,14.683 21.212,15.9C20.688,17.117 19.975,18.175 19.075,19.075C18.175,19.975 17.117,20.688 15.9,21.212C14.683,21.737 13.383,22 12,22C11.25,22 10.517,21.921 9.8,21.763C9.083,21.604 8.383,21.367 7.7,21.05L2.75,22.5C2.367,22.617 2.033,22.533 1.75,22.25C1.467,21.967 1.383,21.633 1.5,21.25L2.95,16.3ZM7.15,19.1C7.233,19.067 7.325,19.046 7.425,19.038C7.525,19.029 7.617,19.025 7.7,19.025C7.85,19.025 7.996,19.038 8.138,19.063C8.279,19.087 8.417,19.133 8.55,19.2C9.083,19.467 9.642,19.667 10.225,19.8C10.808,19.933 11.4,20 12,20C14.233,20 16.125,19.225 17.675,17.675C19.225,16.125 20,14.233 20,12C20,9.767 19.225,7.875 17.675,6.325C16.125,4.775 14.233,4 12,4C9.767,4 7.875,4.775 6.325,6.325C4.775,7.875 4,9.767 4,12C4,12.6 4.067,13.192 4.2,13.775C4.333,14.358 4.533,14.917 4.8,15.45C4.917,15.667 4.979,15.896 4.988,16.138C4.996,16.379 4.967,16.617 4.9,16.85L3.95,20.05L7.15,19.1Z"
|
||||
android:pathData="M2.95,16.3C2.63,15.62 2.4,14.92 2.24,14.2C2.08,13.48 2,12.75 2,12C2,10.62 2.26,9.32 2.79,8.1C3.31,6.88 4.03,5.83 4.93,4.93C5.83,4.03 6.88,3.31 8.1,2.79C9.32,2.26 10.62,2 12,2C13.38,2 14.68,2.26 15.9,2.79C17.12,3.31 18.18,4.03 19.08,4.93C19.98,5.83 20.69,6.88 21.21,8.1C21.74,9.32 22,10.62 22,12C22,13.38 21.74,14.68 21.21,15.9C20.69,17.12 19.98,18.18 19.08,19.08C18.18,19.98 17.12,20.69 15.9,21.21C14.68,21.74 13.38,22 12,22C11.25,22 10.52,21.92 9.8,21.76C9.08,21.6 8.38,21.37 7.7,21.05L2.75,22.5C2.37,22.62 2.03,22.53 1.75,22.25C1.47,21.97 1.38,21.63 1.5,21.25L2.95,16.3ZM7.15,19.1C7.23,19.07 7.33,19.05 7.43,19.04C7.53,19.03 7.62,19.03 7.7,19.03C7.85,19.03 8,19.04 8.14,19.06C8.28,19.09 8.42,19.13 8.55,19.2C9.08,19.47 9.64,19.67 10.23,19.8C10.81,19.93 11.4,20 12,20C14.23,20 16.13,19.23 17.68,17.68C19.23,16.13 20,14.23 20,12C20,9.77 19.23,7.88 17.68,6.33C16.13,4.78 14.23,4 12,4C9.77,4 7.88,4.78 6.33,6.33C4.78,7.88 4,9.77 4,12C4,12.6 4.07,13.19 4.2,13.78C4.33,14.36 4.53,14.92 4.8,15.45C4.92,15.67 4.98,15.9 4.99,16.14C5,16.38 4.97,16.62 4.9,16.85L3.95,20.05L7.15,19.1Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M5,21C4.45,21 3.979,20.804 3.588,20.413C3.196,20.021 3,19.55 3,19V5C3,4.45 3.196,3.979 3.588,3.588C3.979,3.196 4.45,3 5,3H19C19.55,3 20.021,3.196 20.413,3.588C20.804,3.979 21,4.45 21,5V19C21,19.55 20.804,20.021 20.413,20.413C20.021,20.804 19.55,21 19,21H5ZM5,19H19V5H5V19ZM7,17H17C17.2,17 17.35,16.908 17.45,16.725C17.55,16.542 17.533,16.367 17.4,16.2L14.65,12.525C14.55,12.392 14.417,12.325 14.25,12.325C14.083,12.325 13.95,12.392 13.85,12.525L11.25,16L9.4,13.525C9.3,13.392 9.167,13.325 9,13.325C8.833,13.325 8.7,13.392 8.6,13.525L6.6,16.2C6.467,16.367 6.45,16.542 6.55,16.725C6.65,16.908 6.8,17 7,17Z"
|
||||
android:pathData="M11,13H6C5.717,13 5.479,12.904 5.287,12.712C5.096,12.521 5,12.283 5,12C5,11.717 5.096,11.479 5.287,11.288C5.479,11.096 5.717,11 6,11H11V6C11,5.717 11.096,5.479 11.288,5.287C11.479,5.096 11.717,5 12,5C12.283,5 12.521,5.096 12.712,5.287C12.904,5.479 13,5.717 13,6V11H18C18.283,11 18.521,11.096 18.712,11.288C18.904,11.479 19,11.717 19,12C19,12.283 18.904,12.521 18.712,12.712C18.521,12.904 18.283,13 18,13H13V18C13,18.283 12.904,18.521 12.712,18.712C12.521,18.904 12.283,19 12,19C11.717,19 11.479,18.904 11.288,18.712C11.096,18.521 11,18.283 11,18V13Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
25
libraries/designsystem/src/main/res/drawable/ic_edit.xml
Normal file
25
libraries/designsystem/src/main/res/drawable/ic_edit.xml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="16dp"
|
||||
android:height="16dp"
|
||||
android:viewportWidth="16"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:pathData="M12.9,6L10,3.2L11,2.2C11.2,2 11.5,1.8 11.9,1.8C12.3,1.8 12.6,2 12.9,2.2L13.8,3.2C14,3.4 14.2,3.7 14.2,4.1C14.2,4.4 14.1,4.7 13.8,5L12.9,6ZM2.7,14C2.5,14 2.3,13.9 2.2,13.8C2.1,13.7 2,13.5 2,13.3V11.5C2,11.4 2,11.3 2.1,11.2C2.1,11.1 2.1,11 2.2,11L9.1,4.1L11.9,6.9L5,13.8C5,13.9 4.9,13.9 4.8,14C4.7,14 4.6,14 4.6,14H2.7Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6,22C5.5,22 5,21.8 4.6,21.4C4.2,21 4,20.6 4,20V10C4,9.5 4.2,9 4.6,8.6C5,8.2 5.5,8 6,8H7V6C7,4.6 7.5,3.4 8.5,2.5C9.4,1.5 10.6,1 12,1C13.4,1 14.6,1.5 15.5,2.5C16.5,3.4 17,4.6 17,6V8H18C18.6,8 19,8.2 19.4,8.6C19.8,9 20,9.5 20,10V20C20,20.6 19.8,21 19.4,21.4C19,21.8 18.6,22 18,22H6ZM6,20H18V10H6V20ZM12,17C12.6,17 13,16.8 13.4,16.4C13.8,16 14,15.6 14,15C14,14.5 13.8,14 13.4,13.6C13,13.2 12.6,13 12,13C11.5,13 11,13.2 10.6,13.6C10.2,14 10,14.5 10,15C10,15.6 10.2,16 10.6,16.4C11,16.8 11.5,17 12,17ZM9,8H15V6C15,5.2 14.7,4.5 14.1,3.9C13.5,3.3 12.8,3 12,3C11.2,3 10.5,3.3 9.9,3.9C9.3,4.5 9,5.2 9,6V8Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
|
|
@ -20,6 +20,9 @@
|
|||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M5,21.025C4.45,21.025 3.979,20.829 3.588,20.438C3.196,20.046 3,19.575 3,19.025V5.025C3,4.475 3.196,4.004 3.588,3.612C3.979,3.221 4.45,3.025 5,3.025H13.925L11.925,5.025H5V19.025H19V12.075L21,10.075V19.025C21,19.575 20.804,20.046 20.413,20.438C20.021,20.829 19.55,21.025 19,21.025H5ZM16.175,3.6L17.6,5L11,11.6V13.025H12.4L19.025,6.4L20.45,7.8L13.825,14.425C13.642,14.608 13.429,14.754 13.188,14.863C12.946,14.971 12.692,15.025 12.425,15.025H10C9.717,15.025 9.479,14.929 9.288,14.738C9.096,14.546 9,14.308 9,14.025V11.6C9,11.333 9.05,11.079 9.15,10.837C9.25,10.596 9.392,10.383 9.575,10.2L16.175,3.6ZM20.45,7.8L16.175,3.6L18.675,1.1C19.075,0.7 19.554,0.5 20.112,0.5C20.671,0.5 21.142,0.7 21.525,1.1L22.925,2.525C23.308,2.908 23.5,3.375 23.5,3.925C23.5,4.475 23.308,4.942 22.925,5.325L20.45,7.8Z"
|
||||
android:pathData="M17,9C17,10.1 16.1,11 15,11C13.9,11 13,10.1 13,9C13,7.9 13.9,7 15,7C16.1,7 17,7.9 17,9Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
<path
|
||||
android:pathData="M5,3C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3H5ZM19,5V19L5,19V15.8L9,11.8L16.2,19L19,19L10.4,10.4C9.6,9.6 8.4,9.6 7.6,10.4L5,13V5H19Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M11,22V21C8.916,20.767 7.129,19.904 5.637,18.413C4.146,16.921 3.283,15.133 3.05,13.05H2.05C1.766,13.05 1.529,12.954 1.337,12.763C1.146,12.571 1.05,12.333 1.05,12.05C1.05,11.767 1.146,11.529 1.337,11.338C1.529,11.146 1.766,11.05 2.05,11.05H3.05C3.283,8.967 4.146,7.179 5.637,5.688C7.129,4.196 8.916,3.333 11,3.1V2.1C11,1.817 11.096,1.579 11.287,1.388C11.479,1.196 11.717,1.1 12,1.1C12.283,1.1 12.521,1.196 12.712,1.388C12.904,1.579 13,1.817 13,2.1V3.1C15.083,3.333 16.871,4.196 18.362,5.688C19.854,7.179 20.716,8.967 20.95,11.05H21.95C22.233,11.05 22.471,11.146 22.662,11.338C22.854,11.529 22.95,11.767 22.95,12.05C22.95,12.333 22.854,12.571 22.662,12.763C22.471,12.954 22.233,13.05 21.95,13.05H20.95C20.716,15.133 19.854,16.921 18.362,18.413C16.871,19.904 15.083,20.767 13,21V22C13,22.283 12.904,22.521 12.712,22.713C12.521,22.904 12.283,23 12,23C11.717,23 11.479,22.904 11.287,22.713C11.096,22.521 11,22.283 11,22ZM12,19.05C13.933,19.05 15.583,18.367 16.95,17C18.316,15.633 19,13.983 19,12.05C19,10.117 18.316,8.467 16.95,7.1C15.583,5.733 13.933,5.05 12,5.05C10.066,5.05 8.416,5.733 7.05,7.1C5.683,8.467 5,10.117 5,12.05C5,13.983 5.683,15.633 7.05,17C8.416,18.367 10.066,19.05 12,19.05Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M11,21.95V20.95C8.916,20.716 7.129,19.854 5.637,18.362C4.146,16.871 3.283,15.083 3.05,13H2.05C1.766,13 1.529,12.904 1.337,12.712C1.146,12.521 1.05,12.283 1.05,12C1.05,11.717 1.146,11.479 1.337,11.287C1.529,11.096 1.766,11 2.05,11H3.05C3.283,8.916 4.146,7.129 5.637,5.637C7.129,4.146 8.916,3.283 11,3.05V2.05C11,1.766 11.096,1.529 11.287,1.337C11.479,1.146 11.717,1.05 12,1.05C12.283,1.05 12.521,1.146 12.712,1.337C12.904,1.529 13,1.766 13,2.05V3.05C15.083,3.283 16.871,4.146 18.362,5.637C19.854,7.129 20.716,8.916 20.95,11H21.95C22.233,11 22.471,11.096 22.662,11.287C22.854,11.479 22.95,11.717 22.95,12C22.95,12.283 22.854,12.521 22.662,12.712C22.471,12.904 22.233,13 21.95,13H20.95C20.716,15.083 19.854,16.871 18.362,18.362C16.871,19.854 15.083,20.716 13,20.95V21.95C13,22.233 12.904,22.471 12.712,22.662C12.521,22.854 12.283,22.95 12,22.95C11.717,22.95 11.479,22.854 11.287,22.662C11.096,22.471 11,22.233 11,21.95ZM12,19C13.933,19 15.583,18.316 16.95,16.95C18.316,15.583 19,13.933 19,12C19,10.066 18.316,8.416 16.95,7.05C15.583,5.683 13.933,5 12,5C10.066,5 8.416,5.683 7.05,7.05C5.683,8.416 5,10.066 5,12C5,13.933 5.683,15.583 7.05,16.95C8.416,18.316 10.066,19 12,19ZM12,16C10.9,16 9.958,15.608 9.175,14.825C8.391,14.042 8,13.1 8,12C8,10.9 8.391,9.958 9.175,9.175C9.958,8.391 10.9,8 12,8C13.1,8 14.042,8.391 14.825,9.175C15.608,9.958 16,10.9 16,12C16,13.1 15.608,14.042 14.825,14.825C14.042,15.608 13.1,16 12,16Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -20,6 +20,6 @@
|
|||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,19.35C14.033,17.483 15.542,15.788 16.525,14.262C17.508,12.738 18,11.383 18,10.2C18,8.383 17.421,6.896 16.263,5.738C15.104,4.579 13.684,4 12,4C10.317,4 8.896,4.579 7.738,5.738C6.579,6.896 6,8.383 6,10.2C6,11.383 6.492,12.738 7.475,14.262C8.458,15.788 9.967,17.483 12,19.35ZM12,21.325C11.767,21.325 11.533,21.283 11.3,21.2C11.067,21.117 10.858,20.992 10.675,20.825C9.592,19.825 8.633,18.85 7.8,17.9C6.967,16.95 6.271,16.029 5.713,15.137C5.154,14.246 4.729,13.387 4.438,12.563C4.146,11.738 4,10.95 4,10.2C4,7.7 4.804,5.708 6.413,4.225C8.021,2.742 9.883,2 12,2C14.117,2 15.979,2.742 17.588,4.225C19.196,5.708 20,7.7 20,10.2C20,10.95 19.854,11.738 19.563,12.563C19.271,13.387 18.846,14.246 18.288,15.137C17.729,16.029 17.034,16.95 16.2,17.9C15.367,18.85 14.408,19.825 13.325,20.825C13.142,20.992 12.934,21.117 12.7,21.2C12.467,21.283 12.233,21.325 12,21.325ZM12,12C12.55,12 13.021,11.804 13.413,11.413C13.804,11.021 14,10.55 14,10C14,9.45 13.804,8.979 13.413,8.587C13.021,8.196 12.55,8 12,8C11.45,8 10.979,8.196 10.588,8.587C10.196,8.979 10,9.45 10,10C10,10.55 10.196,11.021 10.588,11.413C10.979,11.804 11.45,12 12,12Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
android:pathData="M12,19.35C14.033,17.483 15.542,15.788 16.525,14.262C17.508,12.738 18,11.383 18,10.2C18,8.383 17.421,6.896 16.263,5.738C15.104,4.579 13.683,4 12,4C10.317,4 8.896,4.579 7.738,5.738C6.579,6.896 6,8.383 6,10.2C6,11.383 6.492,12.738 7.475,14.262C8.458,15.788 9.967,17.483 12,19.35ZM12,21.325C11.767,21.325 11.533,21.283 11.3,21.2C11.067,21.117 10.858,20.992 10.675,20.825C9.592,19.825 8.633,18.85 7.8,17.9C6.967,16.95 6.271,16.029 5.713,15.137C5.154,14.246 4.729,13.387 4.438,12.563C4.146,11.738 4,10.95 4,10.2C4,7.7 4.804,5.708 6.412,4.225C8.021,2.742 9.883,2 12,2C14.117,2 15.979,2.742 17.587,4.225C19.196,5.708 20,7.7 20,10.2C20,10.95 19.854,11.738 19.563,12.563C19.271,13.387 18.846,14.246 18.288,15.137C17.729,16.029 17.033,16.95 16.2,17.9C15.367,18.85 14.408,19.825 13.325,20.825C13.142,20.992 12.933,21.117 12.7,21.2C12.467,21.283 12.233,21.325 12,21.325ZM12,12C12.55,12 13.021,11.804 13.413,11.413C13.804,11.021 14,10.55 14,10C14,9.45 13.804,8.979 13.413,8.587C13.021,8.196 12.55,8 12,8C11.45,8 10.979,8.196 10.587,8.587C10.196,8.979 10,9.45 10,10C10,10.55 10.196,11.021 10.587,11.413C10.979,11.804 11.45,12 12,12Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -15,15 +15,11 @@
|
|||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="20dp"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="20">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M0,0h20v20h-20z"/>
|
||||
<path
|
||||
android:pathData="M15,6.667H14.167V5C14.167,2.7 12.3,0.833 10,0.833C7.7,0.833 5.833,2.7 5.833,5V6.667H5C4.083,6.667 3.333,7.417 3.333,8.333V16.667C3.333,17.583 4.083,18.333 5,18.333H15C15.917,18.333 16.667,17.583 16.667,16.667V8.333C16.667,7.417 15.917,6.667 15,6.667ZM7.5,5C7.5,3.617 8.617,2.5 10,2.5C11.384,2.5 12.5,3.617 12.5,5V6.667H7.5V5ZM14.167,16.667H5.833C5.375,16.667 5,16.292 5,15.833V9.167C5,8.708 5.375,8.333 5.833,8.333H14.167C14.625,8.333 15,8.708 15,9.167V15.833C15,16.292 14.625,16.667 14.167,16.667ZM10,14.167C10.917,14.167 11.667,13.417 11.667,12.5C11.667,11.583 10.917,10.833 10,10.833C9.083,10.833 8.333,11.583 8.333,12.5C8.333,13.417 9.083,14.167 10,14.167Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</group>
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6,22C5.45,22 4.979,21.804 4.588,21.413C4.196,21.021 4,20.55 4,20V10C4,9.45 4.196,8.979 4.588,8.587C4.979,8.196 5.45,8 6,8H7V6C7,4.617 7.488,3.438 8.462,2.463C9.438,1.487 10.617,1 12,1C13.383,1 14.563,1.487 15.538,2.463C16.513,3.438 17,4.617 17,6V8H18C18.55,8 19.021,8.196 19.413,8.587C19.804,8.979 20,9.45 20,10V20C20,20.55 19.804,21.021 19.413,21.413C19.021,21.804 18.55,22 18,22H6ZM6,20H18V10H6V20ZM9,8H15V6C15,5.167 14.708,4.458 14.125,3.875C13.542,3.292 12.833,3 12,3C11.167,3 10.458,3.292 9.875,3.875C9.292,4.458 9,5.167 9,6V8Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M5,3H11C11.6,3 12,3.5 12,4C12,4.6 11.6,5 11,5H5V19H19V13C19,12.5 19.5,12 20,12C20.6,12 21,12.5 21,13V19C21,20.1 20.1,21 19,21H5C3.9,21 3,20.1 3,19V5C3,3.9 3.9,3 5,3Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
<path
|
||||
android:pathData="M20.2,3.8C19.7,3.2 18.7,3.2 18.1,3.8L17.7,4.2L19.8,6.3L20.2,5.9C20.8,5.3 20.8,4.4 20.2,3.8Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
<path
|
||||
android:pathData="M19,7.1L16.9,5L8,13.9V16H10.1L19,7.1Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12.125,21.9C12.008,21.9 11.9,21.887 11.8,21.862C11.7,21.837 11.6,21.808 11.5,21.775C9.25,21.025 7.454,19.642 6.113,17.625C4.771,15.608 4.067,13.433 4,11.1V6.375C4,5.958 4.121,5.583 4.363,5.25C4.604,4.917 4.917,4.675 5.3,4.525L11.3,2.275C11.533,2.192 11.767,2.15 12,2.15C12.233,2.15 12.467,2.192 12.7,2.275L18.7,4.525C19.083,4.675 19.396,4.917 19.638,5.25C19.879,5.583 20,5.958 20,6.375V11.1C20,11.267 19.996,11.433 19.987,11.6C19.979,11.767 19.967,11.933 19.95,12.1C19.8,12.067 19.646,12.042 19.487,12.025C19.329,12.008 19.167,12 19,12C18.817,12 18.642,12.008 18.475,12.025C18.308,12.042 18.133,12.067 17.95,12.1C17.967,11.933 17.979,11.771 17.987,11.612C17.996,11.454 18,11.283 18,11.1V6.375L12,4.125L6,6.375V11.1C6,13.117 6.567,14.95 7.7,16.6C8.833,18.25 10.267,19.35 12,19.9C12.35,19.783 12.692,19.642 13.025,19.475C13.358,19.308 13.683,19.117 14,18.9V21.25C13.833,21.333 13.663,21.408 13.488,21.475C13.313,21.542 13.075,21.642 12.775,21.775C12.675,21.808 12.571,21.837 12.462,21.862C12.354,21.887 12.242,21.9 12.125,21.9ZM16.85,22C16.617,22 16.417,21.917 16.25,21.75C16.083,21.583 16,21.383 16,21.15V17.85C16,17.617 16.083,17.417 16.25,17.25C16.417,17.083 16.617,17 16.85,17H17V16C17,15.45 17.196,14.979 17.587,14.587C17.979,14.196 18.45,14 19,14C19.55,14 20.021,14.196 20.413,14.587C20.804,14.979 21,15.45 21,16V17H21.15C21.383,17 21.583,17.083 21.75,17.25C21.917,17.417 22,17.617 22,17.85V21.15C22,21.383 21.917,21.583 21.75,21.75C21.583,21.917 21.383,22 21.15,22H16.85ZM18,17H20V16C20,15.717 19.904,15.479 19.712,15.287C19.521,15.096 19.283,15 19,15C18.717,15 18.479,15.096 18.288,15.287C18.096,15.479 18,15.717 18,16V17Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="16dp"
|
||||
android:height="16dp"
|
||||
android:viewportWidth="16"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:pathData="M8,11.667C8.833,11.667 9.542,11.375 10.125,10.792C10.708,10.208 11,9.5 11,8.667C11,7.833 10.708,7.125 10.125,6.542C9.542,5.958 8.833,5.667 8,5.667C7.167,5.667 6.458,5.958 5.875,6.542C5.292,7.125 5,7.833 5,8.667C5,9.5 5.292,10.208 5.875,10.792C6.458,11.375 7.167,11.667 8,11.667ZM8,10.333C7.533,10.333 7.139,10.172 6.817,9.85C6.494,9.528 6.333,9.133 6.333,8.667C6.333,8.2 6.494,7.806 6.817,7.483C7.139,7.161 7.533,7 8,7C8.467,7 8.861,7.161 9.183,7.483C9.506,7.806 9.667,8.2 9.667,8.667C9.667,9.133 9.506,9.528 9.183,9.85C8.861,10.172 8.467,10.333 8,10.333ZM2.667,14C2.3,14 1.986,13.869 1.725,13.608C1.464,13.347 1.333,13.033 1.333,12.667V4.667C1.333,4.3 1.464,3.986 1.725,3.725C1.986,3.464 2.3,3.333 2.667,3.333H4.767L5.6,2.433C5.722,2.3 5.869,2.194 6.042,2.117C6.214,2.039 6.394,2 6.583,2H9.417C9.606,2 9.786,2.039 9.958,2.117C10.131,2.194 10.278,2.3 10.4,2.433L11.233,3.333H13.333C13.7,3.333 14.014,3.464 14.275,3.725C14.536,3.986 14.667,4.3 14.667,4.667V12.667C14.667,13.033 14.536,13.347 14.275,13.608C14.014,13.869 13.7,14 13.333,14H2.667Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
25
libraries/designsystem/src/main/res/drawable/ic_user.xml
Normal file
25
libraries/designsystem/src/main/res/drawable/ic_user.xml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,12C10.9,12 10,11.6 9.2,10.8C8.4,10 8,9.1 8,8C8,6.9 8.4,6 9.2,5.2C10,4.4 10.9,4 12,4C13.1,4 14,4.4 14.8,5.2C15.6,6 16,6.9 16,8C16,9.1 15.6,10 14.8,10.8C14,11.6 13.1,12 12,12ZM4,18V17.2C4,16.6 4.2,16.1 4.4,15.6C4.7,15.2 5.1,14.8 5.6,14.6C6.6,14 7.7,13.7 8.8,13.4C9.8,13.1 10.9,13 12,13C13.1,13 14.2,13.1 15.3,13.4C16.3,13.7 17.4,14 18.4,14.6C18.9,14.8 19.3,15.2 19.6,15.6C19.9,16.1 20,16.6 20,17.2V18C20,18.6 19.8,19 19.4,19.4C19,19.8 18.6,20 18,20H6C5.5,20 5,19.8 4.6,19.4C4.2,19 4,18.6 4,18ZM6,18H18V17.2C18,17 18,16.9 17.9,16.7C17.8,16.6 17.7,16.4 17.5,16.4C16.6,15.9 15.7,15.6 14.8,15.3C13.9,15.1 12.9,15 12,15C11.1,15 10.1,15.1 9.2,15.3C8.3,15.6 7.4,15.9 6.5,16.4C6.4,16.4 6.2,16.6 6.1,16.7C6.1,16.9 6,17 6,17.2V18ZM12,10C12.6,10 13,9.8 13.4,9.4C13.8,9 14,8.6 14,8C14,7.5 13.8,7 13.4,6.6C13,6.2 12.6,6 12,6C11.5,6 11,6.2 10.6,6.6C10.2,7 10,7.5 10,8C10,8.6 10.2,9 10.6,9.4C11,9.8 11.5,10 12,10Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
28
libraries/designsystem/src/main/res/drawable/ic_user_add.xml
Normal file
28
libraries/designsystem/src/main/res/drawable/ic_user_add.xml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M10,12C8.9,12 8,11.6 7.2,10.8C6.4,10 6,9.1 6,8C6,6.9 6.4,6 7.2,5.2C8,4.4 8.9,4 10,4C11.1,4 12,4.4 12.8,5.2C13.6,6 14,6.9 14,8C14,9.1 13.6,10 12.8,10.8C12,11.6 11.1,12 10,12ZM2,18V17.2C2,16.6 2.2,16.1 2.4,15.6C2.7,15.2 3.1,14.8 3.6,14.6C4.6,14 5.7,13.7 6.8,13.4C7.8,13.1 8.9,13 10,13C11.1,13 12.2,13.1 13.3,13.4C14.3,13.7 15.4,14 16.4,14.6C16.9,14.8 17.3,15.2 17.6,15.6C17.9,16.1 18,16.6 18,17.2V18C18,18.6 17.8,19 17.4,19.4C17,19.8 16.6,20 16,20H4C3.5,20 3,19.8 2.6,19.4C2.2,19 2,18.6 2,18ZM4,18H16V17.2C16,17 16,16.9 15.9,16.7C15.8,16.6 15.7,16.4 15.5,16.4C14.6,15.9 13.7,15.6 12.8,15.3C11.9,15.1 10.9,15 10,15C9.1,15 8.1,15.1 7.2,15.3C6.3,15.6 5.4,15.9 4.5,16.4C4.4,16.4 4.2,16.6 4.1,16.7C4.1,16.9 4,17 4,17.2V18ZM10,10C10.6,10 11,9.8 11.4,9.4C11.8,9 12,8.6 12,8C12,7.5 11.8,7 11.4,6.6C11,6.2 10.6,6 10,6C9.5,6 9,6.2 8.6,6.6C8.2,7 8,7.5 8,8C8,8.6 8.2,9 8.6,9.4C9,9.8 9.5,10 10,10Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
<path
|
||||
android:pathData="M17,11H19V13C19,13.3 19.1,13.5 19.3,13.7C19.5,13.9 19.7,14 20,14C20.3,14 20.5,13.9 20.7,13.7C20.9,13.5 21,13.3 21,13V11H23C23.3,11 23.5,10.9 23.7,10.7C23.9,10.5 24,10.3 24,10C24,9.7 23.9,9.5 23.7,9.3C23.5,9.1 23.3,9 23,9H21V7C21,6.7 20.9,6.5 20.7,6.3C20.5,6.1 20.3,6 20,6C19.7,6 19.5,6.1 19.3,6.3C19.1,6.5 19,6.7 19,7V9H17C16.7,9 16.5,9.1 16.3,9.3C16.1,9.5 16,9.7 16,10C16,10.3 16.1,10.5 16.3,10.7C16.5,10.9 16.7,11 17,11Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M13,8C13,7.5 12.6,7 12,7C11.5,7 11,7.5 11,8V12C11,12.3 11.1,12.5 11.3,12.7L14.1,15.5C14.5,15.9 15.2,15.9 15.5,15.5C15.9,15.2 15.9,14.5 15.5,14.1L13,11.6V8Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
<path
|
||||
android:pathData="M22,11.9C22,17.4 17.5,21.9 12,21.9C6.5,21.9 2,17.4 2,11.9C2,6.4 6.5,1.9 12,1.9C17.5,1.9 22,6.4 22,11.9ZM20,11.9C20,16.3 16.4,19.9 12,19.9C7.6,19.9 4,16.3 4,11.9C4,7.5 7.6,3.9 12,3.9C16.4,3.9 20,7.5 20,11.9Z"
|
||||
android:fillColor="#1B1D22"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
||||
|
|
@ -105,7 +105,7 @@ fun AttachmentThumbnail(
|
|||
}
|
||||
AttachmentThumbnailType.File -> {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_september_attachment,
|
||||
resourceId = CommonDrawables.ic_attachment,
|
||||
contentDescription = info.textContent,
|
||||
modifier = Modifier.rotate(-45f)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -28,16 +28,18 @@ import androidx.compose.foundation.lazy.items
|
|||
import androidx.compose.material.ExperimentalMaterialApi
|
||||
import androidx.compose.material.ModalBottomSheetState
|
||||
import androidx.compose.material.ModalBottomSheetValue
|
||||
import androidx.compose.material3.ListItem
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheetLayout
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.matrix.ui.media.AvatarAction
|
||||
|
|
@ -98,12 +100,10 @@ private fun AvatarActionBottomSheetContent(
|
|||
color = if (action.destructive) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.primary,
|
||||
)
|
||||
},
|
||||
leadingContent = {
|
||||
Icon(
|
||||
resourceId = action.iconResourceId,
|
||||
contentDescription = stringResource(action.titleResId),
|
||||
tint = if (action.destructive) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.secondary,
|
||||
)
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(action.iconResourceId)),
|
||||
style = when {
|
||||
action.destructive -> ListItemStyle.Destructive
|
||||
else -> ListItemStyle.Primary
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@ import androidx.compose.foundation.layout.fillMaxSize
|
|||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.AddAPhoto
|
||||
import androidx.compose.material.ripple.rememberRipple
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -40,6 +38,7 @@ import io.element.android.libraries.designsystem.components.avatar.Avatar
|
|||
import io.element.android.libraries.designsystem.components.avatar.AvatarData
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
||||
@Composable
|
||||
fun EditableAvatarView(
|
||||
|
|
@ -87,7 +86,7 @@ fun EditableAvatarView(
|
|||
) {
|
||||
Icon(
|
||||
modifier = Modifier.size(16.dp),
|
||||
imageVector = Icons.Outlined.AddAPhoto,
|
||||
resourceId = CommonDrawables.ic_edit,
|
||||
contentDescription = "",
|
||||
tint = MaterialTheme.colorScheme.onPrimary,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@ sealed class AvatarAction(
|
|||
) {
|
||||
data object TakePhoto : AvatarAction(
|
||||
titleResId = CommonStrings.action_take_photo,
|
||||
iconResourceId = CommonDrawables.ic_september_take_photo_camera,
|
||||
iconResourceId = CommonDrawables.ic_take_photo_camera,
|
||||
)
|
||||
|
||||
data object ChoosePhoto : AvatarAction(
|
||||
titleResId = CommonStrings.action_choose_photo,
|
||||
iconResourceId = CommonDrawables.ic_september_photo_video_library,
|
||||
iconResourceId = CommonDrawables.ic_image,
|
||||
)
|
||||
|
||||
data object Remove : AvatarAction(
|
||||
|
|
|
|||
|
|
@ -475,7 +475,7 @@ private fun EditingModeView(
|
|||
.padding(start = 12.dp)
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_september_edit_solid_16,
|
||||
resourceId = CommonDrawables.ic_edit_solid,
|
||||
contentDescription = stringResource(CommonStrings.common_editing),
|
||||
tint = ElementTheme.materialColors.secondary,
|
||||
modifier = Modifier
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ internal fun SendButton(
|
|||
) {
|
||||
val iconId = when (composerMode) {
|
||||
is MessageComposerMode.Edit -> CommonDrawables.ic_compound_check
|
||||
else -> CommonDrawables.ic_september_send
|
||||
else -> CommonDrawables.ic_send
|
||||
}
|
||||
val iconSize = when (composerMode) {
|
||||
is MessageComposerMode.Edit -> 24.dp
|
||||
|
|
|
|||
|
|
@ -21,5 +21,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M8.825,12L10.3,10.525C10.5,10.325 10.6,10.092 10.6,9.825C10.6,9.558 10.5,9.325 10.3,9.125C10.1,8.925 9.863,8.825 9.587,8.825C9.313,8.825 9.075,8.925 8.875,9.125L6.7,11.3C6.6,11.4 6.529,11.508 6.488,11.625C6.446,11.742 6.425,11.867 6.425,12C6.425,12.133 6.446,12.258 6.488,12.375C6.529,12.492 6.6,12.6 6.7,12.7L8.875,14.875C9.075,15.075 9.313,15.175 9.587,15.175C9.863,15.175 10.1,15.075 10.3,14.875C10.5,14.675 10.6,14.442 10.6,14.175C10.6,13.908 10.5,13.675 10.3,13.475L8.825,12ZM15.175,12L13.7,13.475C13.5,13.675 13.4,13.908 13.4,14.175C13.4,14.442 13.5,14.675 13.7,14.875C13.9,15.075 14.137,15.175 14.413,15.175C14.688,15.175 14.925,15.075 15.125,14.875L17.3,12.7C17.4,12.6 17.471,12.492 17.513,12.375C17.554,12.258 17.575,12.133 17.575,12C17.575,11.867 17.554,11.742 17.513,11.625C17.471,11.508 17.4,11.4 17.3,11.3L15.125,9.125C15.025,9.025 14.913,8.95 14.788,8.9C14.663,8.85 14.538,8.825 14.413,8.825C14.288,8.825 14.163,8.85 14.038,8.9C13.913,8.95 13.8,9.025 13.7,9.125C13.5,9.325 13.4,9.558 13.4,9.825C13.4,10.092 13.5,10.325 13.7,10.525L15.175,12ZM5,21C4.45,21 3.979,20.804 3.588,20.413C3.196,20.021 3,19.55 3,19V5C3,4.45 3.196,3.979 3.588,3.588C3.979,3.196 4.45,3 5,3H19C19.55,3 20.021,3.196 20.413,3.588C20.804,3.979 21,4.45 21,5V19C21,19.55 20.804,20.021 20.413,20.413C20.021,20.804 19.55,21 19,21H5ZM5,19H19V5H5V19Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M3.5,20C3.083,20 2.729,19.854 2.438,19.563C2.146,19.271 2,18.917 2,18.5C2,18.083 2.146,17.729 2.438,17.438C2.729,17.146 3.083,17 3.5,17H4V6C4,5.45 4.196,4.979 4.588,4.588C4.979,4.196 5.45,4 6,4H20C20.283,4 20.521,4.096 20.712,4.287C20.904,4.479 21,4.717 21,5C21,5.283 20.904,5.521 20.712,5.713C20.521,5.904 20.283,6 20,6H6V17H10.5C10.917,17 11.271,17.146 11.563,17.438C11.854,17.729 12,18.083 12,18.5C12,18.917 11.854,19.271 11.563,19.563C11.271,19.854 10.917,20 10.5,20H3.5ZM15,20C14.717,20 14.479,19.904 14.288,19.712C14.096,19.521 14,19.283 14,19V9C14,8.717 14.096,8.479 14.288,8.288C14.479,8.096 14.717,8 15,8H21C21.283,8 21.521,8.096 21.712,8.288C21.904,8.479 22,8.717 22,9V19C22,19.283 21.904,19.521 21.712,19.712C21.521,19.904 21.283,20 21,20H15ZM16,17H20V10H16V17Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="16dp"
|
||||
android:height="16dp"
|
||||
android:viewportWidth="16"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:pathData="M12.867,5.95L10.033,3.15L10.967,2.217C11.222,1.961 11.536,1.833 11.908,1.833C12.281,1.833 12.594,1.961 12.85,2.217L13.783,3.15C14.039,3.405 14.172,3.714 14.183,4.075C14.194,4.436 14.072,4.744 13.817,5L12.867,5.95ZM2.667,14C2.478,14 2.319,13.936 2.192,13.808C2.064,13.68 2,13.522 2,13.333V11.45C2,11.361 2.017,11.275 2.05,11.191C2.083,11.108 2.133,11.033 2.2,10.967L9.067,4.1L11.9,6.933L5.033,13.8C4.967,13.866 4.892,13.917 4.808,13.95C4.725,13.983 4.639,14 4.55,14H2.667Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6,22C5.45,22 4.979,21.804 4.588,21.413C4.196,21.021 4,20.55 4,20V10C4,9.45 4.196,8.979 4.588,8.587C4.979,8.196 5.45,8 6,8H7V6C7,4.617 7.488,3.438 8.462,2.463C9.438,1.487 10.617,1 12,1C13.383,1 14.563,1.487 15.538,2.463C16.513,3.438 17,4.617 17,6V8H18C18.55,8 19.021,8.196 19.413,8.587C19.804,8.979 20,9.45 20,10V20C20,20.55 19.804,21.021 19.413,21.413C19.021,21.804 18.55,22 18,22H6ZM6,20H18V10H6V20ZM12,17C12.55,17 13.021,16.804 13.413,16.413C13.804,16.021 14,15.55 14,15C14,14.45 13.804,13.979 13.413,13.587C13.021,13.196 12.55,13 12,13C11.45,13 10.979,13.196 10.587,13.587C10.196,13.979 10,14.45 10,15C10,15.55 10.196,16.021 10.587,16.413C10.979,16.804 11.45,17 12,17ZM9,8H15V6C15,5.167 14.708,4.458 14.125,3.875C13.542,3.292 12.833,3 12,3C11.167,3 10.458,3.292 9.875,3.875C9.292,4.458 9,5.167 9,6V8Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M11,22V21C8.916,20.767 7.129,19.904 5.637,18.413C4.146,16.921 3.283,15.133 3.05,13.05H2.05C1.766,13.05 1.529,12.954 1.337,12.763C1.146,12.571 1.05,12.333 1.05,12.05C1.05,11.767 1.146,11.529 1.337,11.338C1.529,11.146 1.766,11.05 2.05,11.05H3.05C3.283,8.967 4.146,7.179 5.637,5.688C7.129,4.196 8.916,3.333 11,3.1V2.1C11,1.817 11.096,1.579 11.287,1.388C11.479,1.196 11.717,1.1 12,1.1C12.283,1.1 12.521,1.196 12.712,1.388C12.904,1.579 13,1.817 13,2.1V3.1C15.083,3.333 16.871,4.196 18.362,5.688C19.854,7.179 20.716,8.967 20.95,11.05H21.95C22.233,11.05 22.471,11.146 22.662,11.338C22.854,11.529 22.95,11.767 22.95,12.05C22.95,12.333 22.854,12.571 22.662,12.763C22.471,12.954 22.233,13.05 21.95,13.05H20.95C20.716,15.133 19.854,16.921 18.362,18.413C16.871,19.904 15.083,20.767 13,21V22C13,22.283 12.904,22.521 12.712,22.713C12.521,22.904 12.283,23 12,23C11.717,23 11.479,22.904 11.287,22.713C11.096,22.521 11,22.283 11,22ZM12,19.05C13.933,19.05 15.583,18.367 16.95,17C18.316,15.633 19,13.983 19,12.05C19,10.117 18.316,8.467 16.95,7.1C15.583,5.733 13.933,5.05 12,5.05C10.066,5.05 8.416,5.733 7.05,7.1C5.683,8.467 5,10.117 5,12.05C5,13.983 5.683,15.633 7.05,17C8.416,18.367 10.066,19.05 12,19.05Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M5,3H11C11.552,3 12,3.448 12,4C12,4.552 11.552,5 11,5H5V19H19V13C19,12.448 19.448,12 20,12C20.552,12 21,12.448 21,13V19C21,20.105 20.105,21 19,21H5C3.895,21 3,20.105 3,19V5C3,3.895 3.895,3 5,3Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
<path
|
||||
android:pathData="M20.233,3.767C19.647,3.181 18.698,3.181 18.112,3.767L17.657,4.222L19.778,6.343L20.233,5.888C20.819,5.303 20.819,4.353 20.233,3.767Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
<path
|
||||
android:pathData="M19.021,7.101L16.899,4.979L8,13.879V16H10.121L19.021,7.101Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M20,19C19.716,19 19.479,18.904 19.288,18.712C19.096,18.521 19,18.283 19,18V15C19,14.167 18.708,13.458 18.125,12.875C17.542,12.292 16.833,12 16,12H6.8L9.725,14.925C9.908,15.108 10,15.333 10,15.6C10,15.867 9.9,16.1 9.7,16.3C9.516,16.483 9.283,16.575 9,16.575C8.716,16.575 8.483,16.483 8.3,16.3L3.7,11.7C3.6,11.6 3.529,11.492 3.488,11.375C3.446,11.258 3.425,11.133 3.425,11C3.425,10.867 3.446,10.742 3.488,10.625C3.529,10.508 3.6,10.4 3.7,10.3L8.325,5.675C8.508,5.492 8.733,5.4 9,5.4C9.266,5.4 9.5,5.5 9.7,5.7C9.883,5.883 9.975,6.117 9.975,6.4C9.975,6.683 9.883,6.917 9.7,7.1L6.8,10H16C17.383,10 18.563,10.487 19.538,11.462C20.513,12.437 21,13.617 21,15V18C21,18.283 20.904,18.521 20.712,18.712C20.521,18.904 20.283,19 20,19Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M9,12.031C9,11.748 9.096,11.51 9.288,11.319C9.479,11.127 9.717,11.031 10,11.031H17.15L15.275,9.156C15.075,8.956 14.975,8.723 14.975,8.456C14.975,8.19 15.083,7.948 15.3,7.731C15.5,7.531 15.738,7.435 16.013,7.444C16.288,7.452 16.517,7.548 16.7,7.731L20.3,11.331C20.4,11.431 20.471,11.54 20.513,11.656C20.554,11.773 20.575,11.898 20.575,12.031C20.575,12.165 20.554,12.29 20.513,12.406C20.471,12.523 20.4,12.631 20.3,12.731L16.7,16.331C16.5,16.531 16.263,16.627 15.988,16.619C15.713,16.61 15.483,16.515 15.3,16.331C15.1,16.131 14.996,15.894 14.988,15.619C14.979,15.344 15.075,15.106 15.275,14.906L17.15,13.031H10C9.717,13.031 9.479,12.935 9.288,12.744C9.096,12.552 9,12.315 9,12.031ZM3,5.031C3,4.481 3.196,4.01 3.588,3.619C3.979,3.227 4.45,3.031 5,3.031H11C11.283,3.031 11.521,3.127 11.713,3.319C11.904,3.51 12,3.748 12,4.031C12,4.315 11.904,4.552 11.713,4.744C11.521,4.935 11.283,5.031 11,5.031L5,5.031L5,19.031H11C11.283,19.031 11.521,19.127 11.713,19.319C11.904,19.51 12,19.748 12,20.031C12,20.315 11.904,20.552 11.713,20.744C11.521,20.935 11.283,21.031 11,21.031H5C4.45,21.031 3.979,20.835 3.588,20.444C3.196,20.052 3,19.581 3,19.031V5.031Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,12C10.9,12 9.958,11.608 9.175,10.825C8.392,10.042 8,9.1 8,8C8,6.9 8.392,5.958 9.175,5.175C9.958,4.392 10.9,4 12,4C13.1,4 14.042,4.392 14.825,5.175C15.608,5.958 16,6.9 16,8C16,9.1 15.608,10.042 14.825,10.825C14.042,11.608 13.1,12 12,12ZM4,18V17.2C4,16.633 4.146,16.112 4.438,15.637C4.729,15.163 5.117,14.8 5.6,14.55C6.633,14.033 7.683,13.646 8.75,13.387C9.817,13.129 10.9,13 12,13C13.1,13 14.183,13.129 15.25,13.387C16.317,13.646 17.367,14.033 18.4,14.55C18.883,14.8 19.271,15.163 19.563,15.637C19.854,16.112 20,16.633 20,17.2V18C20,18.55 19.804,19.021 19.413,19.413C19.021,19.804 18.55,20 18,20H6C5.45,20 4.979,19.804 4.588,19.413C4.196,19.021 4,18.55 4,18ZM6,18H18V17.2C18,17.017 17.954,16.85 17.862,16.7C17.771,16.55 17.65,16.433 17.5,16.35C16.6,15.9 15.692,15.563 14.775,15.337C13.858,15.113 12.933,15 12,15C11.067,15 10.142,15.113 9.225,15.337C8.308,15.563 7.4,15.9 6.5,16.35C6.35,16.433 6.229,16.55 6.137,16.7C6.046,16.85 6,17.017 6,17.2V18ZM12,10C12.55,10 13.021,9.804 13.413,9.413C13.804,9.021 14,8.55 14,8C14,7.45 13.804,6.979 13.413,6.588C13.021,6.196 12.55,6 12,6C11.45,6 10.979,6.196 10.587,6.588C10.196,6.979 10,7.45 10,8C10,8.55 10.196,9.021 10.587,9.413C10.979,9.804 11.45,10 12,10Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M10,12C8.9,12 7.958,11.608 7.175,10.825C6.392,10.042 6,9.1 6,8C6,6.9 6.392,5.958 7.175,5.175C7.958,4.392 8.9,4 10,4C11.1,4 12.042,4.392 12.825,5.175C13.608,5.958 14,6.9 14,8C14,9.1 13.608,10.042 12.825,10.825C12.042,11.608 11.1,12 10,12ZM2,18V17.2C2,16.633 2.146,16.112 2.438,15.637C2.729,15.163 3.117,14.8 3.6,14.55C4.633,14.033 5.683,13.646 6.75,13.387C7.817,13.129 8.9,13 10,13C11.1,13 12.183,13.129 13.25,13.387C14.317,13.646 15.367,14.033 16.4,14.55C16.883,14.8 17.271,15.163 17.563,15.637C17.854,16.112 18,16.633 18,17.2V18C18,18.55 17.804,19.021 17.413,19.413C17.021,19.804 16.55,20 16,20H4C3.45,20 2.979,19.804 2.588,19.413C2.196,19.021 2,18.55 2,18ZM4,18H16V17.2C16,17.017 15.954,16.85 15.863,16.7C15.771,16.55 15.65,16.433 15.5,16.35C14.6,15.9 13.692,15.563 12.775,15.337C11.858,15.113 10.933,15 10,15C9.067,15 8.142,15.113 7.225,15.337C6.308,15.563 5.4,15.9 4.5,16.35C4.35,16.433 4.229,16.55 4.137,16.7C4.046,16.85 4,17.017 4,17.2V18ZM10,10C10.55,10 11.021,9.804 11.413,9.413C11.804,9.021 12,8.55 12,8C12,7.45 11.804,6.979 11.413,6.588C11.021,6.196 10.55,6 10,6C9.45,6 8.979,6.196 8.587,6.588C8.196,6.979 8,7.45 8,8C8,8.55 8.196,9.021 8.587,9.413C8.979,9.804 9.45,10 10,10Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
<path
|
||||
android:pathData="M17,11H19V13C19,13.283 19.096,13.521 19.288,13.712C19.479,13.904 19.717,14 20,14C20.283,14 20.521,13.904 20.712,13.712C20.904,13.521 21,13.283 21,13V11H23C23.283,11 23.521,10.904 23.712,10.712C23.904,10.521 24,10.283 24,10C24,9.717 23.904,9.479 23.712,9.288C23.521,9.096 23.283,9 23,9H21V7C21,6.717 20.904,6.479 20.712,6.287C20.521,6.096 20.283,6 20,6C19.717,6 19.479,6.096 19.288,6.287C19.096,6.479 19,6.717 19,7V9H17C16.717,9 16.479,9.096 16.288,9.288C16.096,9.479 16,9.717 16,10C16,10.283 16.096,10.521 16.288,10.712C16.479,10.904 16.717,11 17,11Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023 New Vector Ltd
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M13,8C13,7.448 12.552,7 12,7C11.448,7 11,7.448 11,8V12C11,12.265 11.105,12.52 11.293,12.707L14.123,15.537C14.513,15.928 15.147,15.928 15.537,15.537C15.928,15.147 15.928,14.513 15.537,14.123L13,11.586V8Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
<path
|
||||
android:pathData="M22,11.915C22,17.438 17.523,21.915 12,21.915C6.477,21.915 2,17.438 2,11.915C2,6.392 6.477,1.915 12,1.915C17.523,1.915 22,6.392 22,11.915ZM20,11.915C20,16.333 16.418,19.915 12,19.915C7.582,19.915 4,16.333 4,11.915C4,7.497 7.582,3.915 12,3.915C16.418,3.915 20,7.497 20,11.915Z"
|
||||
android:fillColor="#1B1D22"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
||||
|
|
@ -59,7 +59,7 @@ class KonsistClassNameTest {
|
|||
.substringBefore("<")
|
||||
.removeSuffix("?")
|
||||
.replace(".", "")
|
||||
it.name.endsWith("Provider") && it.name.contains(providedType)
|
||||
it.name.endsWith("Provider") && (it.name.contains("IconList") || it.name.contains(providedType))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b513c5dc3dcab57aa0161dda218a23bca21591e5d3e74c57affded1ee9160ba8
|
||||
size 23575
|
||||
oid sha256:79f771e31445db99b25df34ae686a940d0bb7e44745abe5ed2da79bf258122ed
|
||||
size 23090
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3a326bbd2a5b8682aba465f5ffe988243893121d4dcc615159982cc1d3a6c52f
|
||||
size 22039
|
||||
oid sha256:e83a879d73aec0356e2a5a2db628183108b2d045a9bbb72d86324419d3407b0f
|
||||
size 21460
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:812de54cf01d30f00db9606f7907f106453eba5f9bba4b9fd38a61d8944e780c
|
||||
size 288364
|
||||
oid sha256:261face86126e646561ef480904b0af7e7aaf990e5a6fd198d0d953f4a613e11
|
||||
size 288233
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc89eabc29dd72962b2ccece5bc003ffaf233b81817acf5b59f4574d4774af41
|
||||
size 391205
|
||||
oid sha256:c935cbdc16bead41781b486da0427a2d6df3530fe8f35a8bb031c660db8e7e73
|
||||
size 391103
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:322558b9928b3e408320e9c002439b0ebd6b09a86c03cd3668ffd64f03d0b5c8
|
||||
size 22317
|
||||
oid sha256:4fe166a1cb630b39bf4d21f78da1cca582a466e7cf50a879546db9ccb123cb7e
|
||||
size 22385
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3555a707ef787466d493247a5198131469c3e61d4f2aaf10e7a86e99f7fcccd6
|
||||
size 41368
|
||||
oid sha256:2ee8c200c15a0b9d9aefb2de0f3dec576742ac4fe59c71ce0ee016cf23415d5a
|
||||
size 41422
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4d902d99d379baa2f4fb0eebb9479fc6c497cf1ed62059cda799f4acea72efd7
|
||||
size 39897
|
||||
oid sha256:cc7691f9c3643ad352bf687a898512b4adb4ea0b12e536ebda3bce7c8f2512d1
|
||||
size 39954
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:322558b9928b3e408320e9c002439b0ebd6b09a86c03cd3668ffd64f03d0b5c8
|
||||
size 22317
|
||||
oid sha256:4fe166a1cb630b39bf4d21f78da1cca582a466e7cf50a879546db9ccb123cb7e
|
||||
size 22385
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2d3b5105a703083f7ef66c74e54232a4626e47c2409637d72170381212e2becd
|
||||
size 22456
|
||||
oid sha256:7e083f35c919d664603c4edeb24a32e9a9e594a480d4b4ebabd92863a77d7af3
|
||||
size 22504
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3700451074385a0cf8601faa11432124b60c05060cf79459b8aab35cefa0bc0c
|
||||
size 20723
|
||||
oid sha256:b1cd421332c29fe6ea004f95c113fa8bfb0ccc64b34c77b5d03c93debf6fd758
|
||||
size 20780
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8e7a461733795c789f0f6507874fbcb7d911b2b93ad0fd44a446d6882def8141
|
||||
size 38048
|
||||
oid sha256:38539e5bf70c45e79cea35d6d5cd15ac1476a51083a177d82eb2765673733fc0
|
||||
size 38110
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a6d34735c7ad55744a0309897d826d6fd2d935ee2ffb7a4f6192d1b5b5e9925e
|
||||
size 36499
|
||||
oid sha256:7d9fb2ef1976c318c4dc7191a10d482e98ceb8651a90cdef933c100cff4bdb6a
|
||||
size 36560
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3700451074385a0cf8601faa11432124b60c05060cf79459b8aab35cefa0bc0c
|
||||
size 20723
|
||||
oid sha256:b1cd421332c29fe6ea004f95c113fa8bfb0ccc64b34c77b5d03c93debf6fd758
|
||||
size 20780
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5c9bba26f9a57eeb103087ed9b630eb9964983db2692e1019a3d6b4fc66c3296
|
||||
size 20888
|
||||
oid sha256:0e197302e95daa0a1bb1461e0564afd234723db0300521c623cc3640c56f431b
|
||||
size 20938
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:85692ea3847fe5a79f955bb71153ccb6e5b24cf451292c7b9d56f26e2eff95b7
|
||||
size 28840
|
||||
oid sha256:1aecc7465d731f46d32ea9222022b6f640a3aa86c81a77c93487d5f35bfcad1b
|
||||
size 28689
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2e7684929f93f437c50549b309e1ba75b95cddb506ad9c8ef97373d0552bddfb
|
||||
size 39017
|
||||
oid sha256:28300c9143f5701e46ed3b8d77e93d34584f82949a335003bab685ffb4cd1434
|
||||
size 38850
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:56f71535fd676a86e79b0e987701d34c85c96276e5338f77117b13e1b3a05144
|
||||
size 45715
|
||||
oid sha256:f79e915bd6c47b424fd34dfa38130a083b00288e0f6eb15c685d78bb9ce29e0b
|
||||
size 45508
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2f594c95c1de47b3fa74add85f87b70005c54ed9230d29967742a8a8291b6844
|
||||
size 46255
|
||||
oid sha256:f332e7d12d5f64a1704d17e5adc42e9eb0ea9ed21a2d116955e2e0e276153182
|
||||
size 46090
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d398070330d5c66358b7ac17d4e1b93795fb9001ffc6eabe533d3bae86de7d58
|
||||
size 39810
|
||||
oid sha256:ecc28b4311d27eaaa1c32128ed3c1f3ca03c5bb0c1390b8685c82caed2d6bc3b
|
||||
size 39662
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d32becec465a3f01e35aac9ebbeb8f48507cc2146f35b8e6c6393bbd410cca3e
|
||||
size 39370
|
||||
oid sha256:6b269d050154e28ebf9b1eaa51856e1199490ea7aecc6439fc567bd3b8cbb7d8
|
||||
size 39224
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e8e50be96a1b204b8187fd76802650569a740a927739135a6b6307481f2d5568
|
||||
size 40453
|
||||
oid sha256:19f262d8c0786fe8e1781c5934e7ff86f89d36decb2d0566ca35772962b3866c
|
||||
size 40306
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:979138753000ada021a67f4bc14a89b912430c4331ac69aa702b2e50c050d7cb
|
||||
size 41200
|
||||
oid sha256:c3ca04db3a4e6096aa75e547fd059a199aca4b91a31b36e3ae84254a08fbfbf1
|
||||
size 41043
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e06e1a32d8c9d06a307a5116a396a03308d5e5486f911d34002139485e7d9ffe
|
||||
size 28176
|
||||
oid sha256:d847380eed52b6842f2926143e189208f11baf8ce906acae23dcf797384cd1c1
|
||||
size 28015
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5df2d3b6e4698867277712214fa526e08a9bf790140cd000cfe2bf94c70e77f4
|
||||
size 27525
|
||||
oid sha256:eabb7309eef1e5bf0d496e053c1531f44262e109b3847e2de5e60ffd6df4e942
|
||||
size 27505
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cb4be22a56036d53f7c394c3829a9f8f09820276d7529ace0d3731965a8a92f9
|
||||
size 37556
|
||||
oid sha256:9740a5e50f62b47a4daccccfb795b6844033b6578227b93584b3e29a949c0448
|
||||
size 37510
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:369e8b4e3f741476cfa5ff7e3f9d5d1e1399fcf3494fadb95540129436ef4d68
|
||||
size 43744
|
||||
oid sha256:6460478383d3dfd4043b129743c508ca6cc7bc64e0635dee51d1de7ba073d3c7
|
||||
size 43672
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bd4fad16706caabe092b40fc2ffbc748db5b763ba649f88fe7463ab17f73ca4e
|
||||
size 44329
|
||||
oid sha256:b561a070230bb3fb50a189a969cda1fa723fb519915c8af0b21ec516a71cc630
|
||||
size 44220
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9b2aaa54bf065e6496957c3a60d61336f65e6b76f97e5dbc773284ee49fac91d
|
||||
size 37988
|
||||
oid sha256:88c8e6bcecef8c8da37603cea72dfdeab1d975d674ff049d8994ab12e9799451
|
||||
size 37939
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a99566280864e66ec327d2d6d8016c74b12f1c62ff27fd0d2d4ba0109ae9756a
|
||||
size 37747
|
||||
oid sha256:2a639070cb7293c750b153489d1b88a946db8231f818063da86ea38bce282863
|
||||
size 37693
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:83f6cbcdbc00c49aed762339769e0f639604286406c46b1336b7757e2aad8b41
|
||||
size 38641
|
||||
oid sha256:d1a18f1544bd6b2f9592acf3e0347792136116b0c5159591cc6bc4a6071638a3
|
||||
size 38557
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:752abe37a810cc8e4b36ae5f4c4aa38c9f22757b6458f272ba991050c69aee53
|
||||
size 39409
|
||||
oid sha256:0c18f92cda3af1e3a5524fd6191b45810e20eb3449335fa357e390465e051be4
|
||||
size 39309
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0c53fdbe427ddb7088d9bd8f9b46a1281d145fd6f9ccc3a7de339750e3079075
|
||||
size 26498
|
||||
oid sha256:04c5ab1c0d9abebd7e189beb5cebecd5dfaa27a90a24ff499ad72a2ab4d003be
|
||||
size 26307
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue