I wanted to stop using .seperated as it shows some ugly artifacts when
used with IconDismissable when removing an item, and it makes it more
difficult to replace it with an AnimatedListView
It makes everything far more complicated, but at least this way the FAB
moves along with the scaffold. With Fimber, that is not the case, and it
is very annoying.
* We no longer have a separate editing and browsing view - This does
mean we loose the ability to quick flip between notes by swiping.
However, this is more how a note editor would behave. I do later want to
add that capability back.
* We have 2 editors for now - Markdown and Raw. By default we use the
Markdown editor which can be toggled between Preview / Edit mode.
I later want to add a rich text editor and a todo editor as well.
It's no longer a simple JournalListing and instead we also show the
title. The main problem is with what to do when the title is not there.
Just leaving it blank seems to feel weird, specially when the note is
too small.
Maybe it's time to change it such that each row size is not the same.
We're effectively wasting whitespace right now for very small notes.
The flutter default Snackbars are a major PITA to use as they require a
Scaffold, additionaly, they will not be shown if the parent Scaffold is
destroyed, which is the case when deleting a note and returning to the
main screen.
For now I've mostly tried to follow the same style guide as the flutter
repository, with many options disabled. Eventually, maybe it would make
sense to be far stricter.
This way it properly aligns up with the hamburger menu.
I also discovered this 'debugShowMaterialGrid' option which makes
working with padding issues much much easier.
It all just makes far more since when each Note has a fileName.
Though we don't save the fileName in the YAML header. It seems quite
redundant to do that.
Another advantage of this is that if we can read any file ending with a
'.md' in a git repo. It doesn't need to be named exactly how we want it,
and we will still save the details correctly.
This simplifies the code quite a bit, at the cost of using this
strange flutter magic of an 'InheritedWidget'.
It basically make a class a global variable.