diff --git a/public/scripts/extensions/assets/index.js b/public/scripts/extensions/assets/index.js index d9797d837..97881c16b 100644 --- a/public/scripts/extensions/assets/index.js +++ b/public/scripts/extensions/assets/index.js @@ -184,6 +184,7 @@ function downloadAssetsList(url) { const url = isValidUrl(asset['url']) ? asset['url'] : ''; const title = assetType === 'extension' ? `Extension repo/guide: ${url}` : 'Preview in browser'; const previewIcon = (assetType === 'extension' || assetType === 'character') ? 'fa-arrow-up-right-from-square' : 'fa-headphones-simple'; + const toolTag = assetType === 'extension' && asset['tool']; const assetBlock = $('') .append(element) @@ -193,12 +194,20 @@ function downloadAssetsList(url) { + ${toolTag ? ' Tool' : ''} ${description} `); + assetBlock.find('.tag').on('click', function (e) { + const a = document.createElement('a'); + a.href = 'https://docs.sillytavern.app/for-contributors/function-calling/'; + a.target = '_blank'; + a.click(); + }); + if (assetType === 'character') { if (asset.highlight) { assetBlock.find('.asset-name').append(''); @@ -354,7 +363,7 @@ async function openCharacterBrowser(forceDefault) { for (const character of characters.sort((a, b) => a.name.localeCompare(b.name))) { const listElement = template.find(character.highlight ? '.contestWinnersList' : '.featuredCharactersList'); const characterElement = $(await renderExtensionTemplateAsync(MODULE_NAME, 'character', character)); - const downloadButton = characterElement.find('.characterAssetDownloadButton'); + const downloadButton = characterElement.find('.characterAssetDownloadButton'); const checkMark = characterElement.find('.characterAssetCheckMark'); const isInstalled = isAssetInstalled('character', character.id); diff --git a/public/scripts/extensions/assets/style.css b/public/scripts/extensions/assets/style.css index c8b0a2584..dcf12fd01 100644 --- a/public/scripts/extensions/assets/style.css +++ b/public/scripts/extensions/assets/style.css @@ -164,3 +164,12 @@ gap: 5px; align-items: center; } + +.asset-name .tag { + gap: 5px; + align-items: baseline; + font-size: calc(var(--mainFontSize)* 0.8); + cursor: pointer; + opacity: 0.9; + margin-left: 2px; +}