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"])