Coloring's picture
feat: update
1969c22
raw
history blame contribute delete
750 Bytes
import gradio as gr
import modelscope_studio.components.base as ms
import modelscope_studio.components.legacy as mgr
def mount(_lifecycle, _state):
_state["theme"] = _lifecycle.theme
yield _state
def fn(_state):
theme = _state["theme"]
color = '000/fff' if theme == 'dark' else 'fff/000'
yield gr.update(
value=f"https://dummyimage.com/200x100/{color}.png&text={theme}")
with gr.Blocks() as demo, ms.Application():
lifecycle = mgr.Lifecycle()
state = gr.State({"theme": "light"})
btn = gr.Button()
image = gr.Image()
lifecycle.mount(fn=mount, inputs=[lifecycle, state], outputs=[state])
btn.click(fn=fn, inputs=[state], outputs=[image])
if __name__ == "__main__":
demo.queue().launch()