94 lines
5.5 KiB
HTML
94 lines
5.5 KiB
HTML
<!-- REST variant -->
|
|
<div id="step-panel-3-rest" class="step-pane">
|
|
<div class="step-panel-header">
|
|
<div class="step-panel-eyebrow">
|
|
<div class="step-panel-eyebrow-line"></div>
|
|
<span data-step-counter>Step 3 of 5</span>
|
|
</div>
|
|
<h1 class="step-panel-title" data-i18n="wizard.step3.rest.title">HTTP метод и формат</h1>
|
|
<p class="step-panel-subtitle" data-i18n="wizard.step3.rest.subtitle">Выберите HTTP-метод и формат запроса. Crank подставит параметры MCP инструмента в запрос к API.</p>
|
|
</div>
|
|
|
|
<!-- HTTP method picker -->
|
|
<div class="config-card" style="margin-bottom: 20px;">
|
|
<div class="config-card-header">
|
|
<div class="config-card-header-icon">
|
|
<svg width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="var(--text-secondary)" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M2 8h12M10 4l4 4-4 4"/>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<div class="config-card-title" data-i18n="wizard.step3.rest.method_title">HTTP метод</div>
|
|
<div class="config-card-subtitle" data-i18n="wizard.step3.rest.method_subtitle">Метод, который отправляется в API при каждом вызове инструмента</div>
|
|
</div>
|
|
<span class="config-card-optional" style="color:var(--error,#f87171);" data-i18n="wizard.required">Required</span>
|
|
</div>
|
|
<div class="config-card-body">
|
|
<div class="method-grid">
|
|
<button class="method-card" data-method="GET" onclick="selectMethod(this)">
|
|
<span class="method-name">GET</span>
|
|
<span class="method-desc" data-i18n="wizard.step3.rest.read">Чтение</span>
|
|
</button>
|
|
<button class="method-card active" data-method="POST" onclick="selectMethod(this)">
|
|
<span class="method-name">POST</span>
|
|
<span class="method-desc" data-i18n="wizard.step3.rest.create">Создание</span>
|
|
</button>
|
|
<button class="method-card" data-method="PUT" onclick="selectMethod(this)">
|
|
<span class="method-name">PUT</span>
|
|
<span class="method-desc" data-i18n="wizard.step3.rest.replace">Замена</span>
|
|
</button>
|
|
<button class="method-card" data-method="PATCH" onclick="selectMethod(this)">
|
|
<span class="method-name">PATCH</span>
|
|
<span class="method-desc" data-i18n="wizard.step3.rest.update">Обновление</span>
|
|
</button>
|
|
<button class="method-card" data-method="DELETE" onclick="selectMethod(this)">
|
|
<span class="method-name">DELETE</span>
|
|
<span class="method-desc" data-i18n="wizard.step3.rest.remove">Удаление</span>
|
|
</button>
|
|
</div>
|
|
<div class="method-callout" id="method-callout-rest" hidden></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Request format -->
|
|
<div class="config-card" style="margin-bottom: 20px;">
|
|
<div class="config-card-header">
|
|
<div class="config-card-header-icon">
|
|
<svg width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="var(--text-secondary)" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round">
|
|
<rect x="2" y="3" width="12" height="10" rx="1.5"/>
|
|
<path d="M5 7h6M5 10h4"/>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<div class="config-card-title" data-i18n="wizard.step3.rest.format_title">Формат запроса</div>
|
|
<div class="config-card-subtitle" data-i18n="wizard.step3.rest.format_subtitle">Формат данных запроса и ожидаемого ответа</div>
|
|
</div>
|
|
<span class="config-card-optional" data-i18n="wizard.optional">Optional</span>
|
|
</div>
|
|
<div class="config-card-body" style="gap: 16px;">
|
|
<div class="form-row">
|
|
<div class="form-group">
|
|
<label class="form-label" data-i18n="wizard.step3.rest.content_type">Content-Type</label>
|
|
<select class="form-select">
|
|
<option selected>application/json</option>
|
|
<option>application/x-www-form-urlencoded</option>
|
|
<option>multipart/form-data</option>
|
|
<option>text/plain</option>
|
|
</select>
|
|
<div class="form-hint" data-i18n="wizard.step3.rest.content_type_hint">В каком формате отправлять данные в API.</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="form-label" data-i18n="wizard.step3.rest.accept">Accept</label>
|
|
<select class="form-select">
|
|
<option selected>application/json</option>
|
|
<option>text/plain</option>
|
|
<option>*/*</option>
|
|
</select>
|
|
<div class="form-hint" data-i18n="wizard.step3.rest.accept_hint">Какой формат ответа ожидать от API.</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div><!-- /step-pane-3-rest -->
|