ios widget showing what is available at chucks
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: bump version and adjust appearance

+52 -54
android/.kotlin/sessions/kotlin-compiler-5173800182017658485.salive

This is a binary file and will not be displayed.

+1 -1
android/app/build.gradle.kts
··· 59 59 implementation(libs.androidx.material3) 60 60 implementation(libs.androidx.material.icons.extended) 61 61 implementation(libs.androidx.navigation.compose) 62 - implementation(libs.androidx.material3.window.size.class) 62 + implementation(libs.androidx.material3.windowsizeclass) 63 63 debugImplementation(libs.androidx.ui.tooling) 64 64 65 65 // Hilt
+36 -26
android/app/src/main/java/com/wasupchucks/ui/components/ScheduleCard.kt
··· 1 1 package com.wasupchucks.ui.components 2 2 3 3 import androidx.compose.foundation.BorderStroke 4 + import androidx.compose.foundation.clickable 4 5 import androidx.compose.foundation.layout.Arrangement 5 6 import androidx.compose.foundation.layout.Column 6 7 import androidx.compose.foundation.layout.Row ··· 8 9 import androidx.compose.foundation.layout.fillMaxWidth 9 10 import androidx.compose.foundation.layout.height 10 11 import androidx.compose.foundation.layout.padding 12 + import androidx.compose.foundation.shape.RoundedCornerShape 11 13 import androidx.compose.material3.ElevatedCard 12 - import androidx.compose.material3.FilledTonalButton 13 14 import androidx.compose.material3.Icon 14 15 import androidx.compose.material3.MaterialTheme 15 - import androidx.compose.material3.OutlinedButton 16 + import androidx.compose.material3.Surface 16 17 import androidx.compose.material3.Text 17 18 import androidx.compose.runtime.Composable 18 19 import androidx.compose.ui.Alignment 19 20 import androidx.compose.ui.Modifier 21 + import androidx.compose.ui.draw.clip 20 22 import androidx.compose.ui.res.stringResource 21 23 import androidx.compose.ui.semantics.contentDescription 22 24 import androidx.compose.ui.semantics.semantics ··· 85 87 endTime 86 88 ) + if (isCurrent) ", ${stringResource(R.string.current_meal)}" else "" 87 89 88 - val buttonContent: @Composable () -> Unit = { 90 + val shape = RoundedCornerShape(12.dp) 91 + val backgroundColor = if (isCurrent) { 92 + StatusOpen.copy(alpha = 0.12f) 93 + } else { 94 + MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f) 95 + } 96 + val contentColor = if (isCurrent) { 97 + StatusOpen 98 + } else { 99 + MaterialTheme.colorScheme.onSurface 100 + } 101 + val border = if (isCurrent) { 102 + BorderStroke(2.dp, StatusOpen) 103 + } else { 104 + null 105 + } 106 + 107 + Surface( 108 + modifier = modifier 109 + .clip(shape) 110 + .clickable(onClick = onClick) 111 + .semantics { contentDescription = accessibilityLabel }, 112 + shape = shape, 113 + color = backgroundColor, 114 + border = border 115 + ) { 89 116 Column( 90 117 horizontalAlignment = Alignment.CenterHorizontally, 91 118 verticalArrangement = Arrangement.spacedBy(4.dp), 92 - modifier = Modifier 93 - .padding(vertical = 8.dp) 94 - .semantics { contentDescription = accessibilityLabel } 119 + modifier = Modifier.padding(vertical = 12.dp, horizontal = 8.dp) 95 120 ) { 96 121 Icon( 97 122 imageVector = meal.phase.icon, 98 - contentDescription = null 123 + contentDescription = null, 124 + tint = contentColor 99 125 ) 100 126 Text( 101 127 text = meal.phase.displayName, 102 128 style = MaterialTheme.typography.labelMedium, 103 - fontWeight = FontWeight.Medium 129 + fontWeight = FontWeight.Medium, 130 + color = contentColor 104 131 ) 105 132 Text( 106 133 text = "$startTime-$endTime", 107 134 style = MaterialTheme.typography.labelSmall, 108 - color = MaterialTheme.colorScheme.onSurfaceVariant 135 + color = if (isCurrent) contentColor.copy(alpha = 0.8f) else MaterialTheme.colorScheme.onSurfaceVariant 109 136 ) 110 - } 111 - } 112 - 113 - if (isCurrent) { 114 - FilledTonalButton( 115 - onClick = onClick, 116 - modifier = modifier, 117 - border = BorderStroke(2.dp, StatusOpen) 118 - ) { 119 - buttonContent() 120 - } 121 - } else { 122 - OutlinedButton( 123 - onClick = onClick, 124 - modifier = modifier 125 - ) { 126 - buttonContent() 127 137 } 128 138 } 129 139 }
+4 -12
android/app/src/main/java/com/wasupchucks/ui/screens/home/HomeScreen.kt
··· 21 21 import androidx.compose.material3.ExperimentalMaterial3Api 22 22 import androidx.compose.material3.HorizontalDivider 23 23 import androidx.compose.material3.Icon 24 - import androidx.compose.material3.LargeTopAppBar 25 24 import androidx.compose.material3.MaterialTheme 26 25 import androidx.compose.material3.Scaffold 27 26 import androidx.compose.material3.Text 28 27 import androidx.compose.material3.TextButton 28 + import androidx.compose.material3.TopAppBar 29 29 import androidx.compose.material3.TopAppBarDefaults 30 30 import androidx.compose.material3.pulltorefresh.PullToRefreshBox 31 31 import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass ··· 33 33 import androidx.compose.runtime.getValue 34 34 import androidx.compose.ui.Alignment 35 35 import androidx.compose.ui.Modifier 36 - import androidx.compose.ui.input.nestedscroll.nestedScroll 37 36 import androidx.compose.ui.platform.LocalContext 38 37 import androidx.compose.ui.res.stringResource 39 38 import androidx.compose.ui.text.font.FontWeight ··· 55 54 viewModel: HomeViewModel = hiltViewModel() 56 55 ) { 57 56 val uiState by viewModel.uiState.collectAsStateWithLifecycle() 58 - val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior() 59 57 val context = LocalContext.current 60 58 61 59 val isExpandedWidth = widthSizeClass == WindowWidthSizeClass.Expanded || 62 60 widthSizeClass == WindowWidthSizeClass.Medium 63 61 64 62 Scaffold( 65 - modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection), 66 63 topBar = { 67 - LargeTopAppBar( 64 + TopAppBar( 68 65 title = { Text(stringResource(R.string.app_name)) }, 69 - scrollBehavior = scrollBehavior, 70 - colors = TopAppBarDefaults.largeTopAppBarColors( 71 - scrolledContainerColor = MaterialTheme.colorScheme.surface 66 + colors = TopAppBarDefaults.topAppBarColors( 67 + containerColor = MaterialTheme.colorScheme.surface 72 68 ) 73 69 ) 74 70 }, ··· 88 84 horizontalAlignment = Alignment.CenterHorizontally, 89 85 verticalArrangement = Arrangement.spacedBy(16.dp) 90 86 ) { 91 - item { 92 - Spacer(modifier = Modifier.height(8.dp)) 93 - } 94 - 95 87 // Status and Schedule cards 96 88 item { 97 89 if (isExpandedWidth) {
+2 -3
android/app/src/main/res/drawable/ic_breakfast.xml
··· 3 3 android:width="24dp" 4 4 android:height="24dp" 5 5 android:viewportWidth="24" 6 - android:viewportHeight="24" 7 - android:tint="?attr/colorControlNormal"> 6 + android:viewportHeight="24"> 8 7 <path 9 - android:fillColor="@android:color/white" 8 + android:fillColor="#000000" 10 9 android:pathData="M20,3H4v10c0,2.21 1.79,4 4,4h6c2.21,0 4,-1.79 4,-4v-3h2c1.11,0 2,-0.9 2,-2V5C22,3.9 21.11,3 20,3zM20,8h-2V5h2V8zM4,19h16v2H4V19z"/> 11 10 </vector>
+2 -3
android/app/src/main/res/drawable/ic_closed.xml
··· 3 3 android:width="24dp" 4 4 android:height="24dp" 5 5 android:viewportWidth="24" 6 - android:viewportHeight="24" 7 - android:tint="?attr/colorControlNormal"> 6 + android:viewportHeight="24"> 8 7 <path 9 - android:fillColor="@android:color/white" 8 + android:fillColor="#000000" 10 9 android:pathData="M9.5,4c-4.97,0 -9,4.03 -9,9s4.03,9 9,9c0.78,0 1.53,-0.09 2.25,-0.26C10.06,20.31 9,18.28 9,16c0,-3.87 3.13,-7 7,-7c0.99,0 1.92,0.21 2.77,0.58C18.43,5.59 14.39,4 9.5,4zM12,14.25c-0.41,0 -0.75,-0.34 -0.75,-0.75s0.34,-0.75 0.75,-0.75s0.75,0.34 0.75,0.75S12.41,14.25 12,14.25zM14.75,11.75c-0.41,0 -0.75,-0.34 -0.75,-0.75s0.34,-0.75 0.75,-0.75S15.5,10.59 15.5,11S15.16,11.75 14.75,11.75z"/> 11 10 </vector>
+2 -3
android/app/src/main/res/drawable/ic_dinner.xml
··· 3 3 android:width="24dp" 4 4 android:height="24dp" 5 5 android:viewportWidth="24" 6 - android:viewportHeight="24" 7 - android:tint="?attr/colorControlNormal"> 6 + android:viewportHeight="24"> 8 7 <path 9 - android:fillColor="@android:color/white" 8 + android:fillColor="#000000" 10 9 android:pathData="M12,2C8.43,2 5.23,3.54 3.01,6L12,22l8.99,-16C18.78,3.55 15.57,2 12,2zM7,7c0,-0.55 0.45,-1 1,-1s1,0.45 1,1s-0.45,1 -1,1S7,7.55 7,7zM10,12c-0.55,0 -1,-0.45 -1,-1c0,-0.55 0.45,-1 1,-1s1,0.45 1,1C11,11.55 10.55,12 10,12zM12,9c-0.55,0 -1,-0.45 -1,-1c0,-0.55 0.45,-1 1,-1s1,0.45 1,1C13,8.55 12.55,9 12,9z"/> 11 10 </vector>
+2 -3
android/app/src/main/res/drawable/ic_lunch.xml
··· 3 3 android:width="24dp" 4 4 android:height="24dp" 5 5 android:viewportWidth="24" 6 - android:viewportHeight="24" 7 - android:tint="?attr/colorControlNormal"> 6 + android:viewportHeight="24"> 8 7 <path 9 - android:fillColor="@android:color/white" 8 + android:fillColor="#000000" 10 9 android:pathData="M2,19h20v2H2V19zM5,7h14l-1.5,9h-11L5,7zM1,5h22v2H1V5z"/> 11 10 </vector>
+2 -2
android/gradle/libs.versions.toml
··· 1 1 [versions] 2 - agp = "8.7.3" 2 + agp = "8.13.2" 3 3 kotlin = "2.1.0" 4 4 ksp = "2.1.0-1.0.29" 5 5 coreKtx = "1.15.0" ··· 34 34 androidx-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "material3" } 35 35 androidx-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended" } 36 36 androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" } 37 - androidx-material3-window-size-class = { group = "androidx.compose.material3", name = "material3-window-size-class", version.ref = "material3WindowSizeClass" } 37 + androidx-material3-windowsizeclass = { group = "androidx.compose.material3", name = "material3-window-size-class", version.ref = "material3WindowSizeClass" } 38 38 39 39 # Hilt 40 40 hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
+1 -1
android/gradle/wrapper/gradle-wrapper.properties
··· 1 1 distributionBase=GRADLE_USER_HOME 2 2 distributionPath=wrapper/dists 3 - distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip 3 + distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip 4 4 networkTimeout=10000 5 5 validateDistributionUrl=true 6 6 zipStoreBase=GRADLE_USER_HOME