From 842e734554054fd9d0586ec5e271bdaf51a512ab Mon Sep 17 00:00:00 2001 From: Joe Tretter Date: Sat, 2 May 2026 22:22:57 -0500 Subject: [PATCH] Auto-commit after successful build: update app gameplay/UI, improve build setup Changed files:\napp/build.gradle.kts app/src/main/java/solutions/tretter/githugandroid/ManPageDialog.kt app/src/main/java/solutions/tretter/githugandroid/Terminal.kt app/src/main/java/solutions/tretter/githugandroid/TextEditorDialog.kt --- app/build.gradle.kts | 4 +-- .../tretter/githugandroid/ManPageDialog.kt | 26 +++++++++----- .../tretter/githugandroid/Terminal.kt | 13 ++++--- .../tretter/githugandroid/TextEditorDialog.kt | 36 +++++++++++++------ 4 files changed, 54 insertions(+), 25 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4f6be5f..fe7c4d3 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -19,8 +19,8 @@ android { applicationId = "solutions.tretter.githugandroid" minSdk = 26 targetSdk = 35 - versionCode = 99 - versionName = "0.1.98" + versionCode = 100 + versionName = "0.1.99" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true diff --git a/app/src/main/java/solutions/tretter/githugandroid/ManPageDialog.kt b/app/src/main/java/solutions/tretter/githugandroid/ManPageDialog.kt index dfe6d0c..dc7eea3 100644 --- a/app/src/main/java/solutions/tretter/githugandroid/ManPageDialog.kt +++ b/app/src/main/java/solutions/tretter/githugandroid/ManPageDialog.kt @@ -1,12 +1,15 @@ package solutions.tretter.githugandroid import androidx.compose.foundation.background +import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll @@ -32,7 +35,8 @@ fun ManPageDialog( state: ManPageState, onClose: () -> Unit, ) { - val scrollState = rememberScrollState() + val horizontalScrollState = rememberScrollState() + val verticalScrollState = rememberScrollState() Dialog(onDismissRequest = onClose) { Surface( @@ -71,18 +75,24 @@ fun ManPageDialog( color = TextPrimary, fontWeight = FontWeight.Bold, ) - Text( - text = state.content, + Box( modifier = Modifier .fillMaxWidth() .weight(1f) .background(TerminalBackground, RoundedCornerShape(6.dp)) .padding(10.dp) - .verticalScroll(scrollState), - color = TextPrimary, - fontFamily = FontFamily.Monospace, - fontSize = 13.sp, - ) + .horizontalScroll(horizontalScrollState) + .verticalScroll(verticalScrollState), + ) { + Text( + text = state.content, + modifier = Modifier.widthIn(min = 1200.dp), + color = TextPrimary, + fontFamily = FontFamily.Monospace, + fontSize = 13.sp, + softWrap = false, + ) + } } } } diff --git a/app/src/main/java/solutions/tretter/githugandroid/Terminal.kt b/app/src/main/java/solutions/tretter/githugandroid/Terminal.kt index 3e7e58c..b13138b 100644 --- a/app/src/main/java/solutions/tretter/githugandroid/Terminal.kt +++ b/app/src/main/java/solutions/tretter/githugandroid/Terminal.kt @@ -68,7 +68,7 @@ fun TerminalPane( val focusRequester = remember { FocusRequester() } val focusManager = LocalFocusManager.current val keyboardController = LocalSoftwareKeyboardController.current - val horizontalScroll = rememberScrollState() + val outputHorizontalScroll = rememberScrollState() val outputVerticalScroll = rememberScrollState() val terminalMinWidth = 80.dp * 7.2f val terminalPaneMaxHeight = configuration.screenHeightDp.dp * 0.7f @@ -80,7 +80,7 @@ fun TerminalPane( LaunchedEffect(inputFieldVersion) { focusRequester.requestFocus() keyboardController?.show() - horizontalScroll.scrollTo(0) + outputHorizontalScroll.scrollTo(0) } LaunchedEffect(output.size) { @@ -112,14 +112,19 @@ fun TerminalPane( .fillMaxWidth() .background(PanelPrimary, RoundedCornerShape(10.dp)) .padding(8.dp) + .horizontalScroll(outputHorizontalScroll) .verticalScroll(outputVerticalScroll), ) { - Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { + Column( + modifier = Modifier.widthIn(min = terminalMinWidth), + verticalArrangement = Arrangement.spacedBy(4.dp), + ) { output.forEach { line -> Text( text = line, color = if (line.startsWith("✔") || line.startsWith("🏁")) Success else TextSecondary, fontFamily = FontFamily.Monospace, + softWrap = false, ) } } @@ -264,4 +269,4 @@ private fun TerminalKeyButton( fontSize = 11.sp, ) } -} \ No newline at end of file +} diff --git a/app/src/main/java/solutions/tretter/githugandroid/TextEditorDialog.kt b/app/src/main/java/solutions/tretter/githugandroid/TextEditorDialog.kt index e193b10..70f9c28 100644 --- a/app/src/main/java/solutions/tretter/githugandroid/TextEditorDialog.kt +++ b/app/src/main/java/solutions/tretter/githugandroid/TextEditorDialog.kt @@ -1,15 +1,20 @@ package solutions.tretter.githugandroid import androidx.compose.foundation.background +import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.widthIn +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.BasicTextField +import androidx.compose.foundation.verticalScroll import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.OutlinedTextField @@ -41,6 +46,9 @@ fun TextEditorDialog( onClose: () -> Unit, onSave: () -> Unit, ) { + val editorHorizontalScroll = rememberScrollState() + val editorVerticalScroll = rememberScrollState() + Dialog(onDismissRequest = onClose) { Surface( modifier = Modifier @@ -78,22 +86,28 @@ fun TextEditorDialog( singleLine = true, label = { Text("File name") }, ) - BasicTextField( - value = state.content, - onValueChange = onContentChange, + Box( modifier = Modifier .fillMaxWidth() .weight(1f) .heightIn(min = 260.dp) .background(TerminalBackground, RoundedCornerShape(6.dp)) - .padding(10.dp), - textStyle = TextStyle( - color = TextPrimary, - fontFamily = FontFamily.Monospace, - fontSize = 14.sp, - ), - cursorBrush = SolidColor(Accent), - ) + .padding(10.dp) + .horizontalScroll(editorHorizontalScroll) + .verticalScroll(editorVerticalScroll), + ) { + BasicTextField( + value = state.content, + onValueChange = onContentChange, + modifier = Modifier.widthIn(min = 1200.dp), + textStyle = TextStyle( + color = TextPrimary, + fontFamily = FontFamily.Monospace, + fontSize = 14.sp, + ), + cursorBrush = SolidColor(Accent), + ) + } } } }