.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
package ui
|
||||
|
||||
import AutoTradeItem
|
||||
import TradingDecision
|
||||
import network.TradingDecision
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.lazy.grid.GridCells
|
||||
@@ -19,10 +19,6 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.text.input.ImeAction
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.unit.dp
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.CoroutineStart
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import model.CandleData
|
||||
import model.ConfigIndex
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
package ui
|
||||
|
||||
import AutoTradeItem
|
||||
import TradingDecision
|
||||
import network.TradingDecision
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
@@ -18,7 +18,6 @@ import androidx.compose.ui.text.input.VisualTransformation
|
||||
import androidx.compose.ui.text.rememberTextMeasurer
|
||||
import androidx.compose.ui.unit.TextUnit
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.min
|
||||
import androidx.compose.ui.unit.sp
|
||||
import kotlinx.coroutines.launch
|
||||
import model.ConfigIndex
|
||||
|
||||
@@ -128,32 +128,60 @@ fun SettingsScreen(onAuthSuccess: () -> Unit) {
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(), // 필요에 따라 너비 설정
|
||||
verticalAlignment = Alignment.CenterVertically // 상하 중앙 정렬 추가
|
||||
){
|
||||
) {
|
||||
Box(
|
||||
modifier = Modifier.weight(0.5f).height(60.dp).border(1.dp, Color.Gray, RoundedCornerShape(8.dp))
|
||||
.onExternalDrag(onDrop = { state ->
|
||||
val data = state.dragData
|
||||
if (data is DragData.FilesList) {
|
||||
val path = data.readFiles().firstOrNull()?.removePrefix("file:")
|
||||
if (path?.endsWith(".gguf") == true) config = config.copy(modelPath = path,)
|
||||
val rawUri = data.readFiles().firstOrNull()
|
||||
if (rawUri != null) {
|
||||
// 1. file:// 또는 file: 접두사 제거
|
||||
var path = rawUri.removePrefix("file://").removePrefix("file:")
|
||||
|
||||
// 2. 윈도우 환경의 드라이브 문자(예: /C:/) 앞의 슬래시 제거
|
||||
if (path.startsWith("/") && path.getOrNull(2) == ':') {
|
||||
path = path.drop(1)
|
||||
}
|
||||
|
||||
if (path.endsWith(".gguf")) config = config.copy(modelPath = path)
|
||||
}
|
||||
}
|
||||
}),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
Text(if(config.modelPath.isEmpty()) "GGUF 모델 파일을 여기로 드래그하세요" else config.modelPath, fontSize = 12.sp)
|
||||
Text(
|
||||
if (config.modelPath.isEmpty()) "GGUF 모델 파일을 여기로 드래그하세요" else config.modelPath,
|
||||
fontSize = 12.sp
|
||||
)
|
||||
}
|
||||
|
||||
Box(
|
||||
modifier = Modifier.weight(0.5f).height(60.dp).border(1.dp, Color.Gray, RoundedCornerShape(8.dp))
|
||||
.onExternalDrag(onDrop = { state ->
|
||||
val data = state.dragData
|
||||
if (data is DragData.FilesList) {
|
||||
val embedModelPath = data.readFiles().firstOrNull()?.removePrefix("file:")
|
||||
if (embedModelPath?.endsWith(".gguf") == true) config = config.copy(embedModelPath = embedModelPath,)
|
||||
val rawUri = data.readFiles().firstOrNull()
|
||||
if (rawUri != null) {
|
||||
// 1. file:// 또는 file: 접두사 제거
|
||||
var embedModelPath = rawUri.removePrefix("file://").removePrefix("file:")
|
||||
|
||||
// 2. 윈도우 환경의 드라이브 문자(예: /C:/) 앞의 슬래시 제거
|
||||
if (embedModelPath.startsWith("/") && embedModelPath.getOrNull(2) == ':') {
|
||||
embedModelPath = embedModelPath.drop(1)
|
||||
}
|
||||
|
||||
if (embedModelPath.endsWith(".gguf")) config =
|
||||
config.copy(embedModelPath = embedModelPath)
|
||||
}
|
||||
}
|
||||
}),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
Text(if(config.embedModelPath.isEmpty()) "임베드용 GGUF 모델 파일을 여기로 드래그하세요" else config.embedModelPath, fontSize = 12.sp)
|
||||
Text(
|
||||
if (config.embedModelPath.isEmpty()) "임베드용 GGUF 모델 파일을 여기로 드래그하세요" else config.embedModelPath,
|
||||
fontSize = 12.sp
|
||||
)
|
||||
}
|
||||
}
|
||||
Spacer(Modifier.height(10.dp))
|
||||
|
||||
@@ -2,7 +2,7 @@ package ui
|
||||
|
||||
|
||||
|
||||
import TradingDecision
|
||||
import network.TradingDecision
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
|
||||
Reference in New Issue
Block a user