mirror of
https://github.com/searxng/searxng.git
synced 2025-12-29 07:00:02 +00:00
* [mod] client/simple: client plugins
Defines a new interface for client side *"plugins"* that coexist with server
side plugin system. Each plugin (e.g., `InfiniteScroll`) extends the base
`ts Plugin`. Client side plugins are independent and lazy‑loaded via `router.ts`
when their `load()` conditions are met. On each navigation request, all
applicable plugins are instanced.
Since these are client side plugins, we can only invoke them once DOM is fully
loaded. E.g. `Calculator` will not render a new `answer` block until fully
loaded and executed.
For some plugins, we might want to handle its availability in `settings.yml`
and toggle in UI, like we do for server side plugins. In that case, we extend
`py Plugin` instancing only the information and then checking client side if
[`settings.plugins`](1ad832b1dc/client/simple/src/js/toolkit.ts (L134))
array has the plugin id.
* [mod] client/simple: rebuild static
54 lines
778 B
Plaintext
54 lines
778 B
Plaintext
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
#main_index {
|
|
margin-top: 26vh;
|
|
}
|
|
|
|
.index {
|
|
text-align: center;
|
|
|
|
.title {
|
|
background: url("./img/searxng.png") no-repeat;
|
|
min-height: 4rem;
|
|
margin: 4rem auto;
|
|
background-position: center;
|
|
background-size: contain;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 4em;
|
|
visibility: hidden;
|
|
}
|
|
|
|
#search,
|
|
#search_header {
|
|
margin: 0 auto;
|
|
background: inherit;
|
|
border: inherit;
|
|
padding: 0;
|
|
display: block;
|
|
}
|
|
|
|
.search_filters {
|
|
display: block;
|
|
margin: 1em 0;
|
|
}
|
|
|
|
.category label {
|
|
padding: 6px 10px;
|
|
border-bottom: initial !important;
|
|
}
|
|
}
|
|
|
|
@media screen and (max-width: @tablet) {
|
|
div.title {
|
|
h1 {
|
|
font-size: 1em;
|
|
}
|
|
}
|
|
|
|
#main_index {
|
|
margin-top: 6em;
|
|
}
|
|
}
|