Flutter text widgets to use - flutter

Need help to understand if Flutter can help us.
We are looking at flutter for app development for a rewrite of a js electron for desktop and js webview for mobiles.
It is basically a sophisticated reading app with multiple dictionaries and searching algorithms and other features specific to an Asian language and also English parallel translations.
We want to display Religious books in the native Unicode language with extensive dictionary support.
The books will have some bold and heading text markup (the markup style can be any format but we currently use html styles).
The books will be in a sqlite DB and streamed to the user.
The books will be stored in the db by paragraph.. We need to display this in a built up flow to the user.
The books will have some items which can be displayed or hidden upon user request but we can regenerate the display if needed. (currently it does live through js).
The books will need to communicate if a tap() or Textselect() event has been called (we often tap to select a word and it goes to a custom dictionary).
Searching for strings in the book will be done by paragraph and then we need to 1) highlight the text and bring the user to that text.
We wish to implement infinite scroll or "Lazy load" as the books are very big and often text processing to change the native script font is involved before display.
Conclusion
I think this captures much of what we want to have.
I have done some work in flutter, but i'm very new to it.
It seems that there is a SelectableText.rich widget and perhaps we could connect them together in an infinite scroll list widget from pub.dev
For hiding the page numbers.. and alt readings, it is fine to reload the book and remove those as we feed the widget with text.
There are a few html widgets, but I'm not sure if it gives select and tap events.
Can Flutter do this for us?
Are there packages that I'm not aware of?
Am I heading in the wrong direction?

I have done a test called https://github.com/bksubhuti/mydbtest
It seems to work.. the selecting of texts are off by a few bits, but it is workable..
However, I have found a full app for my purpose already written in flutter with a sqlite philosophy already working. The dev and myself are in touch and the project has been upgraded to null safety. Flutter is awesome. In about a month.. part time.. I have learned flutter and written my first app and submitted it to the play store called Buddhist Sun. (pending approval). I use sqflite and the multiplatform eq for getting cities.. the db search of cities was more of a flutter tutorial for me than purpose.
https://github.com/bksubhuti/buddhist_sun
Flutter will be the language of the future. I'm so amazed at how great it works and all the packages on pub.dev

Related

Flutter markdown editor with mention dropdown support on web

I have actually spent a lot of time looking for a solution for this. Stackoverflow is my last resort. Before I dive in I would like to describe my requirements.
My requirements,
I need an editor like slack that automatically converts markdown to relevant TextStyle or html. For example if I type, ## Hello and press enter. it is styled as H2 styled text.
Moreover, I also need to show a dropdown whenever I press # or # to select from a list of options.
In short, I need something like quip, slite or medium.
I was hoping that this will be easy in flutter, given half of these features are already there in Google's Gmail and other apps by google by havent yet found a single library that meets these requirements.
What I have already tried?
Quil: I found out by flutter_quill but for that I have to stick to a toolbar on the top. And no mentions support.
Zefyr and html_editor: I have tried these, but they are very buggy and slow. Moreover, they have very limited documentations.
Custom Flutter: Medium-like Text Editor. This is the most promising solution but it is lacking one essential feature of text editor. The article proposes that I divide the entire input field into multiple text fields which I can control using state. But this has one big problem that is, what if I want to select the entire body of text. Any hacks on this will be well appreciated.
If you have any questions and if the question isn't clear enough, please free to comment down below.

How to find the input form in the Flutter mobile program structure?

I have a task to solve a bug for an application form update on an application that uses Flutter when it is built. However, this is my first time using Flutter, and the program structure is a bit confusing. Can you tell me the easiest way to find the form structure in a Flutter program?
Start with exploring the screens available in your project to know which screen is being displayed that you need to debug. Then have a look at the widgets which this screen is composed of to point to the one that is causing the bug.

How to manually change Locale in flutter?

I'm kind of new to flutter development and I've hit a big wall with the issue of making the app "international".
For this project, it's supposed to be available in 3 languages including english. So I've followed the flutter tutorial available here. I wrote 3 .arb files, and everything works with the phone's language. Now I'm supposed to create a button in the settings page that allows me to manually switch language.
And that's where I'm stuck. I've found many tutorials from different pages, all different, none of them I was able to make work. I've defined globale Locales and I've tried to call AndroidLocalizationDelegate.load(myLocaleEN) to no avail.
Any help is appreciated, I'm really lost!
If you're using MaterialApp / CupertinoApp / WidgetsApp then you can just pass your current locale with the locale parameter.
So you can treat your locale as any other state in the app – change it on button press, store it in shared preferences, etc.

Which is the better way to white-label a flutter app

I have one project that I have to sell to another clients, so I wanna found a way to unify the code to, when I release some updates, I have to manipulate only one code (and, of course, keeping the specificities from each one)
I found an article HERE which the guy creates a new folder named 'config' and set some variables there to be used in the parent project. I tried this but find out that would be very tough to do because the first app was developed specifically by one client, and with it I would need so much time to make all the aspects dynamic... Another problem is firebase, in first app I used firebase but in the second i won't. How to make it possible?
And in this article they say about 'flavours' that can be used to do something similar.
Someone knows about this approaches or there is another to reach my goal? With flavours I will have less re-factor than with config?
I appreciate any help
A third way to do this with no client specific app configuration is to make an api call to get back your client specific theme, and then set the flutter theme based on this.
If you need web support see below:
First update your assets in index.html that aren't white labeled, leaving stubs in their place that we'll fill in later. i.e.
Next show a nice loading indicator while flutter loads. To do this, just put the html for it in the body element of the index.html file.
Finally update the webpage title and favicon using javascript inside Flutter. I used package
universal_html: 2.0.8
https://pub.dev/packages/universal_html
then you can update the favicon
import 'package:universal_html/html.dart';
var favicon = document.getElementById('favicon');
favicon?.setAttribute('href','insertLinkToYourImage');
Updating the title can be accomplished in various normal ways like just setting the title attribute of a MaterialApp widget.

Translation-oriented CMS/Wiki/HelpPortal systems?

We need to run a help portal for users of our application. We want every page to be accesible in several languages.
I want to find a content-management system which would have rich translation features, such as:
Per-paragraph translation;
Warnings for translated content that wasn't updated after a change was made to another language;
Possibility to choose whether to show or hide paragraphs/pages which are not translated;
Easy and user-friendly switching between languages (e.g. "this page is accessible in the following other languages: ...").
I found a MediaWiki plugin which allows at least some of the above mentioned. Are there any CMSes with native orientation for translations and multilingual content?
The Daisy CMS has great built-in translation support.
Break your content into sections and translate them individually, or whole pages at a time.
You can run a report that tells you which documents have translations that are out of sync with the base language, and which documents don't have translations at all. You can then translate inside the app or export for offline translation and import later.
You can exclude untranslated pages and paragraphs from the locale-specific navigation automatically.
The menu will automatically show the user which languages are available for a specific page.