import modelscope_studio.components.antd as antd import modelscope_studio.components.base as ms import gradio as gr from config import get_text def ThinkingButton(): state = gr.State({"enable_thinking": True}) with antd.Button(get_text("Thinking", "深度思考"), shape="round", color="primary", variant="solid") as thinking_btn: with ms.Slot("icon"): antd.Icon("SunOutlined") def toggle_thinking(state_value): state_value["enable_thinking"] = not state_value["enable_thinking"] return gr.update(value=state_value) def apply_state_change(state_value): return gr.update( variant="solid" if state_value["enable_thinking"] else "") state.change(fn=apply_state_change, inputs=[state], outputs=[thinking_btn]) thinking_btn.click(fn=toggle_thinking, inputs=[state], outputs=[state]) return state