knowledgebase overhaul
This commit is contained in:
@@ -383,7 +383,45 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
return `<p style="margin: 0; line-height: 1.6; color: var(--color-text);">${text}</p>`;
|
||||
}
|
||||
|
||||
// Display results for workflow mode (existing functionality)
|
||||
// NEW: Function to render background knowledge concepts
|
||||
function renderBackgroundKnowledge(backgroundKnowledge) {
|
||||
if (!backgroundKnowledge || backgroundKnowledge.length === 0) {
|
||||
return '';
|
||||
}
|
||||
|
||||
const conceptLinks = backgroundKnowledge.map(concept => `
|
||||
<div class="concept-recommendation" style="background-color: var(--color-concept-bg); border: 1px solid var(--color-concept); border-radius: 0.5rem; padding: 1rem; margin-bottom: 0.75rem;">
|
||||
<div style="display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem;">
|
||||
<button class="concept-link"
|
||||
onclick="event.stopPropagation(); window.showToolDetails('${concept.concept_name}', 'secondary')"
|
||||
style="background: none; border: none; color: var(--color-concept); font-weight: 600; cursor: pointer; text-decoration: underline; font-size: 0.875rem; padding: 0;"
|
||||
onmouseover="this.style.color='var(--color-concept-hover)';"
|
||||
onmouseout="this.style.color='var(--color-concept)';">
|
||||
📚 ${concept.concept_name}
|
||||
</button>
|
||||
<span class="badge" style="background-color: var(--color-concept); color: white; font-size: 0.625rem;">Hintergrundwissen</span>
|
||||
</div>
|
||||
<p style="margin: 0; font-size: 0.8125rem; line-height: 1.5; color: var(--color-text-secondary);">
|
||||
${concept.relevance}
|
||||
</p>
|
||||
</div>
|
||||
`).join('');
|
||||
|
||||
return `
|
||||
<div class="card" style="margin-bottom: 2rem; border-left: 4px solid var(--color-concept);">
|
||||
<h4 style="margin: 0 0 1rem 0; color: var(--color-concept); display: flex; align-items: center; gap: 0.5rem;">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/>
|
||||
<path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/>
|
||||
</svg>
|
||||
Empfohlenes Hintergrundwissen
|
||||
</h4>
|
||||
${conceptLinks}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
// Display results for workflow mode (ENHANCED with concepts)
|
||||
function displayWorkflowResults(recommendation, originalQuery) {
|
||||
// Group tools by phase
|
||||
const toolsByPhase = {};
|
||||
@@ -434,6 +472,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
</div>
|
||||
` : ''}
|
||||
|
||||
${renderBackgroundKnowledge(recommendation.background_knowledge)}
|
||||
|
||||
${phaseOrder.map((phase, index) => {
|
||||
const phaseTools = toolsByPhase[phase];
|
||||
if (phaseTools.length === 0) return '';
|
||||
@@ -540,7 +580,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
aiResults.appendChild(tempDiv);
|
||||
}
|
||||
|
||||
// Display results for tool-specific mode (new functionality)
|
||||
// Display results for tool-specific mode (ENHANCED with concepts)
|
||||
function displayToolResults(recommendation, originalQuery) {
|
||||
function getSuitabilityText(score) {
|
||||
const suitabilityTexts = {
|
||||
@@ -597,6 +637,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
</div>
|
||||
` : ''}
|
||||
|
||||
${renderBackgroundKnowledge(recommendation.background_knowledge)}
|
||||
|
||||
<div class="tool-recommendations-grid" style="display: grid; gap: 1.5rem;">
|
||||
${recommendation.recommended_tools?.map((toolRec, index) => {
|
||||
const fullTool = tools.find(t => t.name === toolRec.name);
|
||||
|
||||
Reference in New Issue
Block a user