Use popup menu for creating dish
This commit is contained in:
parent
1c085a4262
commit
dbb25a394d
@ -6,7 +6,7 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.Button
|
||||
import android.widget.PopupMenu
|
||||
import android.widget.Toast
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
@ -36,28 +36,31 @@ class DishesFragment : Fragment() {
|
||||
loadRecipes()
|
||||
|
||||
binding.addDish.setOnClickListener {
|
||||
val dialogView = LayoutInflater.from(requireContext()).inflate(R.layout.create_dish_modal_dialog, null)
|
||||
val popup = PopupMenu(requireActivity(), it)
|
||||
|
||||
val dialog = android.app.AlertDialog.Builder(requireContext())
|
||||
.setView(dialogView)
|
||||
.setCancelable(true) // tap outside to dismiss
|
||||
.create()
|
||||
popup.apply {
|
||||
menuInflater.inflate(R.menu.create_dish_menu, menu)
|
||||
|
||||
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
|
||||
setOnMenuItemClickListener {
|
||||
when (it.itemId) {
|
||||
R.id.create_manually -> {
|
||||
val intent = Intent(requireContext(), CreateDishActivity::class.java)
|
||||
createDishLauncher.launch(intent)
|
||||
|
||||
dialogView.findViewById<Button>(R.id.createManualBtn).setOnClickListener {
|
||||
val intent = Intent(requireContext(), CreateDishActivity::class.java)
|
||||
createDishLauncher.launch(intent)
|
||||
dialog.dismiss()
|
||||
true
|
||||
}
|
||||
R.id.create_with_ai -> {
|
||||
val intent = Intent(requireContext(), GenerateRecipeActivity::class.java)
|
||||
createDishLauncher.launch(intent)
|
||||
|
||||
true
|
||||
}
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
show()
|
||||
}
|
||||
|
||||
dialogView.findViewById<Button>(R.id.createAIBtn).setOnClickListener {
|
||||
val intent = Intent(requireContext(), GenerateRecipeActivity::class.java)
|
||||
createDishLauncher.launch(intent)
|
||||
dialog.dismiss()
|
||||
}
|
||||
|
||||
dialog.show()
|
||||
}
|
||||
|
||||
|
||||
|
@ -86,7 +86,9 @@ class ShoppingListFragment : Fragment() {
|
||||
|
||||
val popup = PopupMenu(requireActivity(), view)
|
||||
popup.apply {
|
||||
|
||||
menuInflater.inflate(R.menu.shopping_item_context_menu, menu)
|
||||
|
||||
setOnMenuItemClickListener {
|
||||
when (it.itemId) {
|
||||
R.id.remove_shopping_item -> {
|
||||
@ -107,6 +109,7 @@ class ShoppingListFragment : Fragment() {
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
show()
|
||||
}
|
||||
|
||||
|
@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/dialog_root"
|
||||
android:layout_width="250dp"
|
||||
android:layout_height="400dp"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/rounded_background"
|
||||
android:padding="0dp"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/create_dish"
|
||||
android:textAlignment="center"
|
||||
android:textSize="30sp"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/createManualBtn"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/manually" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="#CCCCCC" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/createAIBtn"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/search_for_dishes" />
|
||||
</LinearLayout>
|
11
app/app/src/main/res/menu/create_dish_menu.xml
Normal file
11
app/app/src/main/res/menu/create_dish_menu.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:id="@+id/create_manually"
|
||||
android:title="@string/create_manually_label"
|
||||
/>
|
||||
<item
|
||||
android:id="@+id/create_with_ai"
|
||||
android:title="@string/create_ai_label"
|
||||
/>
|
||||
</menu>
|
@ -8,5 +8,6 @@
|
||||
<item name="colorSurface">@color/dark_cyan</item>
|
||||
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
|
||||
<item name="android:colorBackground">@color/black</item>
|
||||
<item name="android:windowBackground">@color/black</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
@ -41,14 +41,14 @@
|
||||
<string name="checked_desc">Checked</string>
|
||||
<string name="delete_label">Delete</string>
|
||||
<string name="empty_shopping_list">Your shopping list is empty</string>
|
||||
<string name="search_for_dishes">Search For Dishes</string>
|
||||
<string name="manually">Manually</string>
|
||||
<string name="create_dish">Create Dish</string>
|
||||
<string name="ai_generate_recipe_title">Generate recipe with AI</string>
|
||||
<string name="dish_title_label">Name of dish</string>
|
||||
<string name="generate_recipe_label">Generate</string>
|
||||
<string name="ingredients_label">Ingredients</string>
|
||||
<string name="directions_label">Directions</string>
|
||||
<string name="create_manually_label">Create manually</string>
|
||||
<string name="create_ai_label">Generate recipe using AI</string>
|
||||
<string-array name="units">
|
||||
<item></item>
|
||||
<item>g</item>
|
||||
|
Loading…
Reference in New Issue
Block a user