Improve dashboard settings
This commit is contained in:
parent
b3286bba8b
commit
8f7b8308b4
|
|
@ -155,7 +155,7 @@ class InvoiceNinjaAppState extends State<InvoiceNinjaApp> {
|
||||||
final state = store.state;
|
final state = store.state;
|
||||||
final hasAccentColor = state.hasAccentColor;
|
final hasAccentColor = state.hasAccentColor;
|
||||||
final accentColor = state.accentColor;
|
final accentColor = state.accentColor;
|
||||||
final fontFamily = kIsWeb ? 'Roboto' : null;
|
const fontFamily = kIsWeb ? 'Roboto' : null;
|
||||||
final pageTransitionsTheme = PageTransitionsTheme(builders: {
|
final pageTransitionsTheme = PageTransitionsTheme(builders: {
|
||||||
TargetPlatform.android: ZoomPageTransitionsBuilder(),
|
TargetPlatform.android: ZoomPageTransitionsBuilder(),
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ class ResponsivePadding extends StatelessWidget {
|
||||||
padding: EdgeInsets.only(top: kMobileDialogPadding * 2)),
|
padding: EdgeInsets.only(top: kMobileDialogPadding * 2)),
|
||||||
//bottom: (kMobileDialogPadding * 2) +
|
//bottom: (kMobileDialogPadding * 2) +
|
||||||
//MediaQuery.of(context).viewInsets.bottom)),
|
//MediaQuery.of(context).viewInsets.bottom)),
|
||||||
widthFactor: .5,
|
widthFactor: .4,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import 'package:invoiceninja_flutter/ui/dashboard/dashboard_screen_vm.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||||
|
import 'package:invoiceninja_flutter/data/models/dashboard_model.dart';
|
||||||
|
|
||||||
class DashboardPanels extends StatelessWidget {
|
class DashboardPanels extends StatelessWidget {
|
||||||
const DashboardPanels({
|
const DashboardPanels({
|
||||||
|
|
@ -72,7 +73,7 @@ class DashboardPanels extends StatelessWidget {
|
||||||
visualDensity: VisualDensity.compact,
|
visualDensity: VisualDensity.compact,
|
||||||
),
|
),
|
||||||
SizedBox(width: 16),
|
SizedBox(width: 16),
|
||||||
InkWell(
|
PopupMenuButton<DateRange>(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.only(left: 4, top: 6, bottom: 6),
|
padding: const EdgeInsets.only(left: 4, top: 6, bottom: 6),
|
||||||
child: Row(
|
child: Row(
|
||||||
|
|
@ -93,7 +94,24 @@ class DashboardPanels extends StatelessWidget {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
onTap: () => _showDateOptions(context),
|
itemBuilder: (context) => DateRange.values
|
||||||
|
.map((dateRange) => PopupMenuItem(
|
||||||
|
child: Text(localization.lookup(dateRange.toString())),
|
||||||
|
value: dateRange,
|
||||||
|
))
|
||||||
|
.toList(),
|
||||||
|
onSelected: (dateRange) {
|
||||||
|
final settings =
|
||||||
|
DashboardSettings.fromState(state.dashboardUIState);
|
||||||
|
settings.dateRange = dateRange;
|
||||||
|
viewModel.onSettingsChanged(settings);
|
||||||
|
|
||||||
|
if (dateRange == DateRange.custom) {
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((duration) {
|
||||||
|
_showDateOptions(context);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
),
|
),
|
||||||
Spacer(),
|
Spacer(),
|
||||||
if (company.hasTaxes)
|
if (company.hasTaxes)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue