{ "widgettype": "VBox", "options": { "width": "100%", "height": "100%", "padding": "20px" }, "subwidgets": [ { "widgettype": "Text", "options": { "text": "Create New Session", "fontSize": "24px", "fontWeight": "bold", "marginBottom": "20px", "color": "#F8FAFC" } }, { "widgettype": "Form", "id": "new-session-form", "options": { "fields": [ { "name": "service_id", "label": "Service", "uitype": "select", "required": true, "data_url": "/hermes-web-cli/services/list" }, { "name": "initial_message", "label": "Initial Message", "uitype": "textarea", "required": true, "placeholder": "Enter your initial message to start the conversation..." } ] } }, { "widgettype": "HBox", "options": { "width": "100%", "height": "auto", "marginTop": "20px", "gap": "10px" }, "subwidgets": [ { "widgettype": "Button", "options": { "icon": "fa fa-plus", "backgroundColor": "#22C55E", "color": "#FFFFFF", "border": "none", "borderRadius": "6px", "padding": "10px 20px", "label": "Create Session" }, "binds": [ { "wid": "self", "event": "click", "actiontype": "script", "script": "const formData = bricks.app.get_widget('new-session-form').get_data(); if (formData.service_id && formData.initial_message) { fetch('/hermes-web-cli/sessions', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(formData) }).then(response => response.json()).then(data => { bricks.app.load_widget('{{entire_url(\"session_detail.ui\")}}?session_id=' + data.session_id, 'main-content', 'replace'); }); }" } ] }, { "widgettype": "Button", "options": { "backgroundColor": "#64748B", "color": "#FFFFFF", "border": "none", "borderRadius": "6px", "padding": "10px 20px", "label": "Cancel" }, "binds": [ { "wid": "self", "event": "click", "actiontype": "urlwidget", "target": "main-content", "options": { "url": "{{entire_url('index.ui')}}" }, "mode": "replace" } ] } ] } ] }