schroda c32cb53592 Feature/improve refactored global search performance (#317)
* Move "search term" retrieval to parent component

Preparation for reducing re-renders.
Each "SourceSearchPreview" component would re-render at each key press.

* Memoize "SourceSearchPreview" components

Only re-render in case the "searchString" (or other props) changed.
Due to the query the components rendered everytime a key was pressed in the search field

* Hide "SourceSearchPreview" immediately in case the search query is empty

Do not wait for the debounced "searchString" in case it will be an empty string anyways

* Abort outdated search requests

In case many sources are being searched, the outdated requests can block the new ones.
To prevent this, the old ones will get canceled.

* Debounce source search result state changes

In case multiple search requests are finished in short succession, each state update would trigger an update.
By debouncing these updates, the search results do not "jump around" as much, since the sources get sorted by search request state and result
2023-05-23 13:35:09 +02:00
2021-08-08 04:45:35 +04:30
2023-02-13 20:21:44 +03:30
2021-09-02 14:15:03 +04:30
2021-08-18 05:12:57 +04:30
2023-03-27 21:23:48 +03:30
2021-08-18 05:34:00 +04:30
2023-05-23 13:25:48 +02:00
2023-02-13 20:31:25 +03:30
2023-05-23 13:25:48 +02:00

Hold up!

If you got here hoping to download Tachidesk-WebUI, go back and download Tachidesk-Server, Tachidesk-WebUI is distributed as an embedded web interface along with Tachidesk-Server.

Tachidesk-WebUI

WebUI doesn't have it's own Tachidesk distribution and is version locked by Tachidesk-Server, In other words the Tachidesk-WebUI distribution is actually the Tachidesk-Server distribution.

Online builds of WebUI of are always available here. Make sure to set your Tachidesk-Server hostname in Settings or you'll get infinite loading. Also note that its the latest revision of WebUI and might not work correctly if you connect to a stable build of Tachidesk-Server.

You can find minified builds of WebUI in Tachidesk-WebUI-preview

Contributing and Technical info

See CONTRIBUTING.md.

Translation

Feel free to translate the project on Weblate

Translation Progress Translation status

License

Copyright (C) Contributors to the Suwayomi project

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
Description
Material You styled Suwayomi WebUI
Readme 26 MiB
Languages
TypeScript 99.9%