summaryrefslogtreecommitdiff
path: root/client/simple/src/js
AgeCommit message (Collapse)Author
2025-08-18[mod] theme/simple: migrate codebase to TypeScriptIvan Gabaldon
TypeScript is a superset of JavaScript, converting the entire theme to TypeScript allows us to receive much more feedback on possible issues made in package updates or our own typos, furthermore, it allows to transpile properly to lower specs. This PR couldn't be done in smaller commits, a lot of work needed to make everything *work properly*: - A browser baseline has been set that requires minimum **Chromium 93, Firefox 92 and Safari 15** (proper visuals/operation on older browser versions is not guaranteed) - LightningCSS now handles minification and prefix creation for CSS. - All hardcoded polyfills and support for previous browser baseline versions have been removed. - Convert codebase to TypeScript. - Convert IIFE to ESM, handling globals with IIFE is cumbersome, ESM is the standard for virtually any use of JS nowadays. - Vite now builds the theme without the need for `vite-plugin-static-copy`. - `searxng.ready` now accepts an array of conditions for the callback to be executed. - Replace `leaflet` with `ol` as there were some issues with proper Vite bundling. - Merged `head` with `main` script, as head was too small now. - Add `assertElement` to properly check the existence of critical DOM elements. - `searxng.on` renamed to `searxng.listen` with some handling improvements.
2025-07-03[mod] theme/simple: fmt/lint major passIvan Gabaldon
*Not so safe* changes, no behaviour changes. - More ES5 to ES2015+ conversion. - Make Biome not cry anymore applying remaining changes.
2025-07-03[mod] theme/simple: fmt/lint minor passIvan Gabaldon
*Safe* changes, no behaviour changes. - Initial ES5 to ES2015+ conversion. - Plenty of styling diff changes.
2025-05-25[fix] search: autocomplete focus on results pageBnyro
This has been a regression introduced with the removal of the unmaintained autocomplete.js library. We should only focus the search bar on the main search page at `/` and not at the results page located at `/search`. I'm not sure if there's a better way to figure out if we're on the results page than checking if the id of the main element is `#main_results`, checking the path obviously isn't a better solution because it can differ depending on the instance / reverse proxy / .... - related to https://github.com/searxng/searxng/commit/32823ecb69b115a6726475d6421f0a1c0327fafa - closes https://github.com/searxng/searxng/issues/4846
2025-05-22[refactor] search.js: use custom auto completion implementationBnyro
The previously used library is unmaintained for 6 years now [1] and the solution had know issues [2][3] [1] https://github.com/searxng/searxng/pull/4284#discussion_r1954493434 [2] https://github.com/searxng/searxng/pull/4318#issuecomment-2731576657 [3] https://github.com/privau/searxng/issues/56
2025-04-03[fix] client/simple: add missing "swiped-events" devDependencies (import)Markus Heiser
In commit 1a3543d4b in PR-4284 [1] the swiped-events [2] were forgotten to be migrated. In this patch, the event library is added to the ``devDependencies`` and imported by:: import "../../../node_modules/swiped-events/src/swiped-events.js [1] https://github.com/searxng/searxng/pull/4284 [2] https://www.npmjs.com/package/swiped-events Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> Reported-by: https://github.com/searxng/searxng/pull/4198#issuecomment-2770734321
2025-02-28[web-client] simple theme: move sources to client/simple/srcMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-02-28[web-client] simple theme: build & development env based on vite.Markus Heiser
Vite is a build tool, it consists of two major parts [1]: - A dev server that provides rich feature enhancements over native ES modules, for example extremely fast Hot Module Replacement (HMR). - A build command that bundles your code with Rollup, pre-configured to output highly optimized static assets for production. [1] https://vite.dev/guide/ Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>