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