mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-08-26 18:40:32 +08:00
51 lines
1.2 KiB
Dart
51 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
import 'package:intl/date_symbol_data_local.dart';
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:gitjournal/core/flattened_notes_folder.dart';
|
|
import 'package:gitjournal/core/notes_folder.dart';
|
|
import 'package:gitjournal/core/notes_folder_fs.dart';
|
|
import 'package:gitjournal/folder_views/folder_view.dart';
|
|
import 'package:gitjournal/generated/locale_keys.g.dart';
|
|
|
|
class HomeScreen extends StatefulWidget {
|
|
@override
|
|
_HomeScreenState createState() => _HomeScreenState();
|
|
}
|
|
|
|
class _HomeScreenState extends State<HomeScreen> {
|
|
NotesFolder? notesFolder;
|
|
NotesFolderFS? rootFolder;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
initializeDateFormatting();
|
|
}
|
|
|
|
void _initFolder() async {
|
|
if (!mounted) return;
|
|
|
|
var root = Provider.of<NotesFolderFS>(context);
|
|
if (root != rootFolder) {
|
|
rootFolder = root;
|
|
notesFolder = FlattenedNotesFolder(
|
|
root,
|
|
title: tr(LocaleKeys.screens_home_allNotes),
|
|
);
|
|
}
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
_initFolder();
|
|
if (notesFolder == null) {
|
|
return Container();
|
|
}
|
|
|
|
return FolderView(notesFolder: notesFolder!);
|
|
}
|
|
}
|