summaryrefslogtreecommitdiff
path: root/client/simple/src/js/util/appendAnswerElement.ts
blob: d21db3f4827aa940451a934c56141a8eb151e7f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// SPDX-License-Identifier: AGPL-3.0-or-later

import { getElement } from "./getElement.ts";

export const appendAnswerElement = (element: HTMLElement | string | number): void => {
  const results = getElement<HTMLDivElement>("results");

  // ./searx/templates/elements/answers.html
  let answers = getElement<HTMLDivElement>("answers", { assert: false });
  if (!answers) {
    // what is this?
    const answersTitle = document.createElement("h4");
    answersTitle.setAttribute("class", "title");
    answersTitle.setAttribute("id", "answers-title");
    answersTitle.textContent = "Answers : ";

    answers = document.createElement("div");
    answers.setAttribute("id", "answers");
    answers.setAttribute("role", "complementary");
    answers.setAttribute("aria-labelledby", "answers-title");
    answers.appendChild(answersTitle);
  }

  if (!(element instanceof HTMLElement)) {
    const span = document.createElement("span");
    span.innerHTML = element.toString();
    // biome-ignore lint/style/noParameterAssign: TODO
    element = span;
  }

  answers.appendChild(element);

  results.insertAdjacentElement("afterbegin", answers);
};