Editing Pass Part ... 6?

This commit is contained in:
Azea 2025-03-31 09:16:00 -04:00
parent 5d51d1e370
commit 0f9e681895
17 changed files with 77 additions and 66 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

View file

@ -1,7 +1,8 @@
package com.menagerie.bakers.model
val tipsTricksAndHelpers = listOf(
"REMINDER-All Protein Cook Times refer to their Original Protein (usually Chicken).",
"REMINDER-All Protein Cook Times and Marinade Times refer to their Original Protein (usually Chicken).",
"REMINDER-When Marinading Tofu or Paneer, be sure not to leave them for too long, or they will fall apart in the marinade. (Overnight Marinades are not recommended).",
"TIP-Long Term Marinades can be done overnight, but most can also be done the morning of!",
"TIP-A mesh strainer or colander can help with shaking off access coatings.",
"TIP-Parsley is a great substitute for Cilantro!",
@ -27,6 +28,7 @@ val imperialToMetric = listOf(
//TODO : Regex for converting F to C and replacing in text, just needs a direction and the formula °C = (°F 32) × 5/9 or °F = (°C × 9/5) + 32
// uses a lookahead to find numbers in the instructions set with F or C as a suffix, replace with formula output and alternate suffix
//Temperature
//fun fToC() {}

View file

@ -4,6 +4,7 @@ import com.menagerie.bakers.model.Recipe
import com.menagerie.bakers.model.TagType
import bakersmenagerie.composeapp.generated.resources.Res
import bakersmenagerie.composeapp.generated.resources._10_strawberries
import bakersmenagerie.composeapp.generated.resources.almond_chicken
import bakersmenagerie.composeapp.generated.resources.burnt_garlic_chicken
import bakersmenagerie.composeapp.generated.resources.chilli_chicken
import bakersmenagerie.composeapp.generated.resources.kung_pao
@ -644,7 +645,7 @@ val chineseList = listOf(
"Entree" to TagType.COURSE,
"Carnivorous" to TagType.PROTEIN
),
image = Res.drawable._10_strawberries,
image = Res.drawable.almond_chicken,
ttt = TTT.TRIED,
)
)

View file

@ -4,6 +4,8 @@ import com.menagerie.bakers.model.Recipe
import com.menagerie.bakers.model.TagType
import bakersmenagerie.composeapp.generated.resources.Res
import bakersmenagerie.composeapp.generated.resources._10_strawberries
import bakersmenagerie.composeapp.generated.resources.butter_chicken
import bakersmenagerie.composeapp.generated.resources.chicken_65
import com.menagerie.bakers.model.TTT
import kotlin.time.Duration
@ -66,15 +68,15 @@ val indianList = listOf(
Recipe(
title = "Butter Chicken",
description = "Creamy and aromatic chicken pieces in a rich tomato and cream sauce.",
prepTime = Duration.parse("1h 15m"), // 30 mins to 1 hour marinade + 15 mins prep
prepTime = Duration.parse("8h 15m"), // 30 mins to 1 hour marinade + 15 mins prep
cookTime = Duration.parse("40m"),
servings = "Serves 4-6",
ingredients = listOf(
"HEADER-Protein Marinade",
"28 oz (800g) Protein of Choice (cut into bite-sized pieces)",
"0.5 cup Plain Yogurt",
"1.5 Tbsp Minced Garlic",
"1 Tbsp Minced Ginger (or finely grated)",
"28 oz (800g) Protein of Choice\n (cut into bite-sized pieces)",
"0.5 Cups Cream Cheese, Softened",
"1.5 Tbsp Garlic, Minced",
"1 Tbsp Ginger, Grated",
"2 Tsp Garam Masala",
"1 Tsp Turmeric",
"1 Tsp Ground Cumin",
@ -83,32 +85,33 @@ val indianList = listOf(
"HEADER-Sauce",
"2 Tbsp Olive Oil",
"2 Tbsp Ghee (or 1 Tbsp Butter + 1 Tbsp Oil)",
"1 large Onion (sliced or chopped)",
"1.5 Tbsp Garlic (minced)",
"1 Tbsp Ginger (minced or finely grated)",
"2 Tbsp Ghee",
"1 large Onions, Chopped",
"1.5 Tbsp Garlic, Minced",
"1 Tbsp Ginger, Grated",
"1.5 Tsp Ground Cumin",
"1.5 Tsp Garam Masala",
"1 Tsp Ground Coriander",
"14 oz (400 g) Crushed Tomatoes",
"1 Tsp Red Chili Powder (adjust to your taste preference)",
"1.25 Tsp Salt (or to taste)",
"1 cup Heavy or Thickened Cream (or evaporated milk)",
"14 oz (400 g) Crushed Smoked Tomatoes",
"1 Tsp Red Chili Powder",
"1.25 Tsp Salt",
"1 Cups Heavy Cream",
"1 Tbsp Sugar",
"0.5 Tsp Kasoori Methi (or dried fenugreek leaves)"
"0.5 Tsp Kasoori Methi",
),
instructions = listOf(
"HEADER-Marinade",
"In a bowl, combine Protein [28 oz] with all of the ingredients for the Protein Marinade; let marinate for 30 minutes to an hour (or overnight if time allows).",
"HEADER-Fry Protein",
"Heat Olive Oil [2 Tbsp] in a large skillet or pot over medium-high heat. When sizzling, add Protein pieces in batches of two or three, making sure not to crowd the pan. Fry until browned for about 3 minutes on each side. Set aside and keep warm. (You will finish cooking the Protein in the sauce.)",
"Heat Olive Oil [2 Tbsp] in a large skillet or pot over medium-high heat. When sizzling, add Protein pieces in batches.",
"Fry until browned for about 3 minutes on each side. Set aside and keep warm. (You will finish cooking the Protein in the sauce.)",
"HEADER-Make Sauce",
"Heat Ghee [2 Tbsp] in the same pan. Fry the Onions [1] until they start to sweat (about 6 minutes) while scraping up any browned bits stuck on the bottom of the pan.",
"Add Garlic [1.5 Tbsp] and Ginger [1 Tbsp] and sauté for 1 minute until fragrant, then add Ground Coriander [1 Tsp], Cumin [1.5 Tsp], and Garam Masala [1.5 Tsp]. Let cook for about 20 seconds until fragrant, while stirring occasionally.",
"Add Crushed Tomatoes [14 oz], Chili Powder [1 Tsp], and Salt [1.25 Tsp]. Let simmer for about 10-15 minutes, stirring occasionally until sauce thickens and becomes a deep brown-red color.",
"Remove from heat, scoop mixture into a blender and blend until smooth. You may need to add a couple tablespoons of water to help it blend (up to 0.25 cup). Work in batches depending on the size of your blender.",
"Remove from heat, scoop mixture into a blender and blend until smooth. You may need to add a couple tablespoons of water to help it blend.",
"HEADER-Finish & Serve",
"Pour the puréed sauce back into the pan. Stir the Cream [1 cup], Sugar [1 Tbsp], and crushed Kasoori Methi [0.5 Tsp] through the sauce. Add the Protein with juices back into the pan and cook for an additional 8-10 minutes until Protein is cooked through and the sauce is thick and bubbling."
@ -126,20 +129,20 @@ val indianList = listOf(
"Garlic" to TagType.FLAVOUR,
"Ginger" to TagType.FLAVOUR,
),
image = Res.drawable._10_strawberries, // Replace with your image resource
image = Res.drawable.butter_chicken,
ttt = TTT.TRUE
),
Recipe(
title = "Chicken 65",
description = "Spicy, crispy Chicken 65: Indian fried chicken marinated in Curd and spices, then tempered with Garlic, Ginger, and Chillies.",
description = "Spicy, crispy Chicken 65: Indian fried chicken marinated in Curd and Spices, then tempered with Garlic, Ginger, and Chillies.",
prepTime = Duration.parse("8h"),
cookTime = Duration.parse("20m"),
servings = "Serves 4",
listOf(
"HEADER-Chicken Marinade",
"500 Grams Chicken Thighs, boneless, skinless, cut into approx 0.5 inch small cubes",
"0.25 Cup Curd",
"0.25 Cups Curd",
"1 Tbsp Ginger Garlic Paste",
"0.25 Tsp Turmeric Powder",
"1 Tsp Kashmiri Red Chilli Powder",
@ -147,15 +150,16 @@ val indianList = listOf(
"0.5 Tsp Jeera Powder",
"1 Tsp Sugar",
"0.75 Tsp Salt",
"2 Sprigs Curry Leaves, chopped",
"2 Sprigs Curry Leaves, Chopped",
"2 Tbsp Rice Flour",
"3 Tbsp Corn Flour",
"3 Tbsp Corn Starch",
"Oil, for frying",
"HEADER-Chicken 65 Fry",
"1 Tbsp Oil",
"1 Tbsp Garlic, finely chopped",
"1 Tbsp Ginger, finely chopped",
"5 Green Chillies, halved",
"1 Tbsp Garlic, Finely Chopped",
"1 Tbsp Ginger, Finely Chopped",
"5 Green Chillies, Halved",
"1 Tsp Red Chilli Powder",
"2 Sprigs Curry Leaves"
),
@ -177,7 +181,7 @@ val indianList = listOf(
"Appetizer" to TagType.COURSE,
"Carnivorous" to TagType.PROTEIN
),
image = Res.drawable._10_strawberries,
image = Res.drawable.chicken_65,
ttt = TTT.TRIED,
)
)

View file

@ -23,6 +23,7 @@ val japaneseList = listOf(
"1 Tsp Ginger",
"1.5 Tsp Sesame Oil",
"1 Tbsp Cornstarch",
"HEADER-Fry",
"2 Tbsp Oil",
),

View file

@ -1,10 +1,10 @@
package com.menagerie.bakers.model.asia
import com.menagerie.bakers.model.Recipe
import com.menagerie.bakers.model.TagType
import bakersmenagerie.composeapp.generated.resources.Res
import bakersmenagerie.composeapp.generated.resources._10_strawberries
import bakersmenagerie.composeapp.generated.resources.gai_yang
import com.menagerie.bakers.model.Recipe
import com.menagerie.bakers.model.TTT
import com.menagerie.bakers.model.TagType
import kotlin.time.Duration
val laoList = listOf(
@ -20,41 +20,43 @@ val laoList = listOf(
"HEADER-Marinade",
"1.5 Tsp White Peppercorns",
"2 Tsp Toasted Coriander Seeds",
"1 stalk Lemongrass, bottom half only, thinly sliced",
"5 cloves Garlic",
"2 Tsp Coriander Seeds, Toasted",
"1 Stalk Lemongrass, bottom half only, thinly sliced",
"5 Cloves Garlic",
"3 Tbsp Soy Sauce",
"3 Tbsp Fish Sauce",
"1 Tbsp Black Soy Sauce",
"1 Tbsp Sugar",
"0.5 Cup Water",
"0.5 Cups Water",
"2 Tbsp Vegetable Oil",
"HEADER-Dipping Sauce - Nam Jim Jeaw",
"2 Tbsp Thai Tamarind Paste, store bought or homemade",
"1 Tbsp Palm Sugar, finely chopped, or light brown sugar",
"2 Tbsp Thai Tamarind Paste",
"1 Tbsp Palm Sugar, Finely Chopped",
"1 Tbsp Fish Sauce",
"1 Tbsp Lime Juice",
"Chili Flakes, to taste",
"1 Tbsp Shallots, finely chopped",
"1 Tbsp Green Onion, chopped",
"3 sprigs Cilantro, chopped",
"1 Tbsp Shallots, Finely Chopped",
"1 Tbsp Green Onion, Chopped",
"3 sprigs Cilantro, Chopped",
"1 Tbsp Toasted Rice Powder"
),
listOf(
"HEADER-Marinade",
"Grind White Peppercorns [1.5 Tsp] and Coriander Seeds [2 Tsp] into a powder. Add Lemongrass [1 stalk] and Garlic [5 cloves] and pound into a paste. Transfer to a bowl. Add Soy Sauce [3 Tbsp], Fish Sauce [3 Tbsp], Black Soy Sauce [1 Tbsp], Sugar [1 Tbsp], Water [0.5 Cup], and Vegetable Oil [2 Tbsp]. Stir to dissolve Sugar.",
"Grind White Peppercorns [1.5 Tsp] and Coriander Seeds [2 Tsp] into a powder. Add Lemongrass [1 stalk] and Garlic [5 cloves] and pound into a paste.",
"Transfer to a bowl. Add Soy Sauce [3 Tbsp], Fish Sauce [3 Tbsp], Black Soy Sauce [1 Tbsp], Sugar [1 Tbsp], Water [0.5 Cup], and Vegetable Oil [2 Tbsp]. Stir to dissolve Sugar.",
"Split Chicken Breast [1 whole] into halves, separate Chicken Legs [2] into thighs and drumsticks, and trim excess thigh skin.",
"Place Chicken in a bag or dish, pour Marinade over, and ensure all pieces are coated. Marinate for 2 hours or overnight, flipping halfway.",
"HEADER-Dipping Sauce - Nam Jim Jeaw",
"Toast raw rice in a dry skillet until dark brown. Cool, then grind into Toasted Rice Powder [1 Tbsp].",
"Combine Thai Tamarind Paste [2 Tbsp], Fish Sauce [1 Tbsp], Lime Juice [1 Tbsp], and Palm Sugar [1 Tbsp]. Stir until Sugar dissolves.",
"Add Chili Flakes and Shallots [1 Tbsp]. Just before serving, stir in Green Onions [1 Tbsp], Cilantro [3 sprigs], and Toasted Rice Powder [1 Tbsp].",
"HEADER-Grilling",
"Bring Chicken to room temperature 45 minutes before cooking. Preheat grill to medium.",
"Place Chicken skin-side up on grill (use cooler spots to prevent burning).",
"Reduce heat to low-medium. Cook with lid closed, flipping every 5 minutes, 18-30 minutes total.",
"Use a meat thermometer: Chicken Breast to 160°F (72°C), drums/thighs to 175°F (80°C)."
),
tags = mapOf(
"Laotian" to TagType.CUISINE,
@ -65,7 +67,7 @@ val laoList = listOf(
"Carnivorous" to TagType.PROTEIN,
"Entree" to TagType.COURSE
),
image = Res.drawable._10_strawberries,
image = Res.drawable.gai_yang,
ttt = TTT.TRIED,
)
)

View file

@ -1,11 +1,11 @@
package com.menagerie.bakers.model.europe
import com.menagerie.bakers.model.Recipe
import com.menagerie.bakers.model.TagType
import bakersmenagerie.composeapp.generated.resources.Res
import bakersmenagerie.composeapp.generated.resources._10_strawberries
import bakersmenagerie.composeapp.generated.resources.greek_chicken
import bakersmenagerie.composeapp.generated.resources.gyros
import com.menagerie.bakers.model.Recipe
import com.menagerie.bakers.model.TTT
import com.menagerie.bakers.model.TagType
import kotlin.time.Duration
val greekList = listOf(
@ -89,7 +89,7 @@ val greekList = listOf(
servings = "Serves 3 to 4",
cookTime = Duration.parse("20m"),
prepTime = Duration.parse("4h"),
image = Res.drawable._10_strawberries,
image = Res.drawable.greek_chicken,
ttt = TTT.TRUE,
)
)

View file

@ -1,40 +1,40 @@
package com.menagerie.bakers.model.europe
import com.menagerie.bakers.model.Recipe
import com.menagerie.bakers.model.TagType
import bakersmenagerie.composeapp.generated.resources.Res
import bakersmenagerie.composeapp.generated.resources._10_strawberries
import bakersmenagerie.composeapp.generated.resources.paprikash
import com.menagerie.bakers.model.Recipe
import com.menagerie.bakers.model.TTT
import com.menagerie.bakers.model.TagType
import kotlin.time.Duration
val hungarianList = listOf(
Recipe(
title = "Paprikash",
description = "A classic Hungarian stew with tender chicken in a rich paprika-infused sour cream sauce.",
description = "A classic Hungarian stew with tender Chicken in a rich Paprika-infused Sour Cream sauce.",
prepTime = Duration.parse("20m"),
cookTime = Duration.parse("1h 10m"),
servings = "Serves 4-6",
ingredients = listOf(
"2 Tbsp Pork Lard",
"3 pounds Chicken Pieces (bone-in, skin-on)",
"3 lbs Chicken Pieces (bone-in, skin-on)",
"2 medium Yellow Onions (very finely chopped)",
"2 cloves Garlic (finely minced)",
"2 Roma Tomatoes (seeds removed, very finely diced)",
"1 Hungarian Bell Pepper (diced, optional)",
"3-4 Tbsp Hungarian Paprika",
"2 cups Chicken Broth",
"3.5 Tbsp Hungarian Paprika",
"2 Cups Chicken Broth",
"1.5 Tsp Sea Salt",
"0.5 Tsp Freshly Ground Black Pepper",
"3 Tbsp All-Purpose Flour",
"0.75 cup Full Fat Sour Cream (room temperature)",
"0.25 cup Heavy Whipping Cream"
"0.75 Cups Full Fat Sour Cream (room temperature)",
"0.25 Cups Heavy Whipping Cream"
),
instructions = listOf(
"Heat the Pork Lard [2 Tbsp] in a heavy pot and brown the Chicken Pieces [3 pounds] on all sides. Transfer the Chicken to a plate.",
"Heat the Pork Lard [2 Tbsp] in a heavy pot and brown the Chicken Pieces [3 lbs] on all sides. Transfer the Chicken to a plate.",
"In the same oil, add the Yellow Onions [2 medium] and fry until golden brown. Add the Garlic [2 cloves] and Tomatoes [2 Roma] (and Bell Pepper [1] if using) and fry another 2-3 minutes.",
"Remove the pot from the heat and stir in the Hungarian Paprika [3-4 Tbsp], Sea Salt [1.5 Tsp], and Black Pepper [0.5 Tsp].",
"Remove the pot from the heat and stir in the Hungarian Paprika [3.5 Tbsp], Sea Salt [1.5 Tsp], and Black Pepper [0.5 Tsp].",
"Return the Chicken to the pot and place it back over the heat. Pour in the Chicken Broth [2 cups]. The Chicken should be mostly covered. Bring it to a boil. Cover, reduce the heat to medium-low, and simmer for 40 minutes. Remove the Chicken and transfer to a plate.",
"In a small bowl, stir the All-Purpose Flour [3 Tbsp] into the Sour Cream [0.75 cup] and Heavy Whipping Cream [0.25 cup] mixture to form a smooth paste. Stir the Cream mixture into the sauce, whisking constantly to prevent lumps. Bring it to a simmer for a couple of minutes until the sauce is thickened. Add Sea Salt and Black Pepper to taste.",
"In a small bowl, stir the All-Purpose Flour [3 Tbsp] into the Sour Cream [0.75 Cups] and Heavy Whipping Cream [0.25 Cups] mixture to form a smooth paste. Stir the Cream mixture into the sauce, whisking constantly to prevent lumps. Bring it to a simmer for a couple of minutes until the sauce is thickened. Add Sea Salt and Black Pepper to taste.",
"Return the Chicken to the sauce and simmer to heat through.",
"Serve the Chicken Paprikash with Hungarian Nokedli."
),
@ -49,7 +49,7 @@ val hungarianList = listOf(
"Creamy" to TagType.FLAVOUR,
"Carnivorous" to TagType.PROTEIN,
),
image = Res.drawable._10_strawberries, // Replace with your image resource
image = Res.drawable.paprikash,
ttt = TTT.TRIED,
)
)

View file

@ -24,6 +24,7 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.LineHeightStyle
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
import com.menagerie.bakers.DisplayManager
import com.menagerie.bakers.Size
@ -65,7 +66,7 @@ fun InstructionItem(
}
Text(
text = boldBracketedText(scaleRecipeServingsInstructions(steps[index], slider)),
text = boldBracketedText(scaleRecipeServingsInstructions(steps[index], slider), style.fontSize),
style = style,
modifier = Modifier
.fillMaxWidth().fillMaxHeight()
@ -113,7 +114,7 @@ fun getOffsetIndex(instructions: List<String>, s: String): String {
for(str in instructions)
{
if(str.contains("HEADER-").not())
if(str.startsWith("HEADER-").not())
realIndex++
if(str == s)
@ -124,7 +125,7 @@ fun getOffsetIndex(instructions: List<String>, s: String): String {
}
fun boldBracketedText(inputText: String): AnnotatedString {
fun boldBracketedText(inputText: String, fontSize: TextUnit): AnnotatedString {
val builder = AnnotatedString.Builder()
var currentIndex = 0
@ -142,7 +143,7 @@ fun boldBracketedText(inputText: String): AnnotatedString {
}
builder.append(inputText.substring(currentIndex, startIndex))
builder.withStyle(style = SpanStyle(fontWeight = FontWeight.Bold)) {
builder.withStyle(style = SpanStyle(fontWeight = FontWeight.Bold, fontSize = fontSize.times(1.05f) )) {
builder.append(inputText.substring(startIndex, endIndex + 1))
}

View file

@ -144,7 +144,7 @@ internal fun LazyListScope.ingredients(
recipe = recipe,
animate = animate,
content = {
if (value.contains("HEADER-")) {
if (value.startsWith("HEADER-")) {
Column {
HorizontalDivider(
thickness = 2.dp,
@ -187,7 +187,7 @@ internal fun LazyListScope.steps(
animate = animate,
intervalStart = (index + 1) / (steps.size + 1).toFloat(),
content = {
if (value.contains("HEADER-")) {
if (value.startsWith("HEADER-")) {
Column {
HorizontalDivider(
thickness = 2.dp,

View file

@ -1,5 +1,5 @@
[versions]
agp = "8.9.0"
agp = "8.9.1"
android-compileSdk = "35"
android-minSdk = "24"
android-targetSdk = "34"