package com.kawomi.githugandroid import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp @Composable fun ExercisePane( level: Level, visibleHint: String?, suggestionsExpanded: Boolean, onToggleSuggestions: () -> Unit, onHint: () -> Unit, onReset: () -> Unit, ) { Column( modifier = Modifier.fillMaxWidth(), verticalArrangement = Arrangement.spacedBy(12.dp), ) { Text(level.title, style = MaterialTheme.typography.titleLarge, color = TextPrimary) Text(level.description, color = TextSecondary) Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { Button( onClick = onHint, colors = ButtonDefaults.buttonColors( containerColor = Accent, contentColor = Color.Black, ), ) { Text("Hint") } TextButton( onClick = onToggleSuggestions, colors = ButtonDefaults.textButtonColors(containerColor = Accent, contentColor = Color.Black, ), ) { Text("Suggestions") } TextButton( onClick = onReset, colors = ButtonDefaults.textButtonColors(contentColor = Accent), ) { Text("Reset level") } } if (suggestionsExpanded && level.commandSuggestions.isNotEmpty()) { Text("Suggestions", color = TextPrimary, fontWeight = FontWeight.Bold) level.commandSuggestions.forEach { suggestion -> Text(suggestion, color = TextSecondary, fontFamily = FontFamily.Monospace) } } if (visibleHint != null) { Text("Hint", color = TextPrimary, fontWeight = FontWeight.Bold) Text(visibleHint, color = TextSecondary) } } }