8
8
package io.element.android.features.preferences.impl.root
9
9
10
10
import androidx.compose.foundation.clickable
11
+ import androidx.compose.foundation.layout.Column
11
12
import androidx.compose.foundation.layout.ColumnScope
12
13
import androidx.compose.foundation.layout.padding
13
14
import androidx.compose.runtime.Composable
@@ -26,9 +27,11 @@ import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage
26
27
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
27
28
import io.element.android.libraries.designsystem.components.list.ListItemContent
28
29
import io.element.android.libraries.designsystem.components.preferences.PreferencePage
30
+ import io.element.android.libraries.designsystem.preview.ElementPreview
29
31
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
30
32
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
31
33
import io.element.android.libraries.designsystem.preview.PreviewWithLargeHeight
34
+ import io.element.android.libraries.designsystem.preview.PreviewsDayNight
32
35
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
33
36
import io.element.android.libraries.designsystem.theme.components.IconSource
34
37
import io.element.android.libraries.designsystem.theme.components.ListItem
@@ -40,6 +43,7 @@ import io.element.android.libraries.matrix.api.core.DeviceId
40
43
import io.element.android.libraries.matrix.api.user.MatrixUser
41
44
import io.element.android.libraries.matrix.ui.components.MatrixUserProvider
42
45
import io.element.android.libraries.matrix.ui.components.MatrixUserRow
46
+ import io.element.android.libraries.matrix.ui.components.aMatrixUserList
43
47
import io.element.android.libraries.ui.strings.CommonStrings
44
48
45
49
@Composable
@@ -123,10 +127,14 @@ fun PreferencesRootView(
123
127
}
124
128
125
129
@Composable
126
- fun ColumnScope.MultiAccountSection (
130
+ private fun ColumnScope.MultiAccountSection (
127
131
state : PreferencesRootState ,
128
132
onAddAccountClick : () -> Unit ,
129
133
) {
134
+ HorizontalDivider (
135
+ thickness = 8 .dp,
136
+ color = ElementTheme .colors.bgSubtleSecondary,
137
+ )
130
138
state.otherSessions.forEach { matrixUser ->
131
139
MatrixUserRow (
132
140
modifier = Modifier .clickable {
@@ -135,6 +143,7 @@ fun ColumnScope.MultiAccountSection(
135
143
matrixUser = matrixUser,
136
144
avatarSize = AvatarSize .AccountItem ,
137
145
)
146
+ HorizontalDivider ()
138
147
}
139
148
ListItem (
140
149
leadingContent = ListItemContent .Icon (IconSource .Vector (CompoundIcons .Plus ())),
@@ -143,7 +152,10 @@ fun ColumnScope.MultiAccountSection(
143
152
},
144
153
onClick = onAddAccountClick,
145
154
)
146
- HorizontalDivider ()
155
+ HorizontalDivider (
156
+ thickness = 8 .dp,
157
+ color = ElementTheme .colors.bgSubtleSecondary,
158
+ )
147
159
}
148
160
149
161
@Composable
@@ -334,3 +346,17 @@ private fun ContentToPreview(matrixUser: MatrixUser) {
334
346
onDeactivateClick = {},
335
347
)
336
348
}
349
+
350
+ @PreviewsDayNight
351
+ @Composable
352
+ internal fun MultiAccountSectionPreview () = ElementPreview {
353
+ Column {
354
+ MultiAccountSection (
355
+ state = aPreferencesRootState(
356
+ otherSessions = aMatrixUserList(),
357
+ ),
358
+ onAddAccountClick = {},
359
+ )
360
+ }
361
+ }
362
+
0 commit comments