diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 0000000..a1f8417
Binary files /dev/null and b/app/src/main/ic_launcher-playstore.png differ
diff --git a/app/src/main/java/xyz/pixelatedw/recipe/ui/components/MainScreen.kt b/app/src/main/java/xyz/pixelatedw/recipe/ui/components/MainScreen.kt
index 0025cfb..c30fbc6 100644
--- a/app/src/main/java/xyz/pixelatedw/recipe/ui/components/MainScreen.kt
+++ b/app/src/main/java/xyz/pixelatedw/recipe/ui/components/MainScreen.kt
@@ -11,7 +11,6 @@ import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
-import androidx.compose.material.icons.filled.Edit
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.OutlinedTextField
@@ -21,12 +20,15 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.unit.dp
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import xyz.pixelatedw.recipe.MainActivity
+import xyz.pixelatedw.recipe.R
import xyz.pixelatedw.recipe.data.RecipeWithTags
import xyz.pixelatedw.recipe.data.RecipesView
@@ -102,7 +104,7 @@ fun MainScreen(ctx: MainActivity, padding: PaddingValues, view: RecipesView) {
onClick = { openTagFilterDialog.value = true },
) {
Icon(
- imageVector = Icons.Default.Edit,
+ imageVector = ImageVector.vectorResource(R.drawable.filter_24),
contentDescription = "Toggle tags filtering menu"
)
}
diff --git a/app/src/main/java/xyz/pixelatedw/recipe/ui/components/RecipeInfo.kt b/app/src/main/java/xyz/pixelatedw/recipe/ui/components/RecipeInfo.kt
index 75225c4..fbfa5d0 100644
--- a/app/src/main/java/xyz/pixelatedw/recipe/ui/components/RecipeInfo.kt
+++ b/app/src/main/java/xyz/pixelatedw/recipe/ui/components/RecipeInfo.kt
@@ -1,6 +1,5 @@
package xyz.pixelatedw.recipe.ui.components
-import android.util.DisplayMetrics
import android.view.WindowManager
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
@@ -13,7 +12,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
-import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid
import androidx.compose.foundation.rememberScrollState
@@ -27,7 +25,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.asImageBitmap
@@ -50,6 +47,7 @@ fun RecipeInfo(
) {
val keepScreen = view.keepScreenOn.collectAsState()
val openDeletionDialog = remember { mutableStateOf(false) }
+ val picsCounts = remember { active.recipe.pics.size };
Column(
modifier = Modifier
@@ -69,24 +67,25 @@ fun RecipeInfo(
)
}
- LazyHorizontalGrid(
- rows = GridCells.Fixed(1),
- modifier = Modifier
- .fillMaxWidth()
- .wrapContentHeight()
- .height(256.dp)
- .padding(bottom = 16.dp),
- contentPadding = PaddingValues(horizontal = 16.dp)
- ) {
- items(active.recipe.pics.size) { idx ->
- val pic = active.recipe.showImage(ctx, idx)
- if (pic != null) {
- Image(
- bitmap = pic.asImageBitmap(),
- contentDescription = "Recipe image",
- contentScale = ContentScale.Crop,
- modifier = Modifier.size(256.dp),
- )
+ if (picsCounts > 0) {
+ LazyHorizontalGrid(
+ rows = GridCells.Fixed(1),
+ modifier = Modifier
+ .fillMaxWidth()
+ .height(256.dp)
+ .padding(bottom = 16.dp),
+ contentPadding = PaddingValues(horizontal = 64.dp)
+ ) {
+ items(picsCounts) { idx ->
+ val pic = active.recipe.showImage(ctx, idx)
+ if (pic != null) {
+ Image(
+ bitmap = pic.asImageBitmap(),
+ contentDescription = "Recipe image",
+ contentScale = ContentScale.Crop,
+ modifier = Modifier.size(256.dp),
+ )
+ }
}
}
}
diff --git a/app/src/main/java/xyz/pixelatedw/recipe/ui/components/RecipePreview.kt b/app/src/main/java/xyz/pixelatedw/recipe/ui/components/RecipePreview.kt
index 3128392..cf58ef6 100644
--- a/app/src/main/java/xyz/pixelatedw/recipe/ui/components/RecipePreview.kt
+++ b/app/src/main/java/xyz/pixelatedw/recipe/ui/components/RecipePreview.kt
@@ -13,12 +13,17 @@ import androidx.compose.foundation.layout.size
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.asImageBitmap
+import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.layout.ContentScale
+import androidx.compose.ui.res.imageResource
+import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.em
+import xyz.pixelatedw.recipe.R
import xyz.pixelatedw.recipe.data.Recipe
import xyz.pixelatedw.recipe.data.RecipeWithTags
@@ -36,6 +41,14 @@ fun RecipePreview(entry: RecipeWithTags, previewUri: Bitmap?, onClick: () -> Uni
modifier = Modifier.size(256.dp).padding(top = 16.dp, bottom = 8.dp),
)
}
+ else {
+ Image(
+ bitmap = ImageBitmap.imageResource(R.drawable.missing_image),
+ contentDescription = "Missing recipe image",
+ contentScale = ContentScale.Crop,
+ modifier = Modifier.size(256.dp).padding(top = 16.dp, bottom = 8.dp),
+ )
+ }
}
Row(horizontalArrangement = Arrangement.Center, modifier = Modifier.fillMaxWidth().padding(bottom = 8.dp)) {
Text(
diff --git a/app/src/main/res/drawable-hdpi/missing_image.png b/app/src/main/res/drawable-hdpi/missing_image.png
new file mode 100644
index 0000000..4ac728f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/missing_image.png differ
diff --git a/app/src/main/res/drawable-mdpi/missing_image.png b/app/src/main/res/drawable-mdpi/missing_image.png
new file mode 100644
index 0000000..9b9b827
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/missing_image.png differ
diff --git a/app/src/main/res/drawable-xhdpi/missing_image.png b/app/src/main/res/drawable-xhdpi/missing_image.png
new file mode 100644
index 0000000..a5bc9a3
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/missing_image.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/missing_image.png b/app/src/main/res/drawable-xxhdpi/missing_image.png
new file mode 100644
index 0000000..4ac2bb1
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/missing_image.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/missing_image.png b/app/src/main/res/drawable-xxxhdpi/missing_image.png
new file mode 100644
index 0000000..76a1a9f
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/missing_image.png differ
diff --git a/app/src/main/res/drawable/filter_24.xml b/app/src/main/res/drawable/filter_24.xml
new file mode 100644
index 0000000..22ac741
--- /dev/null
+++ b/app/src/main/res/drawable/filter_24.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
index 7706ab9..ec67abf 100644
--- a/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -1,30 +1,14 @@
-
-
-
-
-
-
-
-
+ android:viewportWidth="960"
+ android:viewportHeight="960">
+
+ android:pathData="M360,560h80v-200h-80v200ZM200,500q-46,-23 -73,-66.5T100,339q0,-75 51.5,-127T278,160q12,0 24.5,2t24.5,5q25,-41 65,-64t88,-23q48,0 88,23t65,64q12,-3 24,-5t25,-2q75,0 126.5,52T860,339q0,51 -27,94.5T760,500v220L200,720v-220ZM520,560h80v-200h-80v200ZM280,640h400v-189l44,-22q26,-13 41,-36.5t15,-52.5q0,-42 -28.5,-71T682,240q-11,0 -20,2t-19,5l-47,13 -31,-52q-14,-23 -36.5,-35.5T480,160q-26,0 -48.5,12.5T395,208l-31,52 -48,-13q-10,-2 -19.5,-4.5T277,240q-41,0 -69,29t-28,71q0,29 15,52.5t41,36.5l44,22v189ZM200,720h80v80h400v-80h80v160L200,880v-160ZM480,640Z"
+ android:fillColor="#e3e3e3"/>
+
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index b3e26b4..7353dbd 100644
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,6 +1,5 @@
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
index b3e26b4..7353dbd 100644
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -1,6 +1,5 @@
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
index c209e78..dd2dd38 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
index b2dfe3d..b6aba1f 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
index 4f0f1d6..19beff7 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
index 62b611d..60a7ac0 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
index 948a307..6274a2e 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
index 1b9a695..705ff4a 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
index 28d4b77..e1a9979 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
index 9287f50..67c6c30 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
index aa7d642..67d13b1 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
index 9126ae3..ba7ecc7 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml
new file mode 100644
index 0000000..beab31f
--- /dev/null
+++ b/app/src/main/res/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #000000
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index d46e82c..6437db1 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,5 +1,7 @@
-
+