Remove VectorIcons object, inline the values.
This commit is contained in:
parent
90f5537adc
commit
8fedc40008
11 changed files with 51 additions and 96 deletions
|
|
@ -41,7 +41,6 @@ import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.features.createroom.impl.R
|
import io.element.android.features.createroom.impl.R
|
||||||
import io.element.android.features.createroom.impl.components.UserListView
|
import io.element.android.features.createroom.impl.components.UserListView
|
||||||
import io.element.android.libraries.architecture.Async
|
import io.element.android.libraries.architecture.Async
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.components.ProgressDialog
|
import io.element.android.libraries.designsystem.components.ProgressDialog
|
||||||
import io.element.android.libraries.designsystem.components.dialogs.RetryDialog
|
import io.element.android.libraries.designsystem.components.dialogs.RetryDialog
|
||||||
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
||||||
|
|
@ -52,6 +51,7 @@ import io.element.android.libraries.designsystem.theme.components.IconButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
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.Text
|
||||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.theme.ElementTheme
|
import io.element.android.libraries.theme.ElementTheme
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
@ -161,12 +161,12 @@ fun CreateRoomActionButtonsList(
|
||||||
) {
|
) {
|
||||||
Column(modifier = modifier) {
|
Column(modifier = modifier) {
|
||||||
CreateRoomActionButton(
|
CreateRoomActionButton(
|
||||||
iconRes = VectorIcons.Groups,
|
iconRes = CommonDrawables.ic_groups,
|
||||||
text = stringResource(id = R.string.screen_create_room_action_create_room),
|
text = stringResource(id = R.string.screen_create_room_action_create_room),
|
||||||
onClick = onNewRoomClicked,
|
onClick = onNewRoomClicked,
|
||||||
)
|
)
|
||||||
CreateRoomActionButton(
|
CreateRoomActionButton(
|
||||||
iconRes = VectorIcons.Share,
|
iconRes = CommonDrawables.ic_share,
|
||||||
text = stringResource(id = CommonStrings.action_invite_friends_to_app, state.applicationName),
|
text = stringResource(id = CommonStrings.action_invite_friends_to_app, state.applicationName),
|
||||||
onClick = onInvitePeopleClicked,
|
onClick = onInvitePeopleClicked,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ package io.element.android.features.messages.impl.actionlist.model
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
|
|
@ -28,13 +28,13 @@ sealed class TimelineItemAction(
|
||||||
@DrawableRes val icon: Int,
|
@DrawableRes val icon: Int,
|
||||||
val destructive: Boolean = false
|
val destructive: Boolean = false
|
||||||
) {
|
) {
|
||||||
data object Forward : TimelineItemAction(CommonStrings.action_forward, VectorIcons.Forward)
|
data object Forward : TimelineItemAction(CommonStrings.action_forward, CommonDrawables.ic_forward)
|
||||||
data object Copy : TimelineItemAction(CommonStrings.action_copy, VectorIcons.Copy)
|
data object Copy : TimelineItemAction(CommonStrings.action_copy, CommonDrawables.ic_content_copy)
|
||||||
data object Redact : TimelineItemAction(CommonStrings.action_remove, VectorIcons.Delete, destructive = true)
|
data object Redact : TimelineItemAction(CommonStrings.action_remove, CommonDrawables.ic_delete, destructive = true)
|
||||||
data object Reply : TimelineItemAction(CommonStrings.action_reply, VectorIcons.Reply)
|
data object Reply : TimelineItemAction(CommonStrings.action_reply, CommonDrawables.ic_reply)
|
||||||
data object ReplyInThread : TimelineItemAction(CommonStrings.action_reply_in_thread, VectorIcons.Reply)
|
data object ReplyInThread : TimelineItemAction(CommonStrings.action_reply_in_thread, CommonDrawables.ic_reply)
|
||||||
data object Edit : TimelineItemAction(CommonStrings.action_edit, VectorIcons.Edit)
|
data object Edit : TimelineItemAction(CommonStrings.action_edit, CommonDrawables.ic_edit)
|
||||||
data object ViewSource : TimelineItemAction(CommonStrings.action_view_source, VectorIcons.DeveloperMode)
|
data object ViewSource : TimelineItemAction(CommonStrings.action_view_source, CommonDrawables.ic_developer_mode)
|
||||||
data object ReportContent : TimelineItemAction(CommonStrings.action_report_content, VectorIcons.ReportContent, destructive = true)
|
data object ReportContent : TimelineItemAction(CommonStrings.action_report_content, CommonDrawables.ic_report_content, destructive = true)
|
||||||
data object EndPoll : TimelineItemAction(CommonStrings.action_end_poll, VectorIcons.PollEnd)
|
data object EndPoll : TimelineItemAction(CommonStrings.action_end_poll, CommonDrawables.ic_poll_end)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,10 @@ import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.graphicsLayer
|
import androidx.compose.ui.graphics.graphicsLayer
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A swipe indicator that appears when swiping to reply to a message.
|
* A swipe indicator that appears when swiping to reply to a message.
|
||||||
|
|
@ -49,7 +49,7 @@ fun RowScope.ReplySwipeIndicator(
|
||||||
alpha = swipeProgress()
|
alpha = swipeProgress()
|
||||||
},
|
},
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
resourceId = VectorIcons.Reply,
|
resourceId = CommonDrawables.ic_reply,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,6 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt
|
||||||
import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemImageContent
|
import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemImageContent
|
||||||
import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent
|
import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent
|
||||||
import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent
|
import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.colors.AvatarColorsProvider
|
import io.element.android.libraries.designsystem.colors.AvatarColorsProvider
|
||||||
import io.element.android.libraries.designsystem.components.EqualWidthColumn
|
import io.element.android.libraries.designsystem.components.EqualWidthColumn
|
||||||
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
||||||
|
|
@ -89,6 +88,7 @@ import io.element.android.libraries.designsystem.swipe.rememberSwipeableActionsS
|
||||||
import io.element.android.libraries.designsystem.text.toPx
|
import io.element.android.libraries.designsystem.text.toPx
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.core.UserId
|
import io.element.android.libraries.matrix.api.core.UserId
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.AudioMessageType
|
import io.element.android.libraries.matrix.api.timeline.item.event.AudioMessageType
|
||||||
|
|
@ -403,7 +403,11 @@ private fun MessageEventBubbleContent(
|
||||||
horizontalArrangement = spacedBy(4.dp, Alignment.Start),
|
horizontalArrangement = spacedBy(4.dp, Alignment.Start),
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
Icon(resourceId = VectorIcons.ThreadDecoration, contentDescription = null, tint = ElementTheme.colors.iconSecondary)
|
Icon(
|
||||||
|
resourceId = CommonDrawables.ic_thread_decoration,
|
||||||
|
contentDescription = null,
|
||||||
|
tint = ElementTheme.colors.iconSecondary,
|
||||||
|
)
|
||||||
Text(
|
Text(
|
||||||
text = stringResource(CommonStrings.common_thread),
|
text = stringResource(CommonStrings.common_thread),
|
||||||
style = ElementTheme.typography.fontBodyXsRegular,
|
style = ElementTheme.typography.fontBodyXsRegular,
|
||||||
|
|
|
||||||
|
|
@ -32,11 +32,11 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.semantics.Role
|
import androidx.compose.ui.semantics.Role
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.poll.PollAnswer
|
import io.element.android.libraries.matrix.api.poll.PollAnswer
|
||||||
import io.element.android.libraries.matrix.api.poll.PollKind
|
import io.element.android.libraries.matrix.api.poll.PollKind
|
||||||
|
|
@ -87,13 +87,13 @@ private fun PollTitle(
|
||||||
) {
|
) {
|
||||||
if (isPollEnded) {
|
if (isPollEnded) {
|
||||||
Icon(
|
Icon(
|
||||||
resourceId = VectorIcons.PollEnd,
|
resourceId = CommonDrawables.ic_poll_end,
|
||||||
contentDescription = stringResource(id = CommonStrings.a11y_poll_end),
|
contentDescription = stringResource(id = CommonStrings.a11y_poll_end),
|
||||||
modifier = Modifier.size(22.dp)
|
modifier = Modifier.size(22.dp)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Icon(
|
Icon(
|
||||||
resourceId = VectorIcons.Poll,
|
resourceId = CommonDrawables.ic_poll,
|
||||||
contentDescription = stringResource(id = CommonStrings.a11y_poll),
|
contentDescription = stringResource(id = CommonStrings.a11y_poll),
|
||||||
modifier = Modifier.size(22.dp)
|
modifier = Modifier.size(22.dp)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.features.poll.impl.R
|
import io.element.android.features.poll.impl.R
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||||
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
|
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
|
||||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||||
|
|
@ -61,6 +60,7 @@ 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.Text
|
||||||
import io.element.android.libraries.designsystem.theme.components.TextButton
|
import io.element.android.libraries.designsystem.theme.components.TextButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.matrix.api.poll.PollKind
|
import io.element.android.libraries.matrix.api.poll.PollKind
|
||||||
import io.element.android.libraries.theme.ElementTheme
|
import io.element.android.libraries.theme.ElementTheme
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
@ -165,7 +165,7 @@ fun CreatePollView(
|
||||||
},
|
},
|
||||||
trailingContent = ListItemContent.Custom {
|
trailingContent = ListItemContent.Custom {
|
||||||
Icon(
|
Icon(
|
||||||
resourceId = VectorIcons.Delete,
|
resourceId = CommonDrawables.ic_delete,
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
modifier = Modifier.clickable(answer.canDelete) {
|
modifier = Modifier.clickable(answer.canDelete) {
|
||||||
state.eventSink(CreatePollEvents.RemoveAnswer(index))
|
state.eventSink(CreatePollEvents.RemoveAnswer(index))
|
||||||
|
|
|
||||||
|
|
@ -31,12 +31,12 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
|
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.Text
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.theme.ElementTheme
|
import io.element.android.libraries.theme.ElementTheme
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
@ -110,7 +110,7 @@ private fun RoomListModalBottomSheetContent(
|
||||||
modifier = Modifier.clickable { onLeaveRoomClicked(contextMenu.roomId) },
|
modifier = Modifier.clickable { onLeaveRoomClicked(contextMenu.roomId) },
|
||||||
leadingContent = {
|
leadingContent = {
|
||||||
Icon(
|
Icon(
|
||||||
resourceId = VectorIcons.DoorOpen,
|
resourceId = CommonDrawables.ic_door_open_24,
|
||||||
contentDescription = stringResource(id = CommonStrings.action_leave_room),
|
contentDescription = stringResource(id = CommonStrings.action_leave_room),
|
||||||
modifier = Modifier.size(20.dp),
|
modifier = Modifier.size(20.dp),
|
||||||
tint = MaterialTheme.colorScheme.error,
|
tint = MaterialTheme.colorScheme.error,
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
|
import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
|
||||||
import io.element.android.features.roomlist.impl.model.RoomListRoomSummaryProvider
|
import io.element.android.features.roomlist.impl.model.RoomListRoomSummaryProvider
|
||||||
import io.element.android.libraries.core.extensions.orEmpty
|
import io.element.android.libraries.core.extensions.orEmpty
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.atomic.atoms.UnreadIndicatorAtom
|
import io.element.android.libraries.designsystem.atomic.atoms.UnreadIndicatorAtom
|
||||||
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
||||||
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
||||||
|
|
@ -55,6 +54,7 @@ import io.element.android.libraries.designsystem.theme.roomListRoomMessage
|
||||||
import io.element.android.libraries.designsystem.theme.roomListRoomMessageDate
|
import io.element.android.libraries.designsystem.theme.roomListRoomMessageDate
|
||||||
import io.element.android.libraries.designsystem.theme.roomListRoomName
|
import io.element.android.libraries.designsystem.theme.roomListRoomName
|
||||||
import io.element.android.libraries.designsystem.theme.unreadIndicator
|
import io.element.android.libraries.designsystem.theme.unreadIndicator
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||||
import io.element.android.libraries.theme.ElementTheme
|
import io.element.android.libraries.theme.ElementTheme
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
@ -191,13 +191,13 @@ private fun NotificationIcon(room: RoomListRoomSummary) {
|
||||||
RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY ->
|
RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY ->
|
||||||
Icon(
|
Icon(
|
||||||
contentDescription = stringResource(CommonStrings.screen_notification_settings_mode_mentions),
|
contentDescription = stringResource(CommonStrings.screen_notification_settings_mode_mentions),
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Mention),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_mention),
|
||||||
tint = tint,
|
tint = tint,
|
||||||
)
|
)
|
||||||
RoomNotificationMode.MUTE ->
|
RoomNotificationMode.MUTE ->
|
||||||
Icon(
|
Icon(
|
||||||
contentDescription = stringResource(CommonStrings.common_mute),
|
contentDescription = stringResource(CommonStrings.common_mute),
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Mute),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_mute),
|
||||||
tint = tint,
|
tint = tint,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,49 +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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.element.android.libraries.designsystem
|
|
||||||
|
|
||||||
object VectorIcons {
|
|
||||||
val Copy = R.drawable.ic_content_copy
|
|
||||||
val Forward = R.drawable.ic_forward
|
|
||||||
val Delete = R.drawable.ic_delete
|
|
||||||
val Reply = R.drawable.ic_reply
|
|
||||||
val Edit = R.drawable.ic_edit
|
|
||||||
val DoorOpen = R.drawable.ic_door_open_24
|
|
||||||
val DeveloperMode = R.drawable.ic_developer_mode
|
|
||||||
val ReportContent = R.drawable.ic_report_content
|
|
||||||
val Groups = R.drawable.ic_groups
|
|
||||||
val Share = R.drawable.ic_share
|
|
||||||
val Poll = R.drawable.ic_poll
|
|
||||||
val PollEnd = R.drawable.ic_poll_end
|
|
||||||
val Bold = R.drawable.ic_bold
|
|
||||||
val BulletList = R.drawable.ic_bullet_list
|
|
||||||
val CodeBlock = R.drawable.ic_code_block
|
|
||||||
val IndentIncrease = R.drawable.ic_indent_increase
|
|
||||||
val IndentDecrease = R.drawable.ic_indent_decrease
|
|
||||||
val InlineCode = R.drawable.ic_inline_code
|
|
||||||
val Italic = R.drawable.ic_italic
|
|
||||||
val Link = R.drawable.ic_link
|
|
||||||
val NumberedList = R.drawable.ic_numbered_list
|
|
||||||
val Quote = R.drawable.ic_quote
|
|
||||||
val Strikethrough = R.drawable.ic_strikethrough
|
|
||||||
val Underline = R.drawable.ic_underline
|
|
||||||
val Mention = R.drawable.ic_mention
|
|
||||||
val Mute = R.drawable.ic_mute
|
|
||||||
val ThreadDecoration = R.drawable.ic_thread_decoration
|
|
||||||
val Plus = R.drawable.ic_plus
|
|
||||||
val Cancel = R.drawable.ic_cancel
|
|
||||||
}
|
|
||||||
|
|
@ -61,13 +61,13 @@ import androidx.compose.ui.unit.dp
|
||||||
import androidx.constraintlayout.compose.ConstraintLayout
|
import androidx.constraintlayout.compose.ConstraintLayout
|
||||||
import androidx.constraintlayout.compose.Dimension.Companion.fillToConstraints
|
import androidx.constraintlayout.compose.Dimension.Companion.fillToConstraints
|
||||||
import androidx.constraintlayout.compose.Visibility
|
import androidx.constraintlayout.compose.Visibility
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.text.applyScaleUp
|
import io.element.android.libraries.designsystem.text.applyScaleUp
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
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.IconButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.core.TransactionId
|
import io.element.android.libraries.matrix.api.core.TransactionId
|
||||||
import io.element.android.libraries.matrix.api.media.MediaSource
|
import io.element.android.libraries.matrix.api.media.MediaSource
|
||||||
|
|
@ -137,7 +137,7 @@ fun TextComposer(
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
modifier = Modifier.size(30.dp.applyScaleUp()),
|
modifier = Modifier.size(30.dp.applyScaleUp()),
|
||||||
resourceId = VectorIcons.Plus,
|
resourceId = CommonDrawables.ic_plus,
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_a11y_add_attachment),
|
contentDescription = stringResource(R.string.rich_text_editor_a11y_add_attachment),
|
||||||
tint = ElementTheme.colors.iconPrimary,
|
tint = ElementTheme.colors.iconPrimary,
|
||||||
)
|
)
|
||||||
|
|
@ -316,7 +316,7 @@ private fun TextFormatting(
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
modifier = Modifier.size(30.dp.applyScaleUp()),
|
modifier = Modifier.size(30.dp.applyScaleUp()),
|
||||||
resourceId = VectorIcons.Cancel,
|
resourceId = CommonDrawables.ic_cancel,
|
||||||
contentDescription = stringResource(CommonStrings.action_close),
|
contentDescription = stringResource(CommonStrings.action_close),
|
||||||
tint = ElementTheme.colors.iconPrimary,
|
tint = ElementTheme.colors.iconPrimary,
|
||||||
)
|
)
|
||||||
|
|
@ -339,25 +339,25 @@ private fun TextFormatting(
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.BOLD].toButtonState(),
|
state = state.actions[ComposerAction.BOLD].toButtonState(),
|
||||||
onClick = { state.toggleInlineFormat(InlineFormat.Bold) },
|
onClick = { state.toggleInlineFormat(InlineFormat.Bold) },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Bold),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_bold),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_format_bold)
|
contentDescription = stringResource(R.string.rich_text_editor_format_bold)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.ITALIC].toButtonState(),
|
state = state.actions[ComposerAction.ITALIC].toButtonState(),
|
||||||
onClick = { state.toggleInlineFormat(InlineFormat.Italic) },
|
onClick = { state.toggleInlineFormat(InlineFormat.Italic) },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Italic),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_italic),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_format_italic)
|
contentDescription = stringResource(R.string.rich_text_editor_format_italic)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.UNDERLINE].toButtonState(),
|
state = state.actions[ComposerAction.UNDERLINE].toButtonState(),
|
||||||
onClick = { state.toggleInlineFormat(InlineFormat.Underline) },
|
onClick = { state.toggleInlineFormat(InlineFormat.Underline) },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Underline),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_underline),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_format_underline)
|
contentDescription = stringResource(R.string.rich_text_editor_format_underline)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.STRIKE_THROUGH].toButtonState(),
|
state = state.actions[ComposerAction.STRIKE_THROUGH].toButtonState(),
|
||||||
onClick = { state.toggleInlineFormat(InlineFormat.StrikeThrough) },
|
onClick = { state.toggleInlineFormat(InlineFormat.StrikeThrough) },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Strikethrough),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_strikethrough),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_format_strikethrough)
|
contentDescription = stringResource(R.string.rich_text_editor_format_strikethrough)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -376,50 +376,50 @@ private fun TextFormatting(
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.LINK].toButtonState(),
|
state = state.actions[ComposerAction.LINK].toButtonState(),
|
||||||
onClick = { linkDialogAction = state.linkAction },
|
onClick = { linkDialogAction = state.linkAction },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Link),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_link),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_link)
|
contentDescription = stringResource(R.string.rich_text_editor_link)
|
||||||
)
|
)
|
||||||
|
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.UNORDERED_LIST].toButtonState(),
|
state = state.actions[ComposerAction.UNORDERED_LIST].toButtonState(),
|
||||||
onClick = { state.toggleList(ordered = false) },
|
onClick = { state.toggleList(ordered = false) },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.BulletList),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_bullet_list),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_bullet_list)
|
contentDescription = stringResource(R.string.rich_text_editor_bullet_list)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.ORDERED_LIST].toButtonState(),
|
state = state.actions[ComposerAction.ORDERED_LIST].toButtonState(),
|
||||||
onClick = { state.toggleList(ordered = true) },
|
onClick = { state.toggleList(ordered = true) },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.NumberedList),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_numbered_list),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_numbered_list)
|
contentDescription = stringResource(R.string.rich_text_editor_numbered_list)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.INDENT].toButtonState(),
|
state = state.actions[ComposerAction.INDENT].toButtonState(),
|
||||||
onClick = { state.indent() },
|
onClick = { state.indent() },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.IndentIncrease),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_indent_increase),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_indent)
|
contentDescription = stringResource(R.string.rich_text_editor_indent)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.UNINDENT].toButtonState(),
|
state = state.actions[ComposerAction.UNINDENT].toButtonState(),
|
||||||
onClick = { state.unindent() },
|
onClick = { state.unindent() },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.IndentDecrease),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_indent_decrease),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_unindent)
|
contentDescription = stringResource(R.string.rich_text_editor_unindent)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.INLINE_CODE].toButtonState(),
|
state = state.actions[ComposerAction.INLINE_CODE].toButtonState(),
|
||||||
onClick = { state.toggleInlineFormat(InlineFormat.InlineCode) },
|
onClick = { state.toggleInlineFormat(InlineFormat.InlineCode) },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.InlineCode),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_inline_code),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_inline_code)
|
contentDescription = stringResource(R.string.rich_text_editor_inline_code)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.CODE_BLOCK].toButtonState(),
|
state = state.actions[ComposerAction.CODE_BLOCK].toButtonState(),
|
||||||
onClick = { state.toggleCodeBlock() },
|
onClick = { state.toggleCodeBlock() },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.CodeBlock),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_code_block),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_code_block)
|
contentDescription = stringResource(R.string.rich_text_editor_code_block)
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = state.actions[ComposerAction.QUOTE].toButtonState(),
|
state = state.actions[ComposerAction.QUOTE].toButtonState(),
|
||||||
onClick = { state.toggleQuote() },
|
onClick = { state.toggleQuote() },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Quote),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_quote),
|
||||||
contentDescription = stringResource(R.string.rich_text_editor_quote)
|
contentDescription = stringResource(R.string.rich_text_editor_quote)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -477,7 +477,7 @@ private fun EditingModeView(
|
||||||
.padding(start = 12.dp)
|
.padding(start = 12.dp)
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
resourceId = VectorIcons.Edit,
|
resourceId = CommonDrawables.ic_edit,
|
||||||
contentDescription = stringResource(CommonStrings.common_editing),
|
contentDescription = stringResource(CommonStrings.common_editing),
|
||||||
tint = ElementTheme.materialColors.secondary,
|
tint = ElementTheme.materialColors.secondary,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
|
|
||||||
|
|
@ -32,12 +32,12 @@ import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.res.vectorResource
|
import androidx.compose.ui.res.vectorResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
|
||||||
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.text.applyScaleUp
|
import io.element.android.libraries.designsystem.text.applyScaleUp
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.iconSuccessPrimaryBackground
|
import io.element.android.libraries.designsystem.theme.iconSuccessPrimaryBackground
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.theme.ElementTheme
|
import io.element.android.libraries.theme.ElementTheme
|
||||||
import io.element.android.libraries.theme.compound.generated.SemanticColors
|
import io.element.android.libraries.theme.compound.generated.SemanticColors
|
||||||
|
|
||||||
|
|
@ -96,19 +96,19 @@ internal fun FormattingButtonPreview() = ElementPreview {
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = FormattingOptionState.Default,
|
state = FormattingOptionState.Default,
|
||||||
onClick = { },
|
onClick = { },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Bold),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_bold),
|
||||||
contentDescription = "",
|
contentDescription = "",
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = FormattingOptionState.Selected,
|
state = FormattingOptionState.Selected,
|
||||||
onClick = { },
|
onClick = { },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Italic),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_italic),
|
||||||
contentDescription = "",
|
contentDescription = "",
|
||||||
)
|
)
|
||||||
FormattingOption(
|
FormattingOption(
|
||||||
state = FormattingOptionState.Disabled,
|
state = FormattingOptionState.Disabled,
|
||||||
onClick = { },
|
onClick = { },
|
||||||
imageVector = ImageVector.vectorResource(VectorIcons.Underline),
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_underline),
|
||||||
contentDescription = "",
|
contentDescription = "",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue