feat: wire brain service to platform gateway
- Gateway proxies /api/brain/* to brain-api:8200/api/* via pangolin network - User identity injected via X-Gateway-User-Id header - Brain app registered in gateway database (sort_order 9) - Added to GATEWAY_KEY_SERVICES for dashboard integration - Tested: health, config, list, create all working through gateway Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -622,7 +622,13 @@
|
||||
{#if editingField === 'Item'}
|
||||
<input class="edit-input detail-title-edit" type="text" bind:value={editValue} onkeydown={handleEditKeydown} onblur={saveEdit} autofocus />
|
||||
{:else}
|
||||
<div class="detail-title editable" onclick={() => startEdit('Item', rawField('Item'))}>{selectedItem.name}</div>
|
||||
<div
|
||||
class="detail-title editable"
|
||||
class:is-empty={!selectedItem.name}
|
||||
onclick={() => startEdit('Item', rawField('Item'))}
|
||||
>
|
||||
{selectedItem.name || 'Add item title'}
|
||||
</div>
|
||||
{/if}
|
||||
<button class="detail-close" onclick={closeDetail}>Close</button>
|
||||
</div>
|
||||
@@ -909,12 +915,18 @@
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
.detail-title.is-empty {
|
||||
color: #8a7a69;
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
.status-control { display: flex; justify-content: center; gap: 0; margin: 0 8px 22px; background: rgba(255,255,255,0.72); border: 1px solid rgba(35,26,17,0.09); border-radius: var(--radius); padding: 3px; }
|
||||
.status-seg { flex: 1; padding: 8px 0; font-size: var(--text-sm); background: none; border: none; border-radius: 10px; }
|
||||
.status-seg.active[data-status="Issue"] { background: var(--error-dim); color: var(--error); }
|
||||
.status-seg.active[data-status="Pending"] { background: var(--warning-bg); color: var(--warning); }
|
||||
.status-seg.active[data-status="Received"] { background: var(--success-dim); color: var(--success); }
|
||||
.status-seg.active[data-status="Needs Review"] { background: rgba(217,119,6,0.12); color: #9a5d09; }
|
||||
.status-seg.active[data-status="Closed"] { background: rgba(78, 67, 58, 0.14); color: #4f453d; }
|
||||
.detail-hero {
|
||||
margin-bottom: var(--sp-5);
|
||||
}
|
||||
@@ -980,6 +992,7 @@
|
||||
.field-value { font-size: var(--text-base); color: #1e1812; text-align: right; }
|
||||
.detail-row.editable, .detail-title.editable { cursor: pointer; }
|
||||
.detail-row.editable:hover { background: rgba(255,248,242,0.62); }
|
||||
.detail-title.editable:hover { color: #17120d; }
|
||||
.edit-input { width: 100%; padding: 6px 10px; border-radius: var(--radius-sm); border: 1px solid var(--accent); background: rgba(255,255,255,0.9); color: #1e1812; }
|
||||
.detail-title-edit { font-size: var(--text-lg); font-weight: 600; text-align: left; flex: 1; min-width: 0; }
|
||||
.upload-menu { position: absolute; left: 0; right: 0; top: 100%; margin-top: var(--sp-1); z-index: 10; background: rgba(255,250,244,0.96); border: 1px solid rgba(35,26,17,0.09); border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(18,13,10,0.1); }
|
||||
|
||||
Reference in New Issue
Block a user