Add ElementCircularProgressIndicator and ElementOutlinedTextField.

This commit is contained in:
Benoit Marty 2023-01-26 17:51:39 +01:00 committed by Benoit Marty
parent e889856d1c
commit 7d85d8da30
8 changed files with 190 additions and 18 deletions

View file

@ -56,6 +56,8 @@ import io.element.android.libraries.designsystem.components.VectorIcon
import io.element.android.libraries.designsystem.components.form.textFieldState
import io.element.android.libraries.designsystem.theme.ElementTheme
import io.element.android.libraries.designsystem.theme.components.ElementButton
import io.element.android.libraries.designsystem.theme.components.ElementCircularProgressIndicator
import io.element.android.libraries.designsystem.theme.components.ElementOutlinedTextField
import io.element.android.libraries.designsystem.theme.components.ElementSurface
import io.element.android.libraries.testtags.TestTags
import io.element.android.libraries.testtags.testTag
@ -126,7 +128,7 @@ fun ChangeServerView(
color = ElementTheme.colors.secondary
)
var homeserverFieldState by textFieldState(stateValue = state.homeserver)
OutlinedTextField(
ElementOutlinedTextField(
value = homeserverFieldState,
modifier = Modifier
.fillMaxWidth()
@ -174,7 +176,7 @@ fun ChangeServerView(
}
}
if (state.changeServerAction is Async.Loading) {
CircularProgressIndicator(
ElementCircularProgressIndicator(
modifier = Modifier.align(Alignment.Center)
)
}

View file

@ -32,11 +32,9 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Visibility
import androidx.compose.material.icons.filled.VisibilityOff
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@ -59,13 +57,14 @@ import io.element.android.features.login.error.loginError
import io.element.android.libraries.designsystem.components.form.textFieldState
import io.element.android.libraries.designsystem.theme.ElementTheme
import io.element.android.libraries.designsystem.theme.components.ElementButton
import io.element.android.libraries.designsystem.theme.components.ElementCircularProgressIndicator
import io.element.android.libraries.designsystem.theme.components.ElementOutlinedTextField
import io.element.android.libraries.designsystem.theme.components.ElementSurface
import io.element.android.libraries.matrix.core.SessionId
import io.element.android.libraries.testtags.TestTags
import io.element.android.libraries.testtags.testTag
import io.element.android.libraries.ui.strings.R as StringR
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun LoginRootScreen(
state: LoginRootState,
@ -112,7 +111,7 @@ fun LoginRootScreen(
Box(
modifier = Modifier.fillMaxWidth()
) {
OutlinedTextField(
ElementOutlinedTextField(
value = state.homeserver,
modifier = Modifier.fillMaxWidth(),
onValueChange = { /* no op */ },
@ -135,7 +134,7 @@ fun LoginRootScreen(
}
)
}
OutlinedTextField(
ElementOutlinedTextField(
value = loginFieldState,
modifier = Modifier
.fillMaxWidth()
@ -158,7 +157,7 @@ fun LoginRootScreen(
// Ensure password is hidden when user submits the form
passwordVisible = false
}
OutlinedTextField(
ElementOutlinedTextField(
value = passwordFieldState,
modifier = Modifier
.fillMaxWidth()
@ -217,7 +216,7 @@ fun LoginRootScreen(
}
}
if (state.loggedInState is LoggedInState.LoggingIn) {
CircularProgressIndicator(
ElementCircularProgressIndicator(
modifier = Modifier.align(Alignment.Center)
)
}

View file

@ -79,6 +79,7 @@ import io.element.android.features.messages.timeline.model.content.TimelineItemU
import io.element.android.libraries.designsystem.components.avatar.Avatar
import io.element.android.libraries.designsystem.components.avatar.AvatarData
import io.element.android.libraries.designsystem.theme.ElementTheme
import io.element.android.libraries.designsystem.theme.components.ElementCircularProgressIndicator
import io.element.android.libraries.designsystem.utils.PairCombinedPreviewParameter
import io.element.android.libraries.matrix.core.EventId
import kotlinx.collections.immutable.ImmutableList
@ -343,7 +344,7 @@ internal fun TimelineLoadingMoreIndicator() {
.padding(8.dp),
contentAlignment = Alignment.Center,
) {
CircularProgressIndicator(
ElementCircularProgressIndicator(
strokeWidth = 2.dp,
color = ElementTheme.colors.primary
)

View file

@ -26,9 +26,6 @@ import androidx.compose.foundation.layout.systemBarsPadding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@ -52,11 +49,12 @@ import io.element.android.libraries.designsystem.components.LabelledCheckbox
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
import io.element.android.libraries.designsystem.components.form.textFieldState
import io.element.android.libraries.designsystem.theme.components.ElementButton
import io.element.android.libraries.designsystem.theme.components.ElementCircularProgressIndicator
import io.element.android.libraries.designsystem.theme.components.ElementOutlinedTextField
import io.element.android.libraries.designsystem.theme.components.ElementSurface
import io.element.android.libraries.designsystem.utils.LogCompositions
import io.element.android.libraries.ui.strings.R as StringR
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun BugReportView(
state: BugReportState,
@ -115,7 +113,7 @@ fun BugReportView(
Column(
// modifier = Modifier.weight(1f),
) {
OutlinedTextField(
ElementOutlinedTextField(
value = descriptionFieldState,
modifier = Modifier
.fillMaxWidth()
@ -195,7 +193,7 @@ fun BugReportView(
}
when (state.sending) {
is Async.Loading -> {
CircularProgressIndicator(
ElementCircularProgressIndicator(
progress = state.sendingProgress,
modifier = Modifier.align(Alignment.Center)
)