716 Commits

Author SHA1 Message Date
2e0a3cfd6a chore: Moving folder_listing to bloc
First implementation of a screen using bloc. I'd like to slowly move all
the screens to bloc.
2024-08-18 20:12:26 +02:00
f672c3eb55 flutter fix deprecations 2024-08-13 18:13:04 +02:00
7fd1c99287 Use Provider's context.read/watch
Instead of the legacy Provider.of. Less scope of bugs this way and the
code is so much nicer to read.
2023-12-06 08:20:40 +01:00
657721adc6 Update dart-git and stop using the Result class
Instead we're going to move back to standard exceptions.

Using a custom Result class has created far far more problems
- The Stacktraces aren't always right
- Sometimes one forgets to check the Result error
- All other exception throwing code needing to be converted to Results
- Non idiomatic Dart code

I think it's better to just go back to exceptions. They have their
problems, but overall, I think it's a better approach.
2023-11-24 14:03:30 +01:00
1d3d7de583 Remove Experimental GraphView
I haven't made any progress in it over 1.5 years now. It's clear that
I'm not going to.

GitJournal is already way too big, and it doesn't have space for
features which I don't personally use.
2023-02-21 16:08:21 +01:00
a058f345e6 Move _stories to a central file
I'm no longer using Monarch.
2023-02-16 13:33:06 +01:00
ea8cd35261 Fix deprecated methods 2023-02-09 16:00:29 +01:00
e974fc2533 Make the OnBoardingScreen look better in dark mode 2023-01-20 17:34:49 +01:00
758a082705 Add the OnBoarding screens to WidgetBook
The idea is for every screen and combination of parameters to be
represented in WidgetBook. This way, it'll be easy to see what all
different screens are available.

Also, building new themes will also be much easier.
2023-01-20 17:34:49 +01:00
ca98da4029 Update deps and fix linting issues 2023-01-20 16:14:08 +01:00
9d8965ed1d Sort the tag listing
Fixes #881
2023-01-20 12:52:26 +01:00
d6abbbb9b5 Remove the entire concept of Features
GitJournal is no longer going to be a product where it's paid per
feature. Instead it'll just be a paid one time thing.
2023-01-19 18:21:37 +01:00
76238cd78e Translate a lot of the dynamic strings
I would ideally like all these LocalKeys to be dynamically generated by
a plugin.
2022-11-27 18:11:15 +01:00
6d453ee62a Rename app_localization_context to l10n
It's easier to enter and this file now contains far more things
2022-11-27 17:52:03 +01:00
6f2ce4a6b5 Port more uses of LocaleKeys to new translation system 2022-11-27 17:42:26 +01:00
b925da7a47 Use the generated localization instead of easy_localization
Not everywhere, but a large part of the code base.

This way, hot reloading will also reload the strings which makes for
such a better developer experience.
2022-11-19 03:02:01 +01:00
ae9228f65e Use super.key
Makes the code a bit more readable.
2022-08-25 11:32:25 +02:00
e5c49f1792 bugfix: Always launch urls in an external application 2022-06-04 13:39:40 +02:00
be7fe8a407 Fix linting issues 2022-05-16 12:35:38 +02:00
3ede4634a3 StatefulWidget: Mark internal variables are private 2022-01-27 12:38:57 +01:00
afd7690611 Use fast_immutable_collections instead of Kt
It's much more intuitive to use, and is way more performant.
2022-01-27 12:13:34 +01:00
3841cdcab9 Note.tags: Use an compile time immutable set 2022-01-27 11:52:43 +01:00
c56da852b6 Add more specialized snackbox functions
It's easier to control how the errors look this way.
2022-01-27 10:26:23 +01:00
dd88bf2cb7 Repo.createFolder: Allow it to fail 2022-01-26 12:01:47 +01:00
7293118a17 avoid_print 2022-01-19 15:49:50 +01:00
2007d16997 make fmt 2021-12-20 09:28:00 +01:00
f854797d59 Try use d3-force-flutter for the graph view
It's buggy and my own graph drawing algorithm seemed to perform better.
2021-12-20 09:28:00 +01:00
439dfaa80f ErrorScreen: Add a button to "Add a new Repo"
This way the user doesn't need to delete it immediately, if we can
figure out some way to fix the problem.
2021-12-16 13:15:04 +01:00
9d70d53e35 Never just hang on loading
This would happen if the current repo couldn't be opened.

We now show a special "Error Screen", and allow the user to add another
repo.
2021-12-16 13:05:02 +01:00
4b658e3580 Move markdown handling to its own folder 2021-12-14 14:12:12 +01:00
a8e52ac18b CacheLoadingScreen: Show the git commit dates
Makes it easier to wait
2021-12-09 17:34:44 +01:00
92031b7db5 Add a cache loading screen
This isn't perfect as it's visible for a second on boot.
2021-12-06 18:30:04 +01:00
c6822f6611 FolderListing: LocaleKeys++ 2021-12-06 18:02:47 +01:00
81b6ebe2f5 lint: avoid-ignoring-return-values++ 2021-11-17 18:10:59 +01:00
c3e7a9ffd7 lint: Add avoid_void_async 2021-11-17 18:10:59 +01:00
4b641f88c8 Move NoteEditor screen to the editors folder 2021-11-04 15:14:52 +01:00
a66156c849 AppRouter: Store the routePath in each class
Instead of one global place for them.
2021-10-30 11:57:36 +02:00
6230e2b3df Rename AppSettings to AppConfig
I just want all the 'Settings' classes to the UI. In the end it really
doesn't matter. This was probably a waste of 5 minutes.
2021-10-27 20:47:57 +02:00
e1ea7a4953 Fetch the modified + created time from git
Fixes #78

This is probably the largest commit that I have ever made. From now on -
every File always has an mtime and ctime which is fetched from git.
Notes can optionally override that time by providing yaml metadata.

Additionally the 'filePath' and 'folderPath' is now relative to the
repoPath instead of being the full path.

This will slow down GitJournal like crazy as all the mtimes and ctime
still need to be cached. For my test repo it takes about 23 seconds for
GitJournal to become responsive.
2021-10-26 17:49:08 +02:00
5f07543db2 Remove Note's doc setter
This makes us one step closer to making the Note class immutable which
will help GitJournal's overall architecture a lot. Plus it makes me one
step closer to having proper web support.
2021-10-17 22:22:33 +02:00
6a915864f2 Move NotesFolder's code to their own folder
The 'core' folder is becoming way too huge.
2021-10-15 12:31:35 +02:00
83c3a3dc0f Move History file to its own folder
It looks like this is going to blow up and it's going to be quite large.
Plus I like separating the code based on features.
2021-10-14 17:37:43 +02:00
629d010014 Hero Animation: Avoid the scaffold as part of the animation
It's still not perfect, but it's much better now.
2021-10-14 16:58:54 +02:00
8ea909d6aa History: Show it as a card
Still experimenting
2021-10-14 16:30:31 +02:00
af88af5bbb History: Use 'timeago'
I'm not convinced that this is a good way, but it's better than just
showing the date.
2021-10-14 16:14:20 +02:00
7980327d3a Improve History Screen 2021-10-14 16:09:38 +02:00
097ffc6b42 Support multi note selection
Fixes #90
2021-10-14 15:38:07 +02:00
a4edab0b6b History: Simplify the code
This is much much easier to understand.
2021-09-30 18:15:25 +02:00
2e26ba42a0 History: Show the basic commits
This is a mess. I clearly don't know how to handle streams.
2021-09-30 17:51:59 +02:00
39959bbc5f findInNote: Some experiments + planning 2021-09-27 23:51:40 +02:00