fix(sdk): jsx content join

and fix searx search title
This commit is contained in:
Artemy 2024-05-14 11:05:21 +03:00
parent d4aa5b47a6
commit 91cbc415bf
7 changed files with 39 additions and 48 deletions

View File

@ -11,13 +11,7 @@ export function PageFooter({
}) {
return (
<>
{page !== 1 ? (
<>
<a href={previous}>Previous </a> |
</>
) : (
<></>
)}
{page !== 1 ? <a href={previous}>Previous </a> : <></>}| {page} |
<a href={next}> Next</a>
</>
);

View File

@ -49,7 +49,7 @@ async function search(
const content = (
<>
{articles_parsed.map((a) => a.html).join('')}
{articles_parsed.map((a) => a.html)}
<PageFooter page={page} previous={previous} next={next} />
</>
);
@ -59,7 +59,7 @@ async function search(
return {
content: content,
textContent,
title: `${search} - Searx - Page ${page}`,
title: `"${(document.getElementById('q') as HTMLInputElement).value}" - Searx - Page ${page}`,
};
}

View File

@ -35,13 +35,11 @@ function postParser(el: Element | null): string {
const body = el.querySelector('.js-post-body')?.innerHTML || '';
const voteCount = el.querySelector('.js-vote-count')?.textContent || '';
const footer = [...el.querySelectorAll('.post-signature')]
.map((el) => {
const footer = [...el.querySelectorAll('.post-signature')].map((el) => {
const userName = el.querySelector('.user-details a')?.textContent || '';
const userUrl =
(el.querySelector('.user-details a') as HTMLAnchorElement)?.href || '';
const userTitle =
el.querySelector('.user-action-time')?.textContent || '';
const userTitle = el.querySelector('.user-action-time')?.textContent || '';
return (
<h4>
@ -55,8 +53,7 @@ function postParser(el: Element | null): string {
)}
</h4>
);
})
.join('');
});
return (
<>

View File

@ -3,9 +3,9 @@
/* Visit https://aka.ms/tsconfig to read more about this file */
/* Projects */
// "incremental": true /* Save .tsbuildinfo files to allow for incremental compilation of projects. */,
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
"incremental": true /* Save .tsbuildinfo files to allow for incremental compilation of projects. */,
// "composite": true /* Enable constraints that allow a TypeScript project to be used with project references. */,
"tsBuildInfoFile": "./.tsbuildinfo" /* Specify the path to .tsbuildinfo incremental compilation file. */,
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */

View File

@ -1,19 +1,19 @@
// eslint-disable-next-line @typescript-eslint/no-namespace
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable @typescript-eslint/no-namespace */
export namespace JSX {
export type Element = string;
export interface IntrinsicElements {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[elemName: string]: any;
}
}
export function createElement(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
name: any,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
props: { [id: string]: any },
...content: string[]
...inner: any[]
) {
const content = inner.flat().join('');
if (typeof name === 'string') {
props = props || {};
const propsstr = Object.keys(props)
@ -24,12 +24,12 @@ export function createElement(
})
.join(' ');
return content.length === 0
return inner.length === 0
? `<${name} ${propsstr}/>`
: `<${name} ${propsstr}>${content.join('')}</${name}>`;
: `<${name} ${propsstr}>${content}</${name}>`;
} else if (typeof name === 'function') {
return name(props, ...content);
return name(props, content);
} else {
return content.join('');
return content;
}
}

View File

@ -3,9 +3,9 @@
/* Visit https://aka.ms/tsconfig to read more about this file */
/* Projects */
// "incremental": true /* Save .tsbuildinfo files to allow for incremental compilation of projects. */,
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
"incremental": true /* Save .tsbuildinfo files to allow for incremental compilation of projects. */,
// "composite": true /* Enable constraints that allow a TypeScript project to be used with project references. */,
"tsBuildInfoFile": "./.tsbuildinfo" /* Specify the path to .tsbuildinfo incremental compilation file. */,
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */

View File

@ -3,9 +3,9 @@
/* Visit https://aka.ms/tsconfig to read more about this file */
/* Projects */
// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
"incremental": true /* Save .tsbuildinfo files to allow for incremental compilation of projects. */,
// "composite": true /* Enable constraints that allow a TypeScript project to be used with project references. */,
"tsBuildInfoFile": "./.tsbuildinfo" /* Specify the path to .tsbuildinfo incremental compilation file. */,
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */