File size: 2,157 Bytes
162257d
5629c60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
from supabase import create_client, Client
from deep_translator import GoogleTranslator

URL = "https://ulqepcglktyojwtnhnga.supabase.co"
KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InVscWVwY2dsa3R5b2p3dG5obmdhIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzIwMDM0MjAsImV4cCI6MjA4NzU3OTQyMH0.JLcSI9fYNxjW0MSkJKexXU8KBRQUzrZEj7s7hcbXuAc"
supabase: Client = create_client(URL, KEY)

st.set_page_config(page_title="Info Prodotto", page_icon="🍷")
def translate(text, lang):
    if not text or lang == 'it': return text
    try: return GoogleTranslator(source='auto', target=lang).translate(text)
    except: return text

id_v = st.query_params.get("id")

if id_v:
    res = supabase.table("wine_labels").select("*").eq("id", id_v).execute()
    if res.data:
        v = res.data[0]
        t = {"Italiano": "it", "English": "en", "Français": "fr", "Deutsch": "de", "Español": "es"}[st.selectbox("🌍 Language", ["Italiano", "English", "Français", "Deutsch", "Español"])]
        
        st.markdown(f"### {v.get('brand_name', '')}")
        st.header(f"{v.get('wine_name', '')} {int(v.get('vintage', 0))}")
        
        if v.get('is_dealcoholized'):
            st.warning("⚠️ " + translate("Prodotto ottenuto mediante dealcolizzazione", t))
        
        st.subheader("📊 " + translate("Dichiarazione Nutrizionale", t))
        st.markdown(f"**{translate('Energia', t)}:** {int(v.get('energy_kj', 0))} kJ / {int(v.get('energy_kcal', 0))} kcal  \n**{translate('Zuccheri', t)}:** {v.get('carbs_sugar', 0)} g  \n**{translate('Sale', t)}:** {v.get('salt', 0)} g")
        st.info(f"**{translate('Ingredienti', t)}:** {translate(v.get('ingredients', ''), t)}")
        
        st.subheader("♻️ " + translate("Smaltimento", t))
        c1, c2, c3 = st.columns(3)
        c1.write(f"🍾 **Bottiglia**\n{v.get('bottle_material', 'GL 71')}")
        c2.write(f"🌱 **Tappo**\n{v.get('cork_material', 'FOR 51')}")
        c3.write(f"🛡️ **Capsula**\n{v.get('capsule_material', 'C/ALU 90')}")
    else:
        st.error("Etichetta non trovata.")
else:
    st.info("Scansiona un QR Code WineLink.")