Improve ticket copy and parsing

This commit is contained in:
2026-07-03 01:03:39 +02:00
parent 1c525288a5
commit 3e1a5268f4
3 changed files with 48 additions and 5 deletions

View File

@@ -2,12 +2,14 @@ package com.vnidrop.app
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.safeContentPadding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.material3.Button
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
@@ -18,6 +20,8 @@ import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.vnidrop.app.core.CoreRepository
@@ -33,6 +37,7 @@ fun App() {
val repository = remember { CoreRepository() }
val state by repository.state.collectAsState()
val scope = rememberCoroutineScope()
val clipboardManager = LocalClipboardManager.current
var appDataDir by remember { mutableStateOf(platform.defaultCoreDataDir) }
var sourcePath by remember { mutableStateOf("") }
var selectedFile by remember { mutableStateOf<PickedShareFile?>(null) }
@@ -129,7 +134,19 @@ fun App() {
}
state.lastShare?.let { share ->
Text("Ticket")
Text(share.ticket, style = MaterialTheme.typography.bodySmall)
SelectionContainer {
Text(share.ticket, style = MaterialTheme.typography.bodySmall)
}
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Button(onClick = {
clipboardManager.setText(AnnotatedString(share.ticket))
}) {
Text("Copy ticket")
}
Button(onClick = { ticket = share.ticket }) {
Text("Use locally")
}
}
}
}
}