mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-09-12 22:24:40 +08:00

The Git Api was strange and took a foldeName and it would only allow you to access git operations in a particular path. This has now been fixed, and now it can operate in any path. This was the first step to moving the git api into its own library.
56 lines
1.9 KiB
Dart
56 lines
1.9 KiB
Dart
import 'package:shared_preferences/shared_preferences.dart';
|
|
import 'package:fimber/fimber.dart';
|
|
import 'package:gitjournal/core/notes_folder.dart';
|
|
|
|
class AppState {
|
|
//
|
|
// Saved on Disk
|
|
//
|
|
// FIXME: These should be figured out by querying the 'git remotes'
|
|
String localGitRepoFolderName = "";
|
|
bool localGitRepoConfigured = false;
|
|
|
|
String remoteGitRepoFolderName = "";
|
|
bool remoteGitRepoConfigured = false;
|
|
|
|
bool onBoardingCompleted = false;
|
|
|
|
//
|
|
// Temporary
|
|
//
|
|
/// This is the directory where all the git repos are stored
|
|
String gitBaseDirectory = "";
|
|
|
|
bool get hasJournalEntries {
|
|
return notesFolder.hasNotes;
|
|
}
|
|
|
|
NotesFolder notesFolder;
|
|
|
|
AppState(SharedPreferences pref) {
|
|
localGitRepoConfigured = pref.getBool("localGitRepoConfigured") ?? false;
|
|
remoteGitRepoConfigured = pref.getBool("remoteGitRepoConfigured") ?? false;
|
|
localGitRepoFolderName = pref.getString("localGitRepoPath") ?? "";
|
|
remoteGitRepoFolderName = pref.getString("remoteGitRepoPath") ?? "";
|
|
onBoardingCompleted = pref.getBool("onBoardingCompleted") ?? false;
|
|
}
|
|
|
|
void dumpToLog() {
|
|
Fimber.d(" ---- Settings ---- ");
|
|
Fimber.d("localGitRepoConfigured: $localGitRepoConfigured");
|
|
Fimber.d("remoteGitRepoConfigured: $remoteGitRepoConfigured");
|
|
Fimber.d("localGitRepoFolderName: $localGitRepoFolderName");
|
|
Fimber.d("remoteGitRepoFolderName: $remoteGitRepoFolderName");
|
|
Fimber.d("onBoardingCompleted: $onBoardingCompleted");
|
|
Fimber.d(" ------------------ ");
|
|
}
|
|
|
|
Future save(SharedPreferences pref) async {
|
|
await pref.setBool("localGitRepoConfigured", localGitRepoConfigured);
|
|
await pref.setBool("remoteGitRepoConfigured", remoteGitRepoConfigured);
|
|
await pref.setString("localGitRepoPath", localGitRepoFolderName);
|
|
await pref.setString("remoteGitRepoPath", remoteGitRepoFolderName);
|
|
await pref.setBool("onBoardingCompleted", onBoardingCompleted);
|
|
}
|
|
}
|