Files
searxng/searx/templates/simple/categories.html
Bnyro 52284fd320 [feat] categories: add icons for remaining category tabs (#6759)
Icons are provided for the main categories known to us.

The distinction between CATEGORY_GROUPS and CATEGORY_NAMES is abandoned in favor
of the latter.

HINT: we need single-color icons; transparent background and the color must be
`currentColor` so that the icons can be used in light/dark themes.

The following SVGs from the ionicons had to be revised (use ``currentColor``).

- client/simple/src/svg/ionicons/logo-rss.svg
- client/simple/src/svg/ionicons/radio-outline.svg
- client/simple/src/svg/ionicons/color-palette-outline.svg

For the following categories, I did not find any usable icons in Ionicons; new
SVGs were created for these categories.

- onions: client/simple/src/svg/ionicons/tor-browser.svg
- lyrics: client/simple/src/svg/ionicons/song-lyric-music.svg [1]
- packages: client/simple/src/svg/ionicons/package_2.svg [1]

[1] Based on Google's Material icons: https://fonts.google.com/icons

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-09-21 14:49:04 +02:00

53 lines
2.3 KiB
HTML

{% from 'simple/icons.html' import icon_big %}
{%- set category_icons = {
"apps": "appstore",
"blogs": "rss",
"dictionaries": "book",
"files": "file-tray-full",
"general": "search",
"icons": "palette",
"images": "image",
"it": "layers",
"lyrics": "lyrics",
"map": "location",
"movies": "videocam",
"music": "musical-notes",
"news": "newspaper",
"onions": "tor",
"packages": "package",
"radio": "radio",
"repos": "file-tray-stacked",
"science": "school",
"social media": "people",
"stock images": "camera",
"translate": "language",
"TV": "tv",
"videos": "play",
"weather": "rainy",
} -%}
<div id="categories" class="search_categories">{{- '' -}}
<div id="categories_container">
{%- if not search_on_category_select or not display_tooltip -%}
{%- for category in categories -%}
<div class="category category_checkbox">{{- '' -}}
<input type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}"{% if category in selected_categories %} checked="checked"{% endif %}>
<label for="checkbox_{{ category|replace(' ', '_') }}" class="tooltips">
{{- icon_big(category_icons[category]) if category in category_icons else icon_big('globe') -}}
<div class="category_name">{{- _(category) -}}</div>
</label>
</div>
{%- endfor -%}
{%- if display_tooltip %}<div class="help">{{ _('Click on the magnifier to perform search') }}</div>{% endif -%}
{%- else -%}
{%- for category in categories -%}{{- '\n' -}}
<button type="submit" name="category_{{ category }}" class="category category_button {% if category in selected_categories %}selected{% endif %}">
{{- icon_big(category_icons[category]) if category in category_icons else icon_big('globe') -}}
<div class="category_name">{{- _(category) -}}</div>{{- '' -}}
</button>{{- '' -}}
{%- endfor -%}
<input name="categories" id="selected-categories" type="hidden" />
{{- '\n' -}}
{%- endif -%}
</div>{{- '' -}}
</div>