1
1
package com.ismartcoding.plain.ui.components
2
2
3
+ import android.content.ClipData
3
4
import android.content.Context
4
5
import androidx.compose.foundation.ExperimentalFoundationApi
6
+ import androidx.compose.foundation.background
5
7
import androidx.compose.foundation.layout.Column
6
8
import androidx.compose.foundation.layout.Row
7
9
import androidx.compose.foundation.layout.fillMaxWidth
8
10
import androidx.compose.foundation.layout.padding
9
11
import androidx.compose.foundation.pager.HorizontalPager
10
12
import androidx.compose.foundation.pager.rememberPagerState
13
+ import androidx.compose.foundation.shape.RoundedCornerShape
11
14
import androidx.compose.material3.MaterialTheme
12
15
import androidx.compose.material3.Text
13
16
import androidx.compose.material3.TextButton
@@ -26,14 +29,20 @@ import androidx.compose.ui.unit.dp
26
29
import com.ismartcoding.lib.helpers.CoroutinesHelper.withIO
27
30
import com.ismartcoding.plain.R
28
31
import com.ismartcoding.plain.TempData
32
+ import com.ismartcoding.plain.clipboardManager
33
+ import com.ismartcoding.plain.features.locale.LocaleHelper
29
34
import com.ismartcoding.plain.helpers.AppHelper
30
35
import com.ismartcoding.plain.preferences.HttpsPreference
31
36
import com.ismartcoding.plain.preferences.MdnsHostnamePreference
37
+ import com.ismartcoding.plain.ui.base.PIconButton
38
+ import com.ismartcoding.plain.ui.base.PListItem
32
39
import com.ismartcoding.plain.ui.base.PageIndicator
33
40
import com.ismartcoding.plain.ui.base.TextFieldDialog
34
41
import com.ismartcoding.plain.ui.base.Tips
35
42
import com.ismartcoding.plain.ui.base.VerticalSpace
43
+ import com.ismartcoding.plain.ui.helpers.DialogHelper
36
44
import com.ismartcoding.plain.ui.models.MainViewModel
45
+ import com.ismartcoding.plain.ui.theme.PlainTheme
37
46
import kotlinx.coroutines.launch
38
47
39
48
// https://developer.android.com/jetpack/compose/layouts/pager
@@ -62,27 +71,23 @@ fun WebAddress(
62
71
var showHostnameDialog by remember { mutableStateOf(false ) }
63
72
var hostname by remember { mutableStateOf(TempData .mdnsHostname) }
64
73
65
- VerticalSpace (dp = 16 .dp)
74
+ VerticalSpace (dp = 8 .dp)
66
75
67
- // mDNS Hostname section
68
- Row (
69
- modifier = Modifier
76
+ PListItem (
77
+ Modifier
78
+ .padding(horizontal = 16 .dp)
70
79
.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
+ })
86
91
87
92
VerticalSpace (dp = 8 .dp)
88
93
0 commit comments