273 Commits

Author SHA1 Message Date
143a1d95c7 First iteration of animating the JournalList
Now on adding / removing elements, the list is animated. It looks
slightly better.
2020-02-06 01:29:30 +01:00
55b05926c1 Log why the note was modified
We are getting bug reports about the modified tag being changed even
when the note hasn't been modified.
2020-02-06 00:48:56 +01:00
8761f96bbe UndoSnackBar: Stop using Fimber
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.
2020-01-31 17:41:05 +01:00
95dce61479 Allow the new folder for notes to be configurable
This is currently disabled as it requires a substantial change in the
JournalList.
2020-01-31 16:16:12 +01:00
51e42780d6 Split NoteSearchDelegate into its own file 2020-01-31 16:12:55 +01:00
23c6192162 Editor: Add 'Discard Changes' button
It got removed while merging the editor/viewer
2020-01-31 15:55:25 +01:00
7c2cde03b7 Add the first draft of a TodoEditor
It's a small proof of concept and still needs a lot of work.
2020-01-30 18:41:27 +01:00
43281bd2bb Add support for moving a Note to another folder
The Folder selection dialog needs a lot of work, but it's a start.
2020-01-29 16:51:57 +01:00
3f40a2992a Add the concept of Editors
* 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.
2020-01-29 00:04:24 +01:00
127faa39cf JournalEditor: Allow the markdown to be previewed
This is the first implementation of trying to combine the viewer and
editor. It isn't perfect and doesn't work well with the raw editor.
2020-01-28 16:23:00 +01:00
6d38377144 Split NoteViewer into its own file 2020-01-28 16:02:54 +01:00
9912f598df Using the same font when editing and viewing the note
Otherwise the transition seems a bit off. Also, we will soon be
combining both the editor and viewer, so it makes sense for them to look
identical.
2020-01-28 15:57:40 +01:00
5d0054fd7e Remove FontSize configuration
Ever since we had a proper markdown renderer, this option has been
broken as it only scales the body text and not the headers, and other
text in code-blocks. Additionally it only modifies the viewing text size
and not the editing text size. Fixing this feature is way too much work,
and barely any users are using this feature.

Maybe we will introduce it again in the future.
2020-01-28 15:56:59 +01:00
177a7c3d74 DarkMode: Improve markdown code blocks color
Flutter_markdown has hardcoded certain grey colors. This doesn't go well
with a dark theme. For now we're overwriting it.
2020-01-27 23:50:39 +01:00
645892a7dc NoteMetadata Settings: Fix colors for dark mode 2020-01-27 23:33:21 +01:00
150543e065 RenameDialog: Do not accept a name that already exists 2020-01-27 23:27:45 +01:00
f8e7773f16 NoteBrowser: Add a button to rename notes
Fixes #23
2020-01-27 23:09:11 +01:00
35f8559c74 Move RenameDialog to its own file
Also make it a bit more generic
2020-01-27 23:08:33 +01:00
a759ad4a23 Combine showSnackbar code
It's annoying to always have to remember to call it. We had forgotten in
one place and that resulted in a lot of noise.
2020-01-27 19:02:44 +01:00
bd0819c5be Settings: Disable the Git Remote Settings when no remote present 2020-01-27 19:01:47 +01:00
ec1bcb3e3a [Feat] add FAB for note saving
Resolves #52
2020-01-18 11:47:20 +01:00
6f3643bbef Remove the BROWSE title
It's not required. Yes, stuff looks a little bit empty - but the title
over here really serves no purpose. Also, it's a bit confusing when
coming in from the hero animation for the List Tile's title to become
"BROWSE".

I do wish there was an easy way to inform the user that they can swipe
left/right in order to move between notes.
2020-01-08 00:04:20 +01:00
7e3cfb9e37 Allow the default yaml modified key to changed
Some people are using GitJournal to edit Hugo websites, this option is
for them as the Hugo front matter uses the 'lastmod' key to indicate
when the post was last modified.
2020-01-05 18:24:46 +01:00
a292896d5a Host Setup: Clear the clone error before starting a clone
One could have a clone that failed and then we're trying again with some
different values. The old error message is invalid.
2020-01-05 17:39:13 +01:00
6e05ce7f18 CloneUrlInput: All it to expand vertically
Ideally one should remove the code duplication of this form, but for now
duplicating the code is just so much simpler.
2020-01-05 17:38:25 +01:00
dccd58c5f1 prefer_const_constructors 2020-01-04 15:44:34 +01:00
e0afa27b06 Expose Git Remote Settings
This way you can regenerate the SSH Key (if needed) and/or copy it
again. In the future one can add methods to reconfigure the git remote
and add / remove remotes.
2020-01-04 15:31:28 +01:00
599c6b4e6e Remote Setup: Let the clone url text field expand 2020-01-04 15:02:53 +01:00
daa0940066 Remote Setup: Only generate the key if not already generated
This way one can go back and change the clone url if one wants to and
the ssh key would not have changed. There is an additional SSH Key
changing button if one needs to regenerate it for some reason.

This should fix #47. Well, it's not the best solution, but it is a
workaround.

For the Clone Url you must enter SSH-KEY-ID@clone-url-provided-by-aws.
In order to get the SSH KEY ID you must upload the public key provdied
to your AWS Credentials.
2020-01-04 15:01:03 +01:00
c21287e97f code cleanup 2020-01-04 14:38:55 +01:00
90f7fb6a48 Remote Setup: Add a button to regenerate the key 2020-01-04 14:38:09 +01:00
b76645a144 Add a .gitIgnore file if missing
This way we always have at least one commit, cause not having any
commits makes a lot of the git commands fail.
2020-01-02 18:47:55 +01:00
36d1ae43c3 Split NoteData and its serializer into its own file 2020-01-01 19:50:31 +01:00
14e7f344d1 Add an explicit serializer from Note -> NoteData
This is so that we can start configuring what the yaml metadata keys
should be called, and not have them hardcoded.

This also allows the note.created to be null. Earlier we were always
setting it to some value. That's doesn't seem right.
2020-01-01 19:29:57 +01:00
92f50ed397 MarkdownViewer: Allow links to be clicked 2019-12-27 13:18:58 +01:00
5a79fa26ca Add a Fade transition when jumping from Viewing to Editing
It looks much better than the normal page transition.
2019-12-27 11:10:22 +01:00
895d2f4f1b Give each Note a title
We're moving away from being a Journal Editor to being a Note Editor. I
don't want to discard the Journaling parts, as Journaling is really a
subset of Note Taking - so in the future it would be nice if this could
be somehow toggled.

Maybe each Folder can have different display settings. Probably in the
"pro" version.
2019-12-27 11:05:32 +01:00
bc9e308971 Move SyncButton to its own file 2019-12-26 20:56:30 +01:00
6af3b03210 Add a sync button to the AppBar
This somewhat shows what's going on with the network. It isn't ideal, as
is a bit ugly. But it's a start to show the network status, and what's
going on in the background.
2019-12-26 20:43:12 +01:00
f5558803c5 GitHostSetup: Log all exceptions
Not only GitHostExceptions as these don't cover Network exceptions.
2019-12-26 17:57:46 +01:00
fec3a91df1 JournalEditor: We don't need the extra Form
We're not using it for anything.
2019-12-23 12:25:57 +01:00
757bf0b7ac Update dependencies and gradle 2019-12-23 12:25:31 +01:00
cae3fa52b7 Fix mistakenly added 'foo' 2019-12-22 18:55:33 +01:00
764209fe57 CloneUrl Validation: We do not support the git protocol
Well, we actually do support it, but I don't want users to use it,
as I have no intention of supporting it in the future.

In the future - Git will be written entirely in Dart.
2019-12-22 18:49:46 +01:00
ad0c305597 CloneUrlValidation: Our regexp is broken
With AWS Code commit we get URLs of the form -

ssh://APKAZLZA77YWDCWYRAC5@git-codecommit.eu-west-1.amazonaws.com/v1/repos/blah

All our assumptions about how the URL should be are now invalid. It's
best to just check for the presence of an '@'
2019-12-22 18:48:40 +01:00
83e5c44a5c FolderListing AppBar: Make the title a plural
Folders instead of Folder
2019-12-22 15:39:13 +01:00
de369fe6d9 Add 'Open Source' in the onboarding screen 2019-12-22 15:25:42 +01:00
798a744574 Change public strings of "Journal" to "Notes" 2019-12-22 15:24:00 +01:00
a2f237ede3 Add scrollbar's in JournalLists and FolderLists
Pros: It's nice to know where we are in the list.
Cons: It makes the lagging in the list view far far more apparent.
2019-12-22 15:16:41 +01:00
63170445d7 Move libgit2 code to git_bindings repo
We now have a much clearer separation between Git code and this app
specific code. This is awesome, it will allow other people to easily
integrate Git within their apps. Also, eventually it will be trivial to
switch to another implemention of Git (via JGit or a git client written
completely in Dart)

This breaks the iOS version as I haven't moved the code to build the ios
version. Maybe this will be a good excuse for me to setup a proper CI/CD
system for ios builds.

There is also a chance this breaks Crashalytics NDK symbols :(
2019-12-21 01:06:15 +01:00