11package com.ismartcoding.plain.ui.components
22
3+ import android.content.ClipData
34import android.content.Context
45import androidx.compose.foundation.ExperimentalFoundationApi
6+ import androidx.compose.foundation.background
57import androidx.compose.foundation.layout.Column
68import androidx.compose.foundation.layout.Row
79import androidx.compose.foundation.layout.fillMaxWidth
810import androidx.compose.foundation.layout.padding
911import androidx.compose.foundation.pager.HorizontalPager
1012import androidx.compose.foundation.pager.rememberPagerState
13+ import androidx.compose.foundation.shape.RoundedCornerShape
1114import androidx.compose.material3.MaterialTheme
1215import androidx.compose.material3.Text
1316import androidx.compose.material3.TextButton
@@ -26,14 +29,20 @@ import androidx.compose.ui.unit.dp
2629import com.ismartcoding.lib.helpers.CoroutinesHelper.withIO
2730import com.ismartcoding.plain.R
2831import com.ismartcoding.plain.TempData
32+ import com.ismartcoding.plain.clipboardManager
33+ import com.ismartcoding.plain.features.locale.LocaleHelper
2934import com.ismartcoding.plain.helpers.AppHelper
3035import com.ismartcoding.plain.preferences.HttpsPreference
3136import com.ismartcoding.plain.preferences.MdnsHostnamePreference
37+ import com.ismartcoding.plain.ui.base.PIconButton
38+ import com.ismartcoding.plain.ui.base.PListItem
3239import com.ismartcoding.plain.ui.base.PageIndicator
3340import com.ismartcoding.plain.ui.base.TextFieldDialog
3441import com.ismartcoding.plain.ui.base.Tips
3542import com.ismartcoding.plain.ui.base.VerticalSpace
43+ import com.ismartcoding.plain.ui.helpers.DialogHelper
3644import com.ismartcoding.plain.ui.models.MainViewModel
45+ import com.ismartcoding.plain.ui.theme.PlainTheme
3746import kotlinx.coroutines.launch
3847
3948// https://developer.android.com/jetpack/compose/layouts/pager
@@ -62,27 +71,23 @@ fun WebAddress(
6271 var showHostnameDialog by remember { mutableStateOf(false ) }
6372 var hostname by remember { mutableStateOf(TempData .mdnsHostname) }
6473
65- VerticalSpace (dp = 16 .dp)
74+ VerticalSpace (dp = 8 .dp)
6675
67- // mDNS Hostname section
68- Row (
69- modifier = Modifier
76+ PListItem (
77+ Modifier
78+ .padding(horizontal = 16 .dp)
7079 .fillMaxWidth()
71- .padding(horizontal = 16 .dp),
72- verticalAlignment = Alignment .CenterVertically
73- ) {
74- Text (
75- text = " mDNS: $hostname " ,
76- style = MaterialTheme .typography.bodyLarge,
77- color = MaterialTheme .colorScheme.onSurface
78- )
79-
80- TextButton (
81- onClick = { showHostnameDialog = true }
82- ) {
83- Text (stringResource(id = R .string.edit))
84- }
85- }
80+ .background(
81+ color = MaterialTheme .colorScheme.surfaceContainerHighest,
82+ shape = RoundedCornerShape (12 .dp),
83+ ),
84+ title = " mDNS" ,
85+ subtitle = hostname,
86+ action = {
87+ PIconButton (icon = R .drawable.pen, contentDescription = stringResource(id = R .string.edit), click = {
88+ showHostnameDialog = true
89+ })
90+ })
8691
8792 VerticalSpace (dp = 8 .dp)
8893
0 commit comments