mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-26 00:29:20 +08:00
null safety++
This commit is contained in:
@ -1,4 +1,3 @@
|
||||
import 'dart:io';
|
||||
import 'dart:isolate';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
@ -33,17 +31,17 @@ class EditorBottomBar extends StatelessWidget {
|
||||
final Func0<void> onRedoSelected;
|
||||
|
||||
EditorBottomBar({
|
||||
@required this.editor,
|
||||
@required this.editorState,
|
||||
@required this.parentFolder,
|
||||
@required this.allowEdits,
|
||||
@required this.zenMode,
|
||||
@required this.onZenModeChanged,
|
||||
@required this.metaDataEditable,
|
||||
@required this.onUndoSelected,
|
||||
@required this.onRedoSelected,
|
||||
@required this.undoAllowed,
|
||||
@required this.redoAllowed,
|
||||
required this.editor,
|
||||
required this.editorState,
|
||||
required this.parentFolder,
|
||||
required this.allowEdits,
|
||||
required this.zenMode,
|
||||
required this.onZenModeChanged,
|
||||
required this.metaDataEditable,
|
||||
required this.onUndoSelected,
|
||||
required this.onRedoSelected,
|
||||
required this.undoAllowed,
|
||||
required this.redoAllowed,
|
||||
});
|
||||
|
||||
@override
|
||||
@ -92,7 +90,7 @@ class EditorBottomBar extends StatelessWidget {
|
||||
maintainInteractivity: false,
|
||||
),
|
||||
const Spacer(),
|
||||
if (undoAllowed != null)
|
||||
if (undoAllowed)
|
||||
IconButton(
|
||||
icon: const Icon(Icons.undo),
|
||||
onPressed: undoAllowed ? onUndoSelected : null,
|
||||
@ -105,7 +103,7 @@ class EditorBottomBar extends StatelessWidget {
|
||||
editor.moveNoteToFolderSelected(note);
|
||||
},
|
||||
),
|
||||
if (redoAllowed != null)
|
||||
if (redoAllowed)
|
||||
IconButton(
|
||||
icon: const Icon(Icons.redo),
|
||||
onPressed: redoAllowed ? onRedoSelected : null,
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
@ -91,9 +89,9 @@ class FileSystemView extends StatelessWidget {
|
||||
|
||||
FileSystemView(
|
||||
this.folder, {
|
||||
@required this.onFolderSelected,
|
||||
@required this.onNoteSelected,
|
||||
@required this.onIgnoredFileSelected,
|
||||
required this.onFolderSelected,
|
||||
required this.onNoteSelected,
|
||||
required this.onIgnoredFileSelected,
|
||||
});
|
||||
|
||||
@override
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
@ -12,12 +10,13 @@ import 'package:time/time.dart';
|
||||
import 'package:gitjournal/app_settings.dart';
|
||||
import 'package:gitjournal/repository.dart';
|
||||
import 'package:gitjournal/settings.dart';
|
||||
import 'package:gitjournal/utils/logger.dart';
|
||||
|
||||
class AppDrawerHeader extends StatelessWidget {
|
||||
final Func0<void> repoListToggled;
|
||||
|
||||
AppDrawerHeader({
|
||||
@required this.repoListToggled,
|
||||
required this.repoListToggled,
|
||||
});
|
||||
|
||||
@override
|
||||
@ -78,8 +77,8 @@ class AppDrawerHeader extends StatelessWidget {
|
||||
|
||||
class _CurrentRepo extends StatefulWidget {
|
||||
const _CurrentRepo({
|
||||
Key key,
|
||||
@required this.repoListToggled,
|
||||
Key? key,
|
||||
required this.repoListToggled,
|
||||
}) : super(key: key);
|
||||
|
||||
final Func0<void> repoListToggled;
|
||||
@ -90,8 +89,8 @@ class _CurrentRepo extends StatefulWidget {
|
||||
|
||||
class __CurrentRepoState extends State<_CurrentRepo>
|
||||
with SingleTickerProviderStateMixin {
|
||||
Animation _animation;
|
||||
AnimationController controller;
|
||||
late Animation _animation;
|
||||
late AnimationController controller;
|
||||
|
||||
var _gitRemoteUrl = "";
|
||||
var _repoFolderName = "";
|
||||
@ -138,7 +137,7 @@ class __CurrentRepoState extends State<_CurrentRepo>
|
||||
),
|
||||
),
|
||||
RotationTransition(
|
||||
turns: _animation,
|
||||
turns: _animation as Animation<double>,
|
||||
child: IconButton(
|
||||
icon: const FaIcon(FontAwesomeIcons.angleDown),
|
||||
onPressed: _pressed,
|
||||
@ -172,12 +171,16 @@ class __CurrentRepoState extends State<_CurrentRepo>
|
||||
|
||||
var repo = context.watch<GitJournalRepo>();
|
||||
var repoPath = await repo.settings.buildRepoPath(repo.gitBaseDirectory);
|
||||
if (repoPath == null) {
|
||||
Log.e("Failed to build repo path");
|
||||
return;
|
||||
}
|
||||
_repoFolderName = p.basename(repoPath);
|
||||
|
||||
var remoteConfigs = await repo.remoteConfigs();
|
||||
if (!mounted) return;
|
||||
|
||||
if (remoteConfigs == null || remoteConfigs.isEmpty) {
|
||||
if (remoteConfigs.isEmpty) {
|
||||
setState(() {
|
||||
_gitRemoteUrl = tr("drawer.remote");
|
||||
});
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// A Scroll view which occupies the full height of the parent, and doesn't
|
||||
@ -9,7 +7,7 @@ class EditorScrollView extends StatelessWidget {
|
||||
final EdgeInsetsGeometry padding;
|
||||
|
||||
EditorScrollView({
|
||||
@required this.child,
|
||||
required this.child,
|
||||
this.padding = const EdgeInsets.all(16.0),
|
||||
});
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
@ -38,9 +36,9 @@ class FolderTreeView extends StatelessWidget {
|
||||
final FolderSelectedCallback onFolderEntered;
|
||||
|
||||
FolderTreeView({
|
||||
Key key,
|
||||
@required this.rootFolder,
|
||||
@required this.onFolderEntered,
|
||||
Key? key,
|
||||
required this.rootFolder,
|
||||
required this.onFolderEntered,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
@ -61,8 +59,8 @@ class FolderMiniTile extends StatefulWidget {
|
||||
final FolderSelectedCallback onTap;
|
||||
|
||||
FolderMiniTile({
|
||||
@required this.folder,
|
||||
@required this.onTap,
|
||||
required this.folder,
|
||||
required this.onTap,
|
||||
});
|
||||
|
||||
@override
|
||||
@ -132,7 +130,7 @@ class FolderMiniTileState extends State<FolderMiniTile> {
|
||||
var children = <FolderMiniTile>[];
|
||||
widget.folder.subFolders.forEach((folder) {
|
||||
children.add(FolderMiniTile(
|
||||
folder: folder,
|
||||
folder: folder as NotesFolderFS,
|
||||
onTap: widget.onTap,
|
||||
));
|
||||
});
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
@ -13,14 +11,15 @@ class JournalEditorHeader extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (note.created == null) {
|
||||
var created = note.created;
|
||||
if (created == null) {
|
||||
return Container();
|
||||
}
|
||||
var dateStr = DateFormat('MMMM, yyyy').format(note.created);
|
||||
var timeStr = DateFormat('EEEE HH:mm').format(note.created);
|
||||
var dateStr = DateFormat('MMMM, yyyy').format(created);
|
||||
var timeStr = DateFormat('EEEE HH:mm').format(created);
|
||||
|
||||
var bigNum = Text(
|
||||
note.created.day.toString(),
|
||||
created.day.toString(),
|
||||
style: const TextStyle(fontSize: 40.0),
|
||||
);
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
@ -7,10 +5,12 @@ import 'package:function_types/function_types.dart';
|
||||
|
||||
import 'package:gitjournal/screens/note_editor.dart';
|
||||
|
||||
// FIXME: Remove note_editor import!!
|
||||
|
||||
class NewNoteNavBar extends StatelessWidget {
|
||||
final Func1<EditorType, void> onPressed;
|
||||
|
||||
NewNoteNavBar({@required this.onPressed});
|
||||
NewNoteNavBar({required this.onPressed});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
Reference in New Issue
Block a user