@@ -18,6 +18,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
18
18
import androidx.compose.foundation.layout.height
19
19
import androidx.compose.foundation.layout.imePadding
20
20
import androidx.compose.foundation.layout.padding
21
+ import androidx.compose.foundation.layout.size
21
22
import androidx.compose.foundation.lazy.LazyColumn
22
23
import androidx.compose.foundation.lazy.items
23
24
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -46,6 +47,7 @@ import androidx.compose.runtime.snapshots.SnapshotStateList
46
47
import androidx.compose.ui.Alignment
47
48
import androidx.compose.ui.Modifier
48
49
import androidx.compose.ui.platform.LocalContext
50
+ import androidx.compose.ui.text.style.TextAlign
49
51
import androidx.compose.ui.text.style.TextOverflow
50
52
import androidx.compose.ui.unit.dp
51
53
import com.yogeshpaliyal.deepr.Deepr
@@ -61,6 +63,7 @@ import com.yogeshpaliyal.deepr.viewmodel.SortOrder
61
63
import compose.icons.tablericons.Copy
62
64
import compose.icons.tablericons.DotsVertical
63
65
import compose.icons.tablericons.Filter
66
+ import compose.icons.tablericons.Link
64
67
import compose.icons.tablericons.Plus
65
68
import compose.icons.tablericons.Settings
66
69
import compose.icons.tablericons.Trash
@@ -306,12 +309,46 @@ fun DeeprList(
306
309
onShortcutClick : (Deepr ) -> Unit ,
307
310
onItemLongClick : (Deepr ) -> Unit
308
311
) {
309
- LazyColumn (modifier = modifier, contentPadding = PaddingValues (vertical = 8 .dp)) {
310
- if (accounts.isEmpty()) {
311
- item {
312
- Text (text = " No deeplinks found." )
312
+ if (accounts.isEmpty()) {
313
+ // When empty, use a Column with weights to ensure vertical centering
314
+ Column (
315
+ modifier = modifier.fillMaxSize(),
316
+ horizontalAlignment = Alignment .CenterHorizontally
317
+ ) {
318
+ Spacer (modifier = Modifier .weight(1f )) // Push content down
319
+
320
+ Column (
321
+ horizontalAlignment = Alignment .CenterHorizontally ,
322
+ verticalArrangement = Arrangement .Center ,
323
+ modifier = Modifier .padding(16 .dp)
324
+ ) {
325
+ Icon (
326
+ TablerIcons .Link ,
327
+ contentDescription = " No links" ,
328
+ modifier = Modifier
329
+ .size(80 .dp)
330
+ .padding(bottom = 16 .dp),
331
+ tint = MaterialTheme .colorScheme.primary
332
+ )
333
+ Text (
334
+ text = " No deeplinks saved yet" ,
335
+ style = MaterialTheme .typography.headlineSmall,
336
+ textAlign = TextAlign .Center
337
+ )
338
+ Spacer (modifier = Modifier .height(8 .dp))
339
+ Text (
340
+ text = " Save your frequently used deeplinks below to quickly access them later." ,
341
+ style = MaterialTheme .typography.bodyLarge,
342
+ textAlign = TextAlign .Center ,
343
+ color = MaterialTheme .colorScheme.onSurfaceVariant,
344
+ modifier = Modifier .padding(horizontal = 32 .dp)
345
+ )
313
346
}
314
- } else {
347
+
348
+ Spacer (modifier = Modifier .weight(1f )) // Push content up
349
+ }
350
+ } else {
351
+ LazyColumn (modifier = modifier, contentPadding = PaddingValues (vertical = 8 .dp)) {
315
352
items(accounts) { account ->
316
353
DeeprItem (
317
354
account = account,
0 commit comments