1
0
mirror of https://github.com/go-vikunja/app synced 2024-06-07 21:19:48 +00:00

made LandingPage a ListProvider to enable editing of task

This commit is contained in:
Benimautner 2022-08-27 23:43:11 +02:00
parent b5266020a8
commit ae71e21e44

View File

@ -3,6 +3,7 @@ import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:after_layout/after_layout.dart';
import 'package:provider/provider.dart';
import 'package:vikunja_app/components/AddDialog.dart';
import 'package:vikunja_app/components/ErrorDialog.dart';
@ -12,7 +13,7 @@ import 'package:vikunja_app/pages/landing_page.dart';
import 'package:vikunja_app/global.dart';
import 'package:vikunja_app/models/namespace.dart';
import 'package:vikunja_app/pages/settings.dart';
import 'package:vikunja_app/stores/list_store.dart';
class HomePage extends StatefulWidget {
@override
@ -72,12 +73,12 @@ class HomePageState extends State<HomePage> with AfterLayoutMixin<HomePage> {
title: Text('Settings'),
leading: Icon(Icons.settings),
onTap: () {
Navigator.push(context, MaterialPageRoute(
builder: (context) => SettingsPage()))
.whenComplete(() =>
setState((){
Navigator.push(context,
MaterialPageRoute(builder: (context) => SettingsPage()))
.whenComplete(() => setState(() {
//returning from settings, this needs to be force-refreshed
drawerItem = _getDrawerItemWidget(_selectedDrawerIndex, forceReload: true);
drawerItem = _getDrawerItemWidget(_selectedDrawerIndex,
forceReload: true);
}));
},
)
@ -109,10 +110,12 @@ class HomePageState extends State<HomePage> with AfterLayoutMixin<HomePage> {
drawer: new Drawer(
child: new Column(children: <Widget>[
new UserAccountsDrawerHeader(
accountEmail:
currentUser?.email == null ? null : Text(currentUser?.email ?? ""),
accountName:
currentUser?.username == null ? null : Text(currentUser?.username ?? ""),
accountEmail: currentUser?.email == null
? null
: Text(currentUser?.email ?? ""),
accountName: currentUser?.username == null
? null
: Text(currentUser?.username ?? ""),
onDetailsPressed: () {
setState(() {
_showUserDetails = !_showUserDetails;
@ -166,7 +169,14 @@ class HomePageState extends State<HomePage> with AfterLayoutMixin<HomePage> {
_getDrawerItemWidget(int pos, {bool forceReload = false}) {
_previousDrawerIndex = pos;
if (pos == -1) {
return forceReload ? new LandingPage(key: UniqueKey()) : new LandingPage();
//return forceReload
// ? new LandingPage(key: UniqueKey())
// : new LandingPage();
return ChangeNotifierProvider<ListProvider>(
create: (_) => new ListProvider(),
child: forceReload ? LandingPage(key: UniqueKey()) : LandingPage(),
);
}
return new NamespacePage(namespace: _namespaces[pos]);
}