import gradio as gr from utils import * duration = 42 start_patch = datetime.date(2023, 12, 27) # year, month, days end_patch = start_patch + datetime.timedelta(days = duration) print('patch 1.6: {0} - {1}'.format(start_patch, end_patch)) #depand on patch data_patch = {'n_character_banner':4, 'n_character_quest':{'first_half':0, 'second_half':0}} limited_event = {'gift_odyssey':{'reward':10, 'date':(start_patch, end_patch)}, #end date is completed event 'critter_pick':{'reward':500, 'date':(start_patch + datetime.timedelta(days = 2), start_patch + datetime.timedelta(days = 23))}, 'scent':{'reward':500, 'date':(start_patch + datetime.timedelta(days = duration // 2), end_patch)}, } permanent_event = {'gold_n_gear':{'reward':4000}, 'critter_pick':{'reward':250}, } moc_n_pf = {'MoC': 2, 'PF':1 } explore = 200 updating = [limited_event, permanent_event, explore, moc_n_pf] #user input mode = 0 equilibrium = 0 MoC = False ES = False BP = False def inference(mode_dropdown, equilibrium_dropdown, condition_checkbox): global start_patch, end_patch, mode, equilibrium, MoC, ES, BP mode = ["ทั้งหมด", "ครึ่งแรก", "ครึ่งหลัง"].index(mode_dropdown) equilibrium = int(equilibrium_dropdown) if "Memory of Chaos" in condition_checkbox: MoC = True else: MoC = False if "บัตรเสบียงรถไฟ" in condition_checkbox: ES = True else: ES = False if "Battle Pass" in condition_checkbox: BP = True else: BP = False reward = estimator(start_patch, end_patch, mode, equilibrium, data_patch, updating, MoC, ES, BP) reward_img = export_to_image(reward) graph = export_to_graph(reward) return reward_img, graph script = """function () { gradioURL = window.location.href if (!gradioURL.endsWith('?__theme=dark')) { window.location.replace(gradioURL + '?__theme=dark'); } } """ css_script = """ .gradio-container {background-color : #383838;} .dark {background-color : #383838;} .text_color {color : #D6D5A8;} """ theme = gr.themes.Soft() with gr.Blocks(css=".gradio-container {background-color:#363542;}") as demo: demo.load(js = script) gr.Markdown( """ # Stellar Jade Estimator Patch 1.6 ฝากติดตามผลงาน : https://www.youtube.com/@hewchayen
last update : 24/12/2023, 15:25 """, elem_classes='dark' ) with gr.Row(elem_classes='dark'): with gr.Column(elem_classes='dark'): mode_dropdown = gr.Dropdown(["ทั้งหมด", "ครึ่งแรก", "ครึ่งหลัง"], label="ระยะเวลาในการนับ", elem_classes='dark') equilibrium_dropdown = gr.Dropdown([0, 1, 2, 3, 4, 5, 6], label="ระดับสมดุล", info="เลือกระดับสมดุลของไอดี", elem_classes='dark') condition_checkbox = gr.CheckboxGroup(["Memory of Chaos", "บัตรเสบียงรถไฟ", "Battle Pass"], label="สถานะ (optional)", elem_classes='dark') button = gr.Button("Calculate", elem_classes='dark') output = gr.Image(label = "Reward", type="pil", elem_classes='dark') output2 = gr.Image(label = "Resource", elem_classes='dark') button.click(fn=inference, inputs=[mode_dropdown, equilibrium_dropdown, condition_checkbox], outputs = [output, output2],) demo.queue(api_open=False) demo.launch()