finalize methods implementation

This commit is contained in:
overcuriousity
2025-07-19 18:54:31 +02:00
parent 1d048e816c
commit a8cc30d5ac
7 changed files with 245 additions and 33 deletions

View File

@@ -337,6 +337,7 @@ const tools = data.tools;
(window as any).switchToAIView = () => switchToView('ai');
function createToolCard(tool) {
const isMethod = tool.type === 'method';
const hasValidProjectUrl = tool.projectUrl !== undefined &&
tool.projectUrl !== null &&
tool.projectUrl !== "" &&
@@ -345,7 +346,9 @@ function createToolCard(tool) {
const hasKnowledgebase = tool.knowledgebase === true;
const cardDiv = document.createElement('div');
const cardClass = hasValidProjectUrl ? 'card card-hosted tool-card' : (tool.license !== 'Proprietary' ? 'card card-oss tool-card' : 'card tool-card');
const cardClass = isMethod ? 'card card-method tool-card' :
hasValidProjectUrl ? 'card card-hosted tool-card' :
(tool.license !== 'Proprietary' ? 'card card-oss tool-card' : 'card tool-card');
cardDiv.className = cardClass;
cardDiv.style.cursor = 'pointer';
cardDiv.onclick = () => (window as any).showToolDetails(tool.name);
@@ -354,8 +357,9 @@ function createToolCard(tool) {
<div class="tool-card-header">
<h3>${tool.name}</h3>
<div class="tool-card-badges">
${hasValidProjectUrl ? '<span class="badge badge-primary">CC24-Server</span>' : ''}
${tool.license !== 'Proprietary' ? '<span class="badge badge-success">OSS</span>' : ''}
${isMethod ? '<span class="badge" style="background-color: var(--color-method); color: white;">Methode</span>' : ''}
${!isMethod && hasValidProjectUrl ? '<span class="badge badge-primary">Self-Hosted</span>' : ''}
${!isMethod && tool.license !== 'Proprietary' ? '<span class="badge badge-success">OSS</span>' : ''}
${hasKnowledgebase ? '<span class="badge badge-error">📖</span>' : ''}
</div>
</div>
@@ -392,7 +396,7 @@ function createToolCard(tool) {
<polyline points="14 2 14 8 20 8"></polyline>
</svg>
<span style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;">
${tool.license === 'Proprietary' ? 'Prop.' : tool.license.split(' ')[0]}
${isMethod ? 'Methode' : tool.license === 'Proprietary' ? 'Prop.' : tool.license?.split(' ')[0] || 'N/A'}
</span>
</div>
</div>
@@ -402,7 +406,11 @@ function createToolCard(tool) {
</div>
<div class="tool-card-buttons" onclick="event.stopPropagation();">
${hasValidProjectUrl ? `
${isMethod ? `
<a href="${tool.projectUrl || tool.url}" target="_blank" rel="noopener noreferrer" class="btn btn-primary single-button" style="background-color: var(--color-method); border-color: var(--color-method);">
Zur Methode
</a>
` : hasValidProjectUrl ? `
<div class="button-row">
<a href="${tool.url}" target="_blank" rel="noopener noreferrer" class="btn btn-secondary">
Homepage