From 491a122c01297f802173d7ffef12f9717175ff1f Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Fri, 15 Aug 2025 19:30:50 -0600 Subject: [PATCH] 0.3.0 - Filtering and Better Scales --- .../executionHistory/executionHistory.bin | Bin 6685696 -> 7359812 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/8.11.1/fileHashes/fileHashes.bin | Bin 348546 -> 391914 bytes .gradle/8.11.1/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.11.1/fileHashes/resourceHashesCache.bin | Bin 208633 -> 228625 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .gradle/file-system.probe | Bin 8 -> 8 bytes app/build.gradle.kts | 4 +- .../atridad/openclimb/data/model/ClimbType.kt | 10 +- .../openclimb/data/model/DifficultySystem.kt | 63 +++++- .../com/atridad/openclimb/ui/OpenClimbApp.kt | 13 +- .../openclimb/ui/screens/AddEditScreens.kt | 209 +++++++++++++----- .../openclimb/ui/screens/DetailScreens.kt | 132 ++++++++--- .../openclimb/ui/screens/GymsScreen.kt | 4 +- .../openclimb/ui/screens/ProblemsScreen.kt | 121 +++++++++- 15 files changed, 446 insertions(+), 110 deletions(-) diff --git a/.gradle/8.11.1/executionHistory/executionHistory.bin b/.gradle/8.11.1/executionHistory/executionHistory.bin index 9082f3dd785b56e2e3e7d6dfec6dabad8a33e1fb..d07e8720e4fcea99ca2fcab9cc3b6ca651493f50 100644 GIT binary patch delta 121779 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 delta 28062 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 IlS?Q57w4-ibN~PV diff --git a/.gradle/8.11.1/executionHistory/executionHistory.lock b/.gradle/8.11.1/executionHistory/executionHistory.lock index 777c4ad96382f2d4046dce8237042b2b0e9a4c51..e4ae4ba7dc971103086ad83cef0a633c61edb6a1 100644 GIT binary patch literal 17 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�frf9F&BH;I|6&Lv7jG^~|v24n~3^%j;qoaQ{g` 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 R4sq%HODyDXpJwhH`X643|7`#O diff --git a/.gradle/8.11.1/fileHashes/fileHashes.lock b/.gradle/8.11.1/fileHashes/fileHashes.lock index afca94562e5d497b3bf17e207a76f3d51155f15d..806fb38571413e3f698b0a52560838e171a861e8 100644 GIT binary patch literal 17 VcmZSH(KYkey{zPV1~6!60RTZq1&#m! literal 17 VcmZSH(KYkey{zPV1~4e{1OP!|1-<|P diff --git a/.gradle/8.11.1/fileHashes/resourceHashesCache.bin b/.gradle/8.11.1/fileHashes/resourceHashesCache.bin index 5e3c92b39276ff2ef663f34fe1fc40032b54c53b..9f19ded5ac183a36c87cd97cb3f43c2e50dfb4e8 100644 GIT binary patch delta 14649 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 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index e80a677fce6701d08e264316eb5e10d52706d9ad..5d57690466fecb2b11380b244b86460ae452ccb7 100644 GIT binary patch literal 17 VcmZQRcfe?sw8Rc81~3rc3IH%G1YZCE literal 17 VcmZQRcfe?sw8Rc81~3r$2LLc`1f>7~ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index f3056cd5fc06efa9086dcf40a3962683bf2bf5e9..e40efa0bf2c3af341e356ee4d17452b766d38bc7 100644 GIT binary patch literal 8 PcmZQzV4Sg`a@HCE2@wMc literal 8 PcmZQzV4ShOxNQjl2+IQI diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1c7b3eb..eeb49ae 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,8 +14,8 @@ android { applicationId = "com.atridad.openclimb" minSdk = 31 targetSdk = 35 - versionCode = 2 - versionName = "0.2.0" + versionCode = 3 + versionName = "0.3.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/com/atridad/openclimb/data/model/ClimbType.kt b/app/src/main/java/com/atridad/openclimb/data/model/ClimbType.kt index 47813c1..cfd991d 100644 --- a/app/src/main/java/com/atridad/openclimb/data/model/ClimbType.kt +++ b/app/src/main/java/com/atridad/openclimb/data/model/ClimbType.kt @@ -5,5 +5,13 @@ import kotlinx.serialization.Serializable @Serializable enum class ClimbType { ROPE, - BOULDER + BOULDER; + + /** + * Get the display name for the UI + */ + fun getDisplayName(): String = when (this) { + ROPE -> "Rope" + BOULDER -> "Bouldering" + } } diff --git a/app/src/main/java/com/atridad/openclimb/data/model/DifficultySystem.kt b/app/src/main/java/com/atridad/openclimb/data/model/DifficultySystem.kt index f7fb35d..e89b87b 100644 --- a/app/src/main/java/com/atridad/openclimb/data/model/DifficultySystem.kt +++ b/app/src/main/java/com/atridad/openclimb/data/model/DifficultySystem.kt @@ -4,23 +4,68 @@ import kotlinx.serialization.Serializable @Serializable enum class DifficultySystem { - // Rope climbing systems - YDS, // Yosemite Decimal System (5.1 - 5.15d) - FRENCH, // French system (3 - 9c+) - UIAA, // UIAA system (I - XII+) - BRITISH, // British system (Mod - E11) - // Bouldering systems V_SCALE, // V-Scale (VB - V17) - FONT, // Fontainebleau (3 - 9A+) + FONT, // Fontainebleau (3 - 8C+) + + // Rope climbing systems + YDS, // Yosemite Decimal System (5.0 - 5.15d) // Custom system for gyms that use their own colors/naming - CUSTOM + CUSTOM; + + /** + * Get the display name for the UI + */ + fun getDisplayName(): String = when (this) { + V_SCALE -> "V Scale" + FONT -> "Font Scale" + YDS -> "YDS (Yosemite)" + CUSTOM -> "Custom" + } + + /** + * Check if this system is for bouldering + */ + fun isBoulderingSystem(): Boolean = when (this) { + V_SCALE, FONT -> true + YDS -> false + CUSTOM -> true // Custom is available for all + } + + /** + * Check if this system is for rope climbing + */ + fun isRopeSystem(): Boolean = when (this) { + YDS -> true + V_SCALE, FONT -> false + CUSTOM -> true // Custom is available for all + } + + /** + * Get available grades for this difficulty system + */ + fun getAvailableGrades(): List = when (this) { + V_SCALE -> listOf("VB", "V0", "V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", "V17") + FONT -> listOf("3", "4A", "4B", "4C", "5A", "5B", "5C", "6A", "6A+", "6B", "6B+", "6C", "6C+", "7A", "7A+", "7B", "7B+", "7C", "7C+", "8A", "8A+", "8B", "8B+", "8C", "8C+") + YDS -> listOf("5.0", "5.1", "5.2", "5.3", "5.4", "5.5", "5.6", "5.7", "5.8", "5.9", "5.10a", "5.10b", "5.10c", "5.10d", "5.11a", "5.11b", "5.11c", "5.11d", "5.12a", "5.12b", "5.12c", "5.12d", "5.13a", "5.13b", "5.13c", "5.13d", "5.14a", "5.14b", "5.14c", "5.14d", "5.15a", "5.15b", "5.15c", "5.15d") + CUSTOM -> emptyList() // Custom allows free text input + } + + companion object { + /** + * Get all difficulty systems available for a specific climb type + */ + fun getSystemsForClimbType(climbType: ClimbType): List = when (climbType) { + ClimbType.BOULDER -> entries.filter { it.isBoulderingSystem() } + ClimbType.ROPE -> entries.filter { it.isRopeSystem() } + } + } } @Serializable data class DifficultyGrade( val system: DifficultySystem, val grade: String, - val numericValue: Int // For comparison and analytics + val numericValue: Int ) diff --git a/app/src/main/java/com/atridad/openclimb/ui/OpenClimbApp.kt b/app/src/main/java/com/atridad/openclimb/ui/OpenClimbApp.kt index 4dcfd98..357d4b6 100644 --- a/app/src/main/java/com/atridad/openclimb/ui/OpenClimbApp.kt +++ b/app/src/main/java/com/atridad/openclimb/ui/OpenClimbApp.kt @@ -28,7 +28,6 @@ fun OpenClimbApp() { val navController = rememberNavController() val context = LocalContext.current val currentBackStackEntry by navController.currentBackStackEntryAsState() - val currentDestination = currentBackStackEntry?.destination?.route val database = remember { OpenClimbDatabase.getDatabase(context) } val repository = remember { ClimbRepository(database, context) } @@ -247,17 +246,15 @@ fun OpenClimbBottomNavigation(navController: NavHostController) { selected = isSelected, onClick = { navController.navigate(item.screen) { - // Pop up to the start destination of the graph to - // avoid building up a large stack of destinations - // on the back stack as users select items - popUpTo(Screen.Sessions) { - saveState = true + // Clear the entire back stack and go to the selected tab's root screen + popUpTo(0) { + inclusive = true } // Avoid multiple copies of the same destination when // reselecting the same item launchSingleTop = true - // Restore state when reselecting a previously selected item - restoreState = true + // Don't restore state - always start fresh when switching tabs + restoreState = false } } ) diff --git a/app/src/main/java/com/atridad/openclimb/ui/screens/AddEditScreens.kt b/app/src/main/java/com/atridad/openclimb/ui/screens/AddEditScreens.kt index c629703..7cf7cb0 100644 --- a/app/src/main/java/com/atridad/openclimb/ui/screens/AddEditScreens.kt +++ b/app/src/main/java/com/atridad/openclimb/ui/screens/AddEditScreens.kt @@ -47,6 +47,34 @@ fun AddEditGymScreen( val isEditing = gymId != null + // Calculate available difficulty systems based on selected climb types + val availableDifficultySystems = if (selectedClimbTypes.isEmpty()) { + emptyList() + } else { + selectedClimbTypes.flatMap { climbType -> + DifficultySystem.getSystemsForClimbType(climbType) + }.distinct() + } + + // Reset selected difficulty systems when available systems change + LaunchedEffect(availableDifficultySystems) { + selectedDifficultySystems = selectedDifficultySystems.filter { it in availableDifficultySystems }.toSet() + } + + // Load existing gym data for editing + LaunchedEffect(gymId) { + if (gymId != null) { + val existingGym = viewModel.getGymById(gymId).first() + existingGym?.let { gym -> + name = gym.name + location = gym.location ?: "" + notes = gym.notes ?: "" + selectedClimbTypes = gym.supportedClimbTypes.toSet() + selectedDifficultySystems = gym.difficultySystems.toSet() + } + } + } + Scaffold( topBar = { TopAppBar( @@ -59,20 +87,16 @@ fun AddEditGymScreen( actions = { TextButton( onClick = { - val gym = if (isEditing) { - Gym.create(name, location, selectedClimbTypes.toList(), selectedDifficultySystems.toList(), notes = notes) - } else { - Gym.create(name, location, selectedClimbTypes.toList(), selectedDifficultySystems.toList(), notes = notes) - } + val gym = Gym.create(name, location, selectedClimbTypes.toList(), selectedDifficultySystems.toList(), notes = notes) if (isEditing) { - viewModel.updateGym(gym) + viewModel.updateGym(gym.copy(id = gymId!!)) } else { viewModel.addGym(gym) } onNavigateBack() }, - enabled = name.isNotBlank() && selectedClimbTypes.isNotEmpty() + enabled = name.isNotBlank() && selectedClimbTypes.isNotEmpty() && selectedDifficultySystems.isNotEmpty() ) { Text("Save") } @@ -142,7 +166,7 @@ fun AddEditGymScreen( onCheckedChange = null ) Spacer(modifier = Modifier.width(8.dp)) - Text(climbType.name.lowercase().replaceFirstChar { it.uppercase() }) + Text(climbType.getDisplayName()) } } } @@ -163,29 +187,38 @@ fun AddEditGymScreen( Spacer(modifier = Modifier.height(8.dp)) - DifficultySystem.entries.forEach { system -> - Row( - verticalAlignment = Alignment.CenterVertically, - modifier = Modifier - .fillMaxWidth() - .selectable( - selected = system in selectedDifficultySystems, - onClick = { - selectedDifficultySystems = if (system in selectedDifficultySystems) { - selectedDifficultySystems - system - } else { - selectedDifficultySystems + system - } - }, - role = Role.Checkbox + if (selectedClimbTypes.isEmpty()) { + Text( + text = "Select climb types first to see available difficulty systems", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + modifier = Modifier.padding(vertical = 8.dp) + ) + } else { + availableDifficultySystems.forEach { system -> + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .fillMaxWidth() + .selectable( + selected = system in selectedDifficultySystems, + onClick = { + selectedDifficultySystems = if (system in selectedDifficultySystems) { + selectedDifficultySystems - system + } else { + selectedDifficultySystems + system + } + }, + role = Role.Checkbox + ) + ) { + Checkbox( + checked = system in selectedDifficultySystems, + onCheckedChange = null ) - ) { - Checkbox( - checked = system in selectedDifficultySystems, - onCheckedChange = null - ) - Spacer(modifier = Modifier.width(8.dp)) - Text(system.name) + Spacer(modifier = Modifier.width(8.dp)) + Text(system.getDisplayName()) + } } } } @@ -244,6 +277,8 @@ fun AddEditProblemScreen( notes = p.notes ?: "" isActive = p.isActive imagePaths = p.imagePaths + // Set the selected gym for the existing problem + selectedGym = gyms.find { it.id == p.gymId } } } } @@ -254,8 +289,39 @@ fun AddEditProblemScreen( } } - val availableDifficultySystems = selectedGym?.difficultySystems ?: DifficultySystem.entries.toList() val availableClimbTypes = selectedGym?.supportedClimbTypes ?: ClimbType.entries.toList() + val availableDifficultySystems = DifficultySystem.getSystemsForClimbType(selectedClimbType).filter { system -> + selectedGym?.difficultySystems?.contains(system) ?: true + } + + // Auto-select climb type if there's only one available + LaunchedEffect(availableClimbTypes) { + if (availableClimbTypes.size == 1 && selectedClimbType != availableClimbTypes.first()) { + selectedClimbType = availableClimbTypes.first() + } + } + + // Auto-select or reset difficulty system based on climb type + LaunchedEffect(selectedClimbType, availableDifficultySystems) { + when { + // If current system is not compatible, select the first available one + selectedDifficultySystem !in availableDifficultySystems -> { + selectedDifficultySystem = availableDifficultySystems.firstOrNull() ?: DifficultySystem.CUSTOM + } + // If there's only one available system and nothing is selected, auto-select it + availableDifficultySystems.size == 1 && selectedDifficultySystem != availableDifficultySystems.first() -> { + selectedDifficultySystem = availableDifficultySystems.first() + } + } + } + + // Reset grade when difficulty system changes (unless it's a valid grade for the new system) + LaunchedEffect(selectedDifficultySystem) { + val availableGrades = selectedDifficultySystem.getAvailableGrades() + if (availableGrades.isNotEmpty() && difficultyGrade !in availableGrades) { + difficultyGrade = "" + } + } Scaffold( topBar = { @@ -437,7 +503,7 @@ fun AddEditProblemScreen( availableClimbTypes.forEach { climbType -> FilterChip( onClick = { selectedClimbType = climbType }, - label = { Text(climbType.name.lowercase().replaceFirstChar { it.uppercase() }) }, + label = { Text(climbType.getDisplayName()) }, selected = selectedClimbType == climbType ) } @@ -476,7 +542,7 @@ fun AddEditProblemScreen( items(availableDifficultySystems) { system -> FilterChip( onClick = { selectedDifficultySystem = system }, - label = { Text(system.name) }, + label = { Text(system.getDisplayName()) }, selected = selectedDifficultySystem == system ) } @@ -484,23 +550,51 @@ fun AddEditProblemScreen( Spacer(modifier = Modifier.height(8.dp)) - OutlinedTextField( - value = difficultyGrade, - onValueChange = { difficultyGrade = it }, - label = { Text("Grade *") }, - modifier = Modifier.fillMaxWidth(), - singleLine = true, - placeholder = { - Text(when (selectedDifficultySystem) { - DifficultySystem.V_SCALE -> "e.g., V0, V4, V10" - DifficultySystem.FONT -> "e.g., 3, 6A+, 8B" - DifficultySystem.YDS -> "e.g., 5.8, 5.12a" - DifficultySystem.FRENCH -> "e.g., 6a, 7c+" - DifficultySystem.CUSTOM -> "Custom grade" - else -> "Enter grade" - }) + if (selectedDifficultySystem == DifficultySystem.CUSTOM) { + OutlinedTextField( + value = difficultyGrade, + onValueChange = { difficultyGrade = it }, + label = { Text("Grade *") }, + modifier = Modifier.fillMaxWidth(), + singleLine = true, + placeholder = { Text("Enter custom grade") } + ) + } else { + var expanded by remember { mutableStateOf(false) } + val availableGrades = selectedDifficultySystem.getAvailableGrades() + + ExposedDropdownMenuBox( + expanded = expanded, + onExpandedChange = { expanded = !expanded }, + modifier = Modifier.fillMaxWidth() + ) { + OutlinedTextField( + value = difficultyGrade, + onValueChange = { }, + readOnly = true, + label = { Text("Grade *") }, + trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded) }, + colors = ExposedDropdownMenuDefaults.outlinedTextFieldColors(), + modifier = Modifier + .menuAnchor() + .fillMaxWidth() + ) + ExposedDropdownMenu( + expanded = expanded, + onDismissRequest = { expanded = false } + ) { + availableGrades.forEach { grade -> + DropdownMenuItem( + text = { Text(grade) }, + onClick = { + difficultyGrade = grade + expanded = false + } + ) + } + } } - ) + } } } } @@ -617,6 +711,19 @@ fun AddEditSessionScreen( var attempts by remember { mutableStateOf(listOf()) } var showAddAttemptDialog by remember { mutableStateOf(false) } + // Load existing session data for editing + LaunchedEffect(sessionId) { + if (sessionId != null) { + val existingSession = viewModel.getSessionById(sessionId).first() + existingSession?.let { session -> + selectedGym = gyms.find { it.id == session.gymId } + sessionDate = session.date.split("T")[0] // Extract date part + duration = session.duration?.toString() ?: "" + sessionNotes = session.notes ?: "" + } + } + } + LaunchedEffect(gymId, gyms) { if (gymId != null && selectedGym == null) { selectedGym = gyms.find { it.id == gymId } @@ -830,7 +937,7 @@ fun AddEditSessionScreen( problem?.difficulty?.let { difficulty -> Text( - text = "${difficulty.system.name}: ${difficulty.grade}", + text = "${difficulty.system.getDisplayName()}: ${difficulty.grade}", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.primary ) @@ -956,7 +1063,7 @@ fun AddAttemptDialog( fontWeight = FontWeight.Medium ) Text( - text = "${problem.difficulty.system.name}: ${problem.difficulty.grade}", + text = "${problem.difficulty.system.getDisplayName()}: ${problem.difficulty.grade}", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.primary ) diff --git a/app/src/main/java/com/atridad/openclimb/ui/screens/DetailScreens.kt b/app/src/main/java/com/atridad/openclimb/ui/screens/DetailScreens.kt index cebb369..8dea6fa 100644 --- a/app/src/main/java/com/atridad/openclimb/ui/screens/DetailScreens.kt +++ b/app/src/main/java/com/atridad/openclimb/ui/screens/DetailScreens.kt @@ -481,7 +481,7 @@ fun ProblemDetailScreen( Column { problem?.let { p -> Text( - text = "${p.difficulty.system.name}: ${p.difficulty.grade}", + text = "${p.difficulty.system.getDisplayName()}: ${p.difficulty.grade}", style = MaterialTheme.typography.titleLarge, color = MaterialTheme.colorScheme.primary, fontWeight = FontWeight.Bold @@ -490,7 +490,7 @@ fun ProblemDetailScreen( problem?.let { p -> Text( - text = p.climbType.name.lowercase().replaceFirstChar { it.uppercase() }, + text = p.climbType.getDisplayName(), style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onSurfaceVariant ) @@ -1314,7 +1314,7 @@ fun SessionAttemptCard( ) Text( - text = "${problem.difficulty.system.name}: ${problem.difficulty.grade}", + text = "${problem.difficulty.system.getDisplayName()}: ${problem.difficulty.grade}", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.primary ) @@ -1406,6 +1406,39 @@ fun EnhancedAddAttemptDialog( var selectedClimbType by remember { mutableStateOf(ClimbType.BOULDER) } var selectedDifficultySystem by remember { mutableStateOf(gym.difficultySystems.firstOrNull() ?: DifficultySystem.V_SCALE) } + // Auto-select climb type if there's only one available + LaunchedEffect(gym.supportedClimbTypes) { + if (gym.supportedClimbTypes.size == 1 && selectedClimbType != gym.supportedClimbTypes.first()) { + selectedClimbType = gym.supportedClimbTypes.first() + } + } + + // Auto-select difficulty system if there's only one available for the selected climb type + LaunchedEffect(selectedClimbType, gym.difficultySystems) { + val availableSystems = DifficultySystem.getSystemsForClimbType(selectedClimbType).filter { system -> + gym.difficultySystems.contains(system) + } + + when { + // If current system is not compatible, select the first available one + selectedDifficultySystem !in availableSystems -> { + selectedDifficultySystem = availableSystems.firstOrNull() ?: gym.difficultySystems.firstOrNull() ?: DifficultySystem.CUSTOM + } + // If there's only one available system, auto-select it + availableSystems.size == 1 && selectedDifficultySystem != availableSystems.first() -> { + selectedDifficultySystem = availableSystems.first() + } + } + } + + // Reset grade when difficulty system changes + LaunchedEffect(selectedDifficultySystem) { + val availableGrades = selectedDifficultySystem.getAvailableGrades() + if (availableGrades.isNotEmpty() && newProblemGrade !in availableGrades) { + newProblemGrade = "" + } + } + Dialog(onDismissRequest = onDismiss) { Card( modifier = Modifier @@ -1509,7 +1542,7 @@ fun EnhancedAddAttemptDialog( ) Spacer(modifier = Modifier.height(4.dp)) Text( - text = "${problem.difficulty.system.name}: ${problem.difficulty.grade}", + text = "${problem.difficulty.system.getDisplayName()}: ${problem.difficulty.grade}", style = MaterialTheme.typography.bodyMedium, color = if (isSelected) MaterialTheme.colorScheme.onSurface.copy(alpha = 0.8f) @@ -1584,7 +1617,7 @@ fun EnhancedAddAttemptDialog( onClick = { selectedClimbType = climbType }, label = { Text( - climbType.name.lowercase().replaceFirstChar { it.uppercase() }, + climbType.getDisplayName(), fontWeight = FontWeight.Medium ) }, @@ -1611,12 +1644,15 @@ fun EnhancedAddAttemptDialog( LazyRow( horizontalArrangement = Arrangement.spacedBy(8.dp) ) { - items(gym.difficultySystems) { system -> + val availableSystems = DifficultySystem.getSystemsForClimbType(selectedClimbType).filter { system -> + gym.difficultySystems.contains(system) + } + items(availableSystems) { system -> FilterChip( onClick = { selectedDifficultySystem = system }, label = { Text( - system.name, + system.getDisplayName(), fontWeight = FontWeight.Medium ) }, @@ -1630,31 +1666,63 @@ fun EnhancedAddAttemptDialog( } } - OutlinedTextField( - value = newProblemGrade, - onValueChange = { newProblemGrade = it }, - label = { Text("Grade *") }, - placeholder = { - Text(when (selectedDifficultySystem) { - DifficultySystem.V_SCALE -> "e.g., V0, V4, V10" - DifficultySystem.FONT -> "e.g., 3, 6A+, 8B" - DifficultySystem.YDS -> "e.g., 5.8, 5.12a" - DifficultySystem.FRENCH -> "e.g., 6a, 7c+" - DifficultySystem.CUSTOM -> "Custom grade" - else -> "Enter grade" - }) - }, - modifier = Modifier.fillMaxWidth(), - singleLine = true, - colors = OutlinedTextFieldDefaults.colors( - focusedBorderColor = MaterialTheme.colorScheme.primary, - unfocusedBorderColor = MaterialTheme.colorScheme.outline - ), - isError = newProblemGrade.isBlank(), - supportingText = if (newProblemGrade.isBlank()) { - { Text("Grade is required", color = MaterialTheme.colorScheme.error) } - } else null - ) + if (selectedDifficultySystem == DifficultySystem.CUSTOM) { + OutlinedTextField( + value = newProblemGrade, + onValueChange = { newProblemGrade = it }, + label = { Text("Grade *") }, + placeholder = { Text("Enter custom grade") }, + modifier = Modifier.fillMaxWidth(), + singleLine = true, + colors = OutlinedTextFieldDefaults.colors( + focusedBorderColor = MaterialTheme.colorScheme.primary, + unfocusedBorderColor = MaterialTheme.colorScheme.outline + ), + isError = newProblemGrade.isBlank(), + supportingText = if (newProblemGrade.isBlank()) { + { Text("Grade is required", color = MaterialTheme.colorScheme.error) } + } else null + ) + } else { + var expanded by remember { mutableStateOf(false) } + val availableGrades = selectedDifficultySystem.getAvailableGrades() + + ExposedDropdownMenuBox( + expanded = expanded, + onExpandedChange = { expanded = !expanded }, + modifier = Modifier.fillMaxWidth() + ) { + OutlinedTextField( + value = newProblemGrade, + onValueChange = { }, + readOnly = true, + label = { Text("Grade *") }, + trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded) }, + colors = ExposedDropdownMenuDefaults.outlinedTextFieldColors(), + modifier = Modifier + .menuAnchor() + .fillMaxWidth(), + isError = newProblemGrade.isBlank(), + supportingText = if (newProblemGrade.isBlank()) { + { Text("Grade is required", color = MaterialTheme.colorScheme.error) } + } else null + ) + ExposedDropdownMenu( + expanded = expanded, + onDismissRequest = { expanded = false } + ) { + availableGrades.forEach { grade -> + DropdownMenuItem( + text = { Text(grade) }, + onClick = { + newProblemGrade = grade + expanded = false + } + ) + } + } + } + } } } } diff --git a/app/src/main/java/com/atridad/openclimb/ui/screens/GymsScreen.kt b/app/src/main/java/com/atridad/openclimb/ui/screens/GymsScreen.kt index df14e38..137c2da 100644 --- a/app/src/main/java/com/atridad/openclimb/ui/screens/GymsScreen.kt +++ b/app/src/main/java/com/atridad/openclimb/ui/screens/GymsScreen.kt @@ -109,7 +109,7 @@ fun GymCard( AssistChip( onClick = { }, label = { - Text(climbType.name.lowercase().replaceFirstChar { it.uppercase() }) + Text(climbType.getDisplayName()) }, modifier = Modifier.padding(end = 4.dp) ) @@ -119,7 +119,7 @@ fun GymCard( if (gym.difficultySystems.isNotEmpty()) { Spacer(modifier = Modifier.height(4.dp)) Text( - text = "Systems: ${gym.difficultySystems.joinToString(", ") { it.name }}", + text = "Systems: ${gym.difficultySystems.joinToString(", ") { it.getDisplayName() }}", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant ) diff --git a/app/src/main/java/com/atridad/openclimb/ui/screens/ProblemsScreen.kt b/app/src/main/java/com/atridad/openclimb/ui/screens/ProblemsScreen.kt index 7ff2150..7b7d858 100644 --- a/app/src/main/java/com/atridad/openclimb/ui/screens/ProblemsScreen.kt +++ b/app/src/main/java/com/atridad/openclimb/ui/screens/ProblemsScreen.kt @@ -2,6 +2,7 @@ package com.atridad.openclimb.ui.screens import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add @@ -14,6 +15,8 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import com.atridad.openclimb.R +import com.atridad.openclimb.data.model.ClimbType +import com.atridad.openclimb.data.model.Gym import com.atridad.openclimb.data.model.Problem import com.atridad.openclimb.ui.components.FullscreenImageViewer import com.atridad.openclimb.ui.components.ImageDisplay @@ -32,6 +35,17 @@ fun ProblemsScreen( var selectedImagePaths by remember { mutableStateOf>(emptyList()) } var selectedImageIndex by remember { mutableStateOf(0) } + // Filter state + var selectedClimbType by remember { mutableStateOf(null) } + var selectedGym by remember { mutableStateOf(null) } + + // Apply filters + val filteredProblems = problems.filter { problem -> + val climbTypeMatch = selectedClimbType?.let { it == problem.climbType } ?: true + val gymMatch = selectedGym?.let { it.id == problem.gymId } ?: true + climbTypeMatch && gymMatch + } + Column( modifier = Modifier .fillMaxSize() @@ -57,16 +71,113 @@ fun ProblemsScreen( Spacer(modifier = Modifier.height(16.dp)) - if (problems.isEmpty()) { + // Filters Section + if (problems.isNotEmpty()) { + Card( + modifier = Modifier.fillMaxWidth() + ) { + Column( + modifier = Modifier.padding(16.dp) + ) { + Text( + text = "Filters", + style = MaterialTheme.typography.titleMedium, + fontWeight = FontWeight.Bold + ) + + Spacer(modifier = Modifier.height(12.dp)) + + // Climb Type Filter + Text( + text = "Climb Type", + style = MaterialTheme.typography.bodyMedium, + fontWeight = FontWeight.Medium + ) + + Spacer(modifier = Modifier.height(8.dp)) + + LazyRow( + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + item { + FilterChip( + onClick = { selectedClimbType = null }, + label = { Text("All Types") }, + selected = selectedClimbType == null + ) + } + items(ClimbType.entries) { climbType -> + FilterChip( + onClick = { selectedClimbType = climbType }, + label = { Text(climbType.getDisplayName()) }, + selected = selectedClimbType == climbType + ) + } + } + + Spacer(modifier = Modifier.height(12.dp)) + + // Gym Filter + Text( + text = "Gym", + style = MaterialTheme.typography.bodyMedium, + fontWeight = FontWeight.Medium + ) + + Spacer(modifier = Modifier.height(8.dp)) + + LazyRow( + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + item { + FilterChip( + onClick = { selectedGym = null }, + label = { Text("All Gyms") }, + selected = selectedGym == null + ) + } + items(gyms) { gym -> + FilterChip( + onClick = { selectedGym = gym }, + label = { Text(gym.name) }, + selected = selectedGym?.id == gym.id + ) + } + } + + // Filter result count + if (selectedClimbType != null || selectedGym != null) { + Spacer(modifier = Modifier.height(12.dp)) + Text( + text = "Showing ${filteredProblems.size} of ${problems.size} problems", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + } + } + } + + Spacer(modifier = Modifier.height(16.dp)) + } + + if (filteredProblems.isEmpty()) { EmptyStateMessage( - title = if (gyms.isEmpty()) "No Gyms Available" else "No Problems Yet", - message = if (gyms.isEmpty()) "Add a gym first to start tracking problems and routes!" else "Start tracking your favorite problems and routes!", + title = if (problems.isEmpty()) { + if (gyms.isEmpty()) "No Gyms Available" else "No Problems Yet" + } else { + "No Problems Match Filters" + }, + message = if (problems.isEmpty()) { + if (gyms.isEmpty()) "Add a gym first to start tracking problems and routes!" else "Start tracking your favorite problems and routes!" + } else { + "Try adjusting your filters to see more problems." + }, onActionClick = { }, actionText = "" ) } else { LazyColumn { - items(problems) { problem -> + items(filteredProblems) { problem -> ProblemCard( problem = problem, gymName = gyms.find { it.id == problem.gymId }?.name ?: "Unknown Gym", @@ -138,7 +249,7 @@ fun ProblemCard( ) Text( - text = problem.climbType.name.lowercase().replaceFirstChar { it.uppercase() }, + text = problem.climbType.getDisplayName(), style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant )