Spaces:
Build error
Build error
| import gradio as gr | |
| # Replace the CSV data loading with in-memory data | |
| data = [ | |
| {"่็ตฒ้ฆฌ่ทก": 1, "ๅซ็็ฏ": "5ๅฐๆทๆทๅธซๅ ", "็ดๆฅ่ญๆ": "SAS", "้ๆฅ่ญๆ": "RHS SSS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/5JLMDX.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 2, "ๅซ็็ฏ": "7ๅ้ธไบบ", "็ดๆฅ่ญๆ": "SSS", "้ๆฅ่ญๆ": "SAS ASA AAS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/WmOolp.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 3, "ๅซ็็ฏ": "8ๅ่ป้ท", "็ดๆฅ่ญๆ": "SAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/Fk6fHM.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 4, "ๅซ็็ฏ": "2่พฒๅคซ", "็ดๆฅ่ญๆ": "SSS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/9z0FQ1.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 5, "ๅซ็็ฏ": "1ๆผๅคซ", "็ดๆฅ่ญๆ": "RHS", "้ๆฅ่ญๆ": "SAS SSS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/91iAHn.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 6, "ๅซ็็ฏ": "4ๅปๅธซ", "็ดๆฅ่ญๆ": "ASA", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/pSbKqG.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 7, "ๅซ็็ฏ": "3ๅฅณๅ", "็ดๆฅ่ญๆ": "RHS", "้ๆฅ่ญๆ": "SAS SSS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/XGoFYq.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 8, "ๅซ็็ฏ": "6ๆฃๅฃซ", "็ดๆฅ่ญๆ": "AAS", "้ๆฅ่ญๆ": "ASA", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/dMZ4I8.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 9, "ๅซ็็ฏ": "10่ญ่พ่่ ", "็ดๆฅ่ญๆ": "SSS", "้ๆฅ่ญๆ": "SAS AAS ASA", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/nFohKW.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 10, "ๅซ็็ฏ": "9 DJ", "็ดๆฅ่ญๆ": "SAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/5fwCDV.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 11, "ๅซ็็ฏ": "16้ ๅๅธซ", "็ดๆฅ่ญๆ": "RHS", "้ๆฅ่ญๆ": "SSS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/zd4iXu.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 12, "ๅซ็็ฏ": "12ๆๅฎ", "็ดๆฅ่ญๆ": "SSS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/3q4ICp.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 13, "ๅซ็็ฏ": "14้ณๆจๅฎถ", "็ดๆฅ่ญๆ": "ASA AAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/CIKmMs.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 14, "ๅซ็็ฏ": "13่ปไบบ", "็ดๆฅ่ญๆ": "ASA", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/BfGyn5.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 15, "ๅซ็็ฏ": "17ๅๅฐ", "็ดๆฅ่ญๆ": "ASA AAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/prwQVq.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 16, "ๅซ็็ฏ": "18ๆญๆ", "็ดๆฅ่ญๆ": "AAS", "้ๆฅ่ญๆ": "ASA", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/mtBa2p.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 17, "ๅซ็็ฏ": "11้ซ็", "็ดๆฅ่ญๆ": "SAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/T8kgnq.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 18, "ๅซ็็ฏ": "15ๅฃฝๅธๅธซๅ ", "็ดๆฅ่ญๆ": "SAS", "้ๆฅ่ญๆ": "AAS ASA SSS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/fWMhki.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 19, "ๅซ็็ฏ": "21้ตๅทฎ", "็ดๆฅ่ญๆ": "RHS", "้ๆฅ่ญๆ": "SAS SSS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/kUuriv.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 20, "ๅซ็็ฏ": "19็ฑ็ๅก", "็ดๆฅ่ญๆ": "RHS", "้ๆฅ่ญๆ": "SSS SAS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/uhman9.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 21, "ๅซ็็ฏ": "22ๆณๅฎ", "็ดๆฅ่ญๆ": "ASA AAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/R1ZipX.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 22, "ๅซ็็ฏ": "20ๆผซ็ซๅฎถ", "็ดๆฅ่ญๆ": "ASA AAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/yaZhP7.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 23, "ๅซ็็ฏ": "25ๆฎบๆ", "็ดๆฅ่ญๆ": "ASA AAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/5dVfQW.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 24, "ๅซ็็ฏ": "28็งๅญธๅฎถ", "็ดๆฅ่ญๆ": "ASA AAS", "้ๆฅ่ญๆ": "็ก", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/Vj8MfX.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 25, "ๅซ็็ฏ": "27ๅคช็ฉบไบบ", "็ดๆฅ่ญๆ": "SSS", "้ๆฅ่ญๆ": "ASA AAS RHS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/hdso0N.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 26, "ๅซ็็ฏ": "23้ ไฟ", "็ดๆฅ่ญๆ": "AAS", "้ๆฅ่ญๆ": "ASA", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/UFJMlD.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 27, "ๅซ็็ฏ": "24้ญ่กๅธซ", "็ดๆฅ่ญๆ": "ASA", "้ๆฅ่ญๆ": "AAS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/jEAikS.png"}, | |
| {"่็ตฒ้ฆฌ่ทก": 28, "ๅซ็็ฏ": "26ไฟๅ จ", "็ดๆฅ่ญๆ": "ASA", "้ๆฅ่ญๆ": "AAS", "ๅซ็็ฏๅ็": "https://upload.cc/i1/2024/12/24/zh7qco.png"} | |
| ] | |
| # To store the indirect evidence dynamically | |
| indirect_evidence_store = "" | |
| def query_data(clue_number): | |
| global indirect_evidence_store | |
| try: | |
| clue_number = int(clue_number) | |
| row = next((item for item in data if item['่็ตฒ้ฆฌ่ทก'] == clue_number), None) | |
| if row: | |
| suspect = row['ๅซ็็ฏ'] | |
| direct_evidence = row['็ดๆฅ่ญๆ'] | |
| indirect_evidence_store = row['้ๆฅ่ญๆ'] if row['้ๆฅ่ญๆ'] else "็ก้ๆฅ่ญๆ" | |
| image_url = row['ๅซ็็ฏๅ็'] if row['ๅซ็็ฏๅ็'] else None | |
| return ( | |
| f"ๅซ็็ฏ: {suspect}\n็ดๆฅ่ญๆ: {direct_evidence}", | |
| gr.update(visible=True), | |
| gr.update(value="", visible=False), | |
| image_url if image_url else None | |
| ) | |
| else: | |
| return ( | |
| "ๆชๆพๅฐ็ธ้่ณๆ๏ผ่ซๆชขๆฅ่็ตฒ้ฆฌ่ทก่็ขผๆฏๅฆๆญฃ็ขบใ", | |
| gr.update(visible=False), | |
| gr.update(value="", visible=False), | |
| None | |
| ) | |
| except ValueError: | |
| return ( | |
| "่ซ่ผธๅ ฅๆๆ็ๆธๅญใ", | |
| gr.update(visible=False), | |
| gr.update(value="", visible=False), | |
| None | |
| ) | |
| def show_indirect_evidence(): | |
| global indirect_evidence_store | |
| return gr.update(value=indirect_evidence_store, visible=True) | |
| def reset_fields(): | |
| global indirect_evidence_store | |
| indirect_evidence_store = "" | |
| return ( | |
| "", | |
| gr.update(visible=False), | |
| gr.update(value="", visible=False), | |
| gr.update(value="", visible=True), | |
| None | |
| ) | |
| # Create the Gradio interface | |
| with gr.Blocks() as demo: | |
| gr.Markdown("<h1>ๅซ็็ฏABC็็พ่บซ</h1>") | |
| gr.Markdown("<h3>ๆณๅฎ็ณป็ตฑ</h3>") | |
| with gr.Row(): | |
| input_box = gr.Textbox(label="่ซ่ผธๅ ฅ่็ตฒ้ฆฌ่ทก่็ขผ", placeholder="ไพๅฆ: 11", lines=1) | |
| query_button = gr.Button("ๆฅ่ฉข") | |
| output_box = gr.Textbox(label="ๆฅ่ฉข็ตๆ", interactive=False) | |
| image_output = gr.Image(label="ๅซ็็ฏๅ็", visible=True) | |
| indirect_button = gr.Button("้ๆฅ่ญๆ", visible=False) | |
| indirect_output = gr.Textbox(label="้ๆฅ่ญๆๅ งๅฎน", interactive=False, visible=False) | |
| reset_button = gr.Button("้ๆฐๆฅ่ฉข") | |
| # Bind actions to functions | |
| query_button.click( | |
| query_data, | |
| inputs=input_box, | |
| outputs=[output_box, indirect_button, indirect_output, image_output] | |
| ) | |
| indirect_button.click( | |
| show_indirect_evidence, | |
| inputs=None, | |
| outputs=indirect_output | |
| ) | |
| reset_button.click( | |
| reset_fields, | |
| inputs=None, | |
| outputs=[input_box, indirect_button, indirect_output, output_box, image_output] | |
| ) | |
| # Launch the Gradio app | |
| demo.launch() |