diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f72fd35f..d2f1f4dc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -38,7 +38,9 @@ tools:replace="android:label"> + android:exported="false" + android:parentActivityName=".activities.MainActivity" + android:theme="@style/AppTheme.Slidable" /> + LazyColumn( + modifier = Modifier.padding(innerPadding) + ) { + item { + CustomTextField( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 16.dp) + .padding(top = 16.dp, bottom = 8.dp), + state = name, + placeholder = stringResource(R.string.multi_reddit_name_hint) + ) + } + item { + CustomTextField( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 16.dp) + .padding(top = 8.dp, bottom = 8.dp), + state = description, + placeholder = stringResource(R.string.multi_reddit_description_hint) + ) + } + + item { + SwitchRow( + checked = isPrivate, + title = stringResource(R.string.private_multi_reddit) + ) { + isPrivate = it + } + } + } } } } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/compose/CustomSwitch.kt b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/compose/CustomSwitch.kt new file mode 100644 index 00000000..6123ca80 --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/compose/CustomSwitch.kt @@ -0,0 +1,49 @@ +package ml.docilealligator.infinityforreddit.customviews.compose + +import android.R.attr.checked +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Switch +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import com.google.common.math.LinearTransformation.horizontal + +@Composable +fun SwitchRow( + modifier: Modifier = Modifier, + checked: Boolean, + title: String, + subTitle: String? = null, + onCheckedChange: (Boolean) -> Unit +) { + Row( + modifier = modifier + .fillMaxWidth() + .clickable { + onCheckedChange(!checked); + } + .padding(horizontal = 16.dp, vertical = 8.dp), + verticalAlignment = Alignment.CenterVertically + ) { + Text( + text = title, + color = Color(LocalAppTheme.current.primaryTextColor) + ) + + Spacer(modifier = Modifier.weight(1f)) + + Switch( + checked = checked, + onCheckedChange = onCheckedChange + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/compose/CustomTextField.kt b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/compose/CustomTextField.kt new file mode 100644 index 00000000..272c9fac --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/compose/CustomTextField.kt @@ -0,0 +1,39 @@ +package ml.docilealligator.infinityforreddit.customviews.compose + +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.text.input.TextFieldLineLimits +import androidx.compose.foundation.text.input.TextFieldState +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.OutlinedTextFieldDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color + +@Composable +fun CustomTextField( + modifier: Modifier = Modifier, + state: TextFieldState, + placeholder: String, + lineLimits: TextFieldLineLimits = TextFieldLineLimits.Default +) { + OutlinedTextField( + modifier = modifier, + state = state, + placeholder = { + Text( + text = placeholder, + color = Color(LocalAppTheme.current.secondaryTextColor) + ) + }, + lineLimits = lineLimits, + colors = OutlinedTextFieldDefaults.colors( + focusedTextColor = Color(LocalAppTheme.current.primaryTextColor), + unfocusedTextColor = Color(LocalAppTheme.current.primaryTextColor), + focusedBorderColor = Color(LocalAppTheme.current.primaryTextColor), + unfocusedBorderColor = Color(LocalAppTheme.current.secondaryTextColor), + cursorColor = Color(LocalAppTheme.current.colorPrimary) + ) + ) +} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 89f3ab0e..b3ec7a45 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -47,6 +47,7 @@ Subscription Comment Filter Customize Comment Filter + Copy Multireddit Open navigation drawer Close navigation drawer