From 8b25781e798158172a343998ce8b53f67fcbf32d Mon Sep 17 00:00:00 2001 From: epoberezkin Date: Sun, 12 Jul 2026 17:54:51 +0000 Subject: [PATCH] deploy: c1cc568704bc3e083ff9214f78dceba32851c7de --- js/directory.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/js/directory.js b/js/directory.js index bbf646a4d7..6f277588b5 100644 --- a/js/directory.js +++ b/js/directory.js @@ -273,10 +273,24 @@ function filterEntries(mode, s) { || (entry.displayName || '').toLowerCase().includes(query) || includesQuery(entry.shortDescr, query) || includesQuery(entry.welcomeMessage, query) + || simplexNameIncludesQuery(entry.simplexName, query) ) ); } +function simplexNameIncludesQuery(name, query) { + if (!name) return false; + const q = normalizeSimplexName(query); + return q !== '' && normalizeSimplexName(name).includes(q); +} + +function normalizeSimplexName(s) { + s = s.toLowerCase(); + if (s.startsWith('#') || s.startsWith('@')) s = s.slice(1); + if (s.endsWith('.simplex')) s = s.slice(0, -'.simplex'.length); + return s; +} + function includesQuery(field, query) { return field && Array.isArray(field) @@ -381,7 +395,7 @@ function displayEntries(entries) { for (let entry of entries) { try { - const { entryType, displayName, groupLink, shortDescr, welcomeMessage, imageFile } = entry; + const { entryType, displayName, simplexName, groupLink, shortDescr, welcomeMessage, imageFile } = entry; const entryDiv = document.createElement('div'); entryDiv.className = 'entry w-full flex flex-col items-start md:flex-row rounded-[4px] overflow-hidden shadow-[0px_20px_30px_rgba(0,0,0,0.12)] dark:shadow-none bg-white dark:bg-[#0B2A59] mb-8'; @@ -393,6 +407,13 @@ function displayEntries(entries) { nameElement.className = 'text-grey-black dark:text-white !text-lg md:!text-xl font-bold'; textContainer.appendChild(nameElement); + if (simplexName) { + const simplexNameElement = document.createElement('p'); + simplexNameElement.textContent = simplexName; + simplexNameElement.className = 'text-sm font-medium'; + textContainer.appendChild(simplexNameElement); + } + const welcomeMessageHTML = welcomeMessage ? renderMarkdown(welcomeMessage) : undefined; const shortDescrHTML = shortDescr ? renderMarkdown(shortDescr) : undefined; if (shortDescrHTML && welcomeMessageHTML?.includes(shortDescrHTML) !== true) {