Awesome
Description
<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">
This is the mobile (Android & iOS) client of SilverDict, considered feature-complete now.
I cannot develop the iOS version because I don't have a Mac or a 99 USD/year Apple Developer account. If you would like to help, please contact me.
Roadmap
Perhaps before I do anything else, I should switch to Kotlin (which would make so many things easier) since I won't develop for iOS.
Kotlin's all Greek to me, so I'll stick with JavaScript for now.
- Basic UI (Search, History/Suggestion, Settings, etc.)
- Go back/forwards in local history
- Zoom in/out and remember the zoom level
- Find in page
- Tap to search
- Dictionary/Group management
- Two-column view on wider screens
- Localisation
- Launch SilverDict from context menu (that is, when you select a word in another app, you can choose to search for it in SilverDict. Also this would make it integrate better with e-book readers.)
Issues
- Dynamic screen width in WebView (if you rotate from portrait to landscape, the WebView will not be resized)
- The WebView takes too long to load (1 - 300 ms). When the entire Dark Reader library is loaded, the minimum could be as long as 100 ms.
Development
Prerequisites
- React Native (without Expo), Android SDK, Xcode, etc.
- A working SilverDict server for testing
- React Native Paper
- React Navigation
Build
yarn install
yarn start
yarn android
Note
The Dark Reader extension is taken from the NPM package, uglified and turned into a string to make it injectable into the WebView.
There has been a huge update to the web UI recently, which might supersede this project completely, since it doesn't have any Android system integration yet…