MCPcopy Index your code
hub / github.com/jackvale/rectg / initSearch

Function initSearch

web/src/scripts/main.js:486–518  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

484}
485
486function initSearch() {
487 function clearSearch({ focus = true } = {}) {
488 if (!searchInput) return;
489 searchInput.value = '';
490 renderSection(currentSectionId, { updateUrl: true, clearSearch: false, scroll: false });
491 clearSearchBtn?.classList.remove('visible');
492 setResultStatus('', false);
493 if (focus) searchInput.focus();
494 }
495
496 searchInput?.addEventListener('input', (event) => {
497 renderSearch(event.target.value || '', { updateUrl: true });
498 });
499
500 clearSearchBtn?.addEventListener('click', () => clearSearch());
501 resultClearBtn?.addEventListener('click', () => clearSearch());
502
503 contentContainer?.addEventListener('click', (event) => {
504 const target = event.target;
505 if (!(target instanceof Element)) return;
506 const action = target.closest('[data-empty-action]')?.getAttribute('data-empty-action');
507 if (!action) return;
508
509 if (action === 'featured') {
510 if (searchInput) searchInput.value = '';
511 renderSection('featured', { updateUrl: true, clearSearch: false, scroll: true });
512 clearSearchBtn?.classList.remove('visible');
513 setResultStatus('', false);
514 } else if (action === 'clear') {
515 clearSearch();
516 }
517 });
518}
519
520async function copyUrl(url) {
521 const clipboard = window.navigator?.clipboard;

Callers

nothing calls this directly

Calls 4

renderSearchFunction · 0.85
clearSearchFunction · 0.85
renderSectionFunction · 0.85
setResultStatusFunction · 0.85

Tested by

no test coverage detected