File size: 1,767 Bytes
6251239 60b9b5c 6251239 60b9b5c 6251239 60b9b5c 6251239 04bacfa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
import streamlit as st
from tinydb import TinyDB, Query
# ใใผใฟใใผในใฎๅๆๅ
db = TinyDB('db.json')
# ใฟใคใใซ
st.title("ๆ็ใฎๆๆ็ฎก็ใขใใช")
# ๆ็ๅใๆๆใๅๆฐใฎๅ
ฅๅ
recipe_name = st.text_input("ๆ็ๅ")
ingredient_name = st.text_input("ๆๆๅ")
ingredient_amount = st.text_input("ๅๆฐ")
# ็ป้ฒใใฟใณ
if st.button("็ป้ฒ"):
# ใใผใฟใใผในใซไฟๅญ
db.insert({"recipe_name": recipe_name, "ingredient_name": ingredient_name, "ingredient_amount": ingredient_amount})
st.success("็ป้ฒใใพใใ")
# ๆ็ๅใฎไธ่ฆง่กจ็คบ
recipe_names = sorted(set([item["recipe_name"] for item in db.all()]))
selected_recipe = st.selectbox("ๆ็ๅ", recipe_names)
# ้ธๆใใๆ็ใฎๆๆใจๅๆฐใ่กจ็คบ
ingredients = [item for item in db.all() if item["recipe_name"] == selected_recipe]
for ingredient in ingredients:
st.write(f"{ingredient['ingredient_name']} : {ingredient['ingredient_amount']}")
# ๆๆใใงใใฏๆฉ่ฝ
with st.form(key="ingredient_check_form"):
checked_ingredients = []
for ingredient in ingredients:
checked = st.checkbox(ingredient["ingredient_name"])
if checked:
checked_ingredients.append(ingredient)
# ๆชใใงใใฏใฎๆๆใๅๅพ
unchecked_ingredients = [ingredient for ingredient in ingredients if ingredient not in checked_ingredients]
# ๅ
จใฆใใงใใฏใใใๅ ดๅ
if st.form_submit_button("้ไฟก"):
if len(checked_ingredients) == len(ingredients):
st.write("ๆบๅใชใใฑใผ๏ผ")
else:
st.write("ใพใ ๆบๅใงใใฆใชใใ๏ผ")
for ingredient in unchecked_ingredients:
st.write(ingredient["ingredient_name"])
|