Hard to see scrollbar in menu in light mode
This commit is contained in:
parent
3d6c85e01f
commit
c2d004977b
|
|
@ -343,341 +343,361 @@ class _MenuDrawerState extends State<MenuDrawer> {
|
||||||
: _expandedCompanySelector),
|
: _expandedCompanySelector),
|
||||||
state.credentials.token.isEmpty
|
state.credentials.token.isEmpty
|
||||||
? SizedBox()
|
? SizedBox()
|
||||||
: Expanded(
|
: Theme(
|
||||||
child: Container(
|
data: state.prefState.enableDarkMode ||
|
||||||
color: inactiveColor.isNotEmpty
|
(state.prefState.customColors[PrefState
|
||||||
? convertHexStringToColor(inactiveColor)
|
.THEME_SIDEBAR_INACTIVE_BACKGROUND_COLOR] ??
|
||||||
: Theme.of(context).cardColor,
|
'')
|
||||||
child: ScrollableListView(
|
.isNotEmpty
|
||||||
children: <Widget>[
|
? ThemeData.dark()
|
||||||
if (state.account.debugEnabled && kReleaseMode)
|
: ThemeData.light(),
|
||||||
if (state.isMenuCollapsed)
|
child: Expanded(
|
||||||
Tooltip(
|
child: Container(
|
||||||
message: localization.debugModeIsEnabled,
|
color: inactiveColor.isNotEmpty
|
||||||
child: ListTile(
|
? convertHexStringToColor(inactiveColor)
|
||||||
contentPadding:
|
: Theme.of(context).cardColor,
|
||||||
const EdgeInsets.only(left: 20),
|
child: ScrollableListView(
|
||||||
onTap: () =>
|
children: <Widget>[
|
||||||
launchUrl(Uri.parse(kDebugModeUrl)),
|
if (state.account.debugEnabled && kReleaseMode)
|
||||||
leading:
|
if (state.isMenuCollapsed)
|
||||||
Icon(Icons.warning, color: Colors.red),
|
Tooltip(
|
||||||
),
|
message: localization.debugModeIsEnabled,
|
||||||
)
|
child: ListTile(
|
||||||
else
|
contentPadding:
|
||||||
Material(
|
const EdgeInsets.only(left: 20),
|
||||||
child: ListTile(
|
onTap: () =>
|
||||||
tileColor: Colors.red.shade800,
|
launchUrl(Uri.parse(kDebugModeUrl)),
|
||||||
title: Padding(
|
leading: Icon(Icons.warning,
|
||||||
padding: const EdgeInsets.only(bottom: 6),
|
color: Colors.red),
|
||||||
child: IconText(
|
|
||||||
icon: Icons.warning,
|
|
||||||
text: localization.debugModeIsEnabled,
|
|
||||||
style: TextStyle(color: Colors.white),
|
|
||||||
),
|
),
|
||||||
),
|
)
|
||||||
subtitle: Text(
|
else
|
||||||
localization.debugModeIsEnabledHelp,
|
Material(
|
||||||
style: TextStyle(color: Colors.white),
|
child: ListTile(
|
||||||
),
|
tileColor: Colors.red.shade800,
|
||||||
onTap: () =>
|
title: Padding(
|
||||||
launchUrl(Uri.parse(kDebugModeUrl)),
|
padding:
|
||||||
),
|
const EdgeInsets.only(bottom: 6),
|
||||||
),
|
child: IconText(
|
||||||
if (!state.account.accountSmsVerified &&
|
icon: Icons.warning,
|
||||||
state.isHosted)
|
text:
|
||||||
if (state.isMenuCollapsed)
|
localization.debugModeIsEnabled,
|
||||||
Tooltip(
|
style:
|
||||||
message: localization.verifyPhoneNumberHelp,
|
TextStyle(color: Colors.white),
|
||||||
child: ListTile(
|
|
||||||
contentPadding:
|
|
||||||
const EdgeInsets.only(left: 12),
|
|
||||||
leading: IconButton(
|
|
||||||
onPressed: () {
|
|
||||||
showDialog<void>(
|
|
||||||
context: context,
|
|
||||||
builder: (BuildContext context) =>
|
|
||||||
AccountSmsVerification(),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
icon: Icon(Icons.warning,
|
|
||||||
color: Colors.orange),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
else
|
|
||||||
Material(
|
|
||||||
child: ListTile(
|
|
||||||
tileColor: Colors.orange.shade800,
|
|
||||||
subtitle: Text(
|
|
||||||
localization.verifyPhoneNumberHelp,
|
|
||||||
style: TextStyle(color: Colors.white),
|
|
||||||
),
|
|
||||||
onTap: () {
|
|
||||||
showDialog<void>(
|
|
||||||
context: context,
|
|
||||||
builder: (BuildContext context) =>
|
|
||||||
AccountSmsVerification(),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
else if (state.user.isTwoFactorEnabled &&
|
|
||||||
!state.user.phoneVerified &&
|
|
||||||
state.isHosted)
|
|
||||||
if (state.isMenuCollapsed)
|
|
||||||
Tooltip(
|
|
||||||
message:
|
|
||||||
localization.verifyPhoneNumber2faHelp,
|
|
||||||
child: ListTile(
|
|
||||||
contentPadding:
|
|
||||||
const EdgeInsets.only(left: 12),
|
|
||||||
leading: IconButton(
|
|
||||||
onPressed: () {
|
|
||||||
showDialog<void>(
|
|
||||||
context: context,
|
|
||||||
builder: (BuildContext context) =>
|
|
||||||
UserSmsVerification(
|
|
||||||
showChangeNumber: true,
|
|
||||||
),
|
),
|
||||||
);
|
),
|
||||||
},
|
subtitle: Text(
|
||||||
icon: Icon(Icons.warning,
|
localization.debugModeIsEnabledHelp,
|
||||||
color: Colors.orange),
|
style: TextStyle(color: Colors.white),
|
||||||
),
|
),
|
||||||
),
|
onTap: () =>
|
||||||
)
|
launchUrl(Uri.parse(kDebugModeUrl)),
|
||||||
else
|
|
||||||
Material(
|
|
||||||
child: ListTile(
|
|
||||||
tileColor: Colors.orange.shade800,
|
|
||||||
subtitle: Text(
|
|
||||||
localization.verifyPhoneNumber2faHelp,
|
|
||||||
style: TextStyle(color: Colors.white),
|
|
||||||
),
|
|
||||||
onTap: () {
|
|
||||||
showDialog<void>(
|
|
||||||
context: context,
|
|
||||||
builder: (BuildContext context) =>
|
|
||||||
UserSmsVerification(),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
else if (state.company.isDisabled &&
|
|
||||||
state.userCompany.isAdmin)
|
|
||||||
if (state.isMenuCollapsed)
|
|
||||||
Tooltip(
|
|
||||||
message: localization.companyDisabledWarning,
|
|
||||||
child: ListTile(
|
|
||||||
contentPadding:
|
|
||||||
const EdgeInsets.only(left: 12),
|
|
||||||
leading: IconButton(
|
|
||||||
onPressed: () =>
|
|
||||||
store.dispatch(ViewSettings(
|
|
||||||
section: kSettingsAccountManagement,
|
|
||||||
company: company,
|
|
||||||
)),
|
|
||||||
icon: Icon(Icons.warning,
|
|
||||||
color: Colors.orange),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
else
|
|
||||||
Material(
|
|
||||||
child: ListTile(
|
|
||||||
tileColor: Colors.orange.shade800,
|
|
||||||
title: Padding(
|
|
||||||
padding: const EdgeInsets.only(bottom: 6),
|
|
||||||
child: IconText(
|
|
||||||
icon: Icons.warning,
|
|
||||||
text: localization.warning,
|
|
||||||
style: TextStyle(color: Colors.white),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
subtitle: Text(
|
if (!state.account.accountSmsVerified &&
|
||||||
localization.companyDisabledWarning,
|
state.isHosted)
|
||||||
style: TextStyle(color: Colors.white),
|
if (state.isMenuCollapsed)
|
||||||
|
Tooltip(
|
||||||
|
message:
|
||||||
|
localization.verifyPhoneNumberHelp,
|
||||||
|
child: ListTile(
|
||||||
|
contentPadding:
|
||||||
|
const EdgeInsets.only(left: 12),
|
||||||
|
leading: IconButton(
|
||||||
|
onPressed: () {
|
||||||
|
showDialog<void>(
|
||||||
|
context: context,
|
||||||
|
builder: (BuildContext context) =>
|
||||||
|
AccountSmsVerification(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
icon: Icon(Icons.warning,
|
||||||
|
color: Colors.orange),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
else
|
||||||
|
Material(
|
||||||
|
child: ListTile(
|
||||||
|
tileColor: Colors.orange.shade800,
|
||||||
|
subtitle: Text(
|
||||||
|
localization.verifyPhoneNumberHelp,
|
||||||
|
style: TextStyle(color: Colors.white),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
showDialog<void>(
|
||||||
|
context: context,
|
||||||
|
builder: (BuildContext context) =>
|
||||||
|
AccountSmsVerification(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
else if (state.user.isTwoFactorEnabled &&
|
||||||
|
!state.user.phoneVerified &&
|
||||||
|
state.isHosted)
|
||||||
|
if (state.isMenuCollapsed)
|
||||||
|
Tooltip(
|
||||||
|
message:
|
||||||
|
localization.verifyPhoneNumber2faHelp,
|
||||||
|
child: ListTile(
|
||||||
|
contentPadding:
|
||||||
|
const EdgeInsets.only(left: 12),
|
||||||
|
leading: IconButton(
|
||||||
|
onPressed: () {
|
||||||
|
showDialog<void>(
|
||||||
|
context: context,
|
||||||
|
builder: (BuildContext context) =>
|
||||||
|
UserSmsVerification(
|
||||||
|
showChangeNumber: true,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
icon: Icon(Icons.warning,
|
||||||
|
color: Colors.orange),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
else
|
||||||
|
Material(
|
||||||
|
child: ListTile(
|
||||||
|
tileColor: Colors.orange.shade800,
|
||||||
|
subtitle: Text(
|
||||||
|
localization.verifyPhoneNumber2faHelp,
|
||||||
|
style: TextStyle(color: Colors.white),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
showDialog<void>(
|
||||||
|
context: context,
|
||||||
|
builder: (BuildContext context) =>
|
||||||
|
UserSmsVerification(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
else if (state.company.isDisabled &&
|
||||||
|
state.userCompany.isAdmin)
|
||||||
|
if (state.isMenuCollapsed)
|
||||||
|
Tooltip(
|
||||||
|
message:
|
||||||
|
localization.companyDisabledWarning,
|
||||||
|
child: ListTile(
|
||||||
|
contentPadding:
|
||||||
|
const EdgeInsets.only(left: 12),
|
||||||
|
leading: IconButton(
|
||||||
|
onPressed: () =>
|
||||||
|
store.dispatch(ViewSettings(
|
||||||
|
section: kSettingsAccountManagement,
|
||||||
|
company: company,
|
||||||
|
)),
|
||||||
|
icon: Icon(Icons.warning,
|
||||||
|
color: Colors.orange),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
else
|
||||||
|
Material(
|
||||||
|
child: ListTile(
|
||||||
|
tileColor: Colors.orange.shade800,
|
||||||
|
title: Padding(
|
||||||
|
padding:
|
||||||
|
const EdgeInsets.only(bottom: 6),
|
||||||
|
child: IconText(
|
||||||
|
icon: Icons.warning,
|
||||||
|
text: localization.warning,
|
||||||
|
style:
|
||||||
|
TextStyle(color: Colors.white),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
subtitle: Text(
|
||||||
|
localization.companyDisabledWarning,
|
||||||
|
style: TextStyle(color: Colors.white),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
store.dispatch(ViewSettings(
|
||||||
|
section: kSettingsAccountManagement,
|
||||||
|
company: company,
|
||||||
|
));
|
||||||
|
},
|
||||||
|
),
|
||||||
),
|
),
|
||||||
onTap: () {
|
if (state.userCompany.isOwner &&
|
||||||
store.dispatch(ViewSettings(
|
state.isHosted &&
|
||||||
section: kSettingsAccountManagement,
|
!isPaidAccount(context) &&
|
||||||
company: company,
|
(!isApple() || supportsInAppPurchase()))
|
||||||
));
|
Material(
|
||||||
},
|
child: Tooltip(
|
||||||
),
|
message: state.isMenuCollapsed
|
||||||
),
|
? localization.upgrade
|
||||||
if (state.userCompany.isOwner &&
|
: '',
|
||||||
state.isHosted &&
|
child: ListTile(
|
||||||
!isPaidAccount(context) &&
|
dense: true,
|
||||||
(!isApple() || supportsInAppPurchase()))
|
contentPadding:
|
||||||
Material(
|
const EdgeInsets.only(left: 12),
|
||||||
child: Tooltip(
|
tileColor: Colors.green,
|
||||||
message: state.isMenuCollapsed
|
leading: IconButton(
|
||||||
? localization.upgrade
|
onPressed: () => store.dispatch(
|
||||||
: '',
|
ViewSettings(
|
||||||
child: ListTile(
|
clearFilter: true,
|
||||||
dense: true,
|
company: company,
|
||||||
contentPadding:
|
user: state.user,
|
||||||
const EdgeInsets.only(left: 12),
|
section:
|
||||||
tileColor: Colors.green,
|
kSettingsAccountManagement)),
|
||||||
leading: IconButton(
|
icon: Icon(
|
||||||
onPressed: () => store.dispatch(
|
Icons.arrow_circle_up,
|
||||||
ViewSettings(
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
title: state.isMenuCollapsed
|
||||||
|
? SizedBox()
|
||||||
|
: Text(
|
||||||
|
localization.upgrade,
|
||||||
|
style: Theme.of(context)
|
||||||
|
.textTheme
|
||||||
|
.bodyText1
|
||||||
|
.copyWith(
|
||||||
|
fontSize: 14,
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
store.dispatch(ViewSettings(
|
||||||
clearFilter: true,
|
clearFilter: true,
|
||||||
company: company,
|
company: company,
|
||||||
user: state.user,
|
user: state.user,
|
||||||
section:
|
section:
|
||||||
kSettingsAccountManagement)),
|
kSettingsAccountManagement));
|
||||||
icon: Icon(
|
},
|
||||||
Icons.arrow_circle_up,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
title: state.isMenuCollapsed
|
|
||||||
? SizedBox()
|
|
||||||
: Text(
|
|
||||||
localization.upgrade,
|
|
||||||
style: Theme.of(context)
|
|
||||||
.textTheme
|
|
||||||
.bodyText1
|
|
||||||
.copyWith(
|
|
||||||
fontSize: 14,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
onTap: () {
|
|
||||||
store.dispatch(ViewSettings(
|
|
||||||
clearFilter: true,
|
|
||||||
company: company,
|
|
||||||
user: state.user,
|
|
||||||
section: kSettingsAccountManagement));
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
icon: getEntityIcon(EntityType.dashboard),
|
||||||
|
title: localization.dashboard,
|
||||||
|
onTap: () => viewEntitiesByType(
|
||||||
|
entityType: EntityType.dashboard),
|
||||||
|
onLongPress: () =>
|
||||||
|
store.dispatch(ViewDashboard(filter: '')),
|
||||||
),
|
),
|
||||||
),
|
DrawerTile(
|
||||||
DrawerTile(
|
company: company,
|
||||||
company: company,
|
entityType: EntityType.client,
|
||||||
icon: getEntityIcon(EntityType.dashboard),
|
icon: getEntityIcon(EntityType.client),
|
||||||
title: localization.dashboard,
|
title: localization.clients,
|
||||||
onTap: () => viewEntitiesByType(
|
iconTooltip: localization.newClient,
|
||||||
entityType: EntityType.dashboard),
|
),
|
||||||
onLongPress: () =>
|
DrawerTile(
|
||||||
store.dispatch(ViewDashboard(filter: '')),
|
company: company,
|
||||||
|
entityType: EntityType.product,
|
||||||
|
icon: getEntityIcon(EntityType.product),
|
||||||
|
title: localization.products,
|
||||||
|
iconTooltip: localization.newProduct,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.invoice,
|
||||||
|
icon: getEntityIcon(EntityType.invoice),
|
||||||
|
title: localization.invoices,
|
||||||
|
iconTooltip: localization.newInvoice,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.recurringInvoice,
|
||||||
|
icon: getEntityIcon(
|
||||||
|
EntityType.recurringInvoice),
|
||||||
|
title: localization.recurringInvoices,
|
||||||
|
iconTooltip: localization.newRecurringInvoice,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.payment,
|
||||||
|
icon: getEntityIcon(EntityType.payment),
|
||||||
|
title: localization.payments,
|
||||||
|
iconTooltip: localization.newPayment,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.quote,
|
||||||
|
icon: getEntityIcon(EntityType.quote),
|
||||||
|
title: localization.quotes,
|
||||||
|
iconTooltip: localization.newQuote,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.credit,
|
||||||
|
icon: getEntityIcon(EntityType.credit),
|
||||||
|
title: localization.credits,
|
||||||
|
iconTooltip: localization.newCredit,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.project,
|
||||||
|
icon: getEntityIcon(EntityType.project),
|
||||||
|
title: localization.projects,
|
||||||
|
iconTooltip: localization.newProject,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.task,
|
||||||
|
icon: getEntityIcon(EntityType.task),
|
||||||
|
title: localization.tasks,
|
||||||
|
iconTooltip: localization.newTask,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.vendor,
|
||||||
|
icon: getEntityIcon(EntityType.vendor),
|
||||||
|
title: localization.vendors,
|
||||||
|
iconTooltip: localization.newVendor,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.purchaseOrder,
|
||||||
|
icon: getEntityIcon(EntityType.purchaseOrder),
|
||||||
|
title: localization.purchaseOrders,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.expense,
|
||||||
|
icon: getEntityIcon(EntityType.expense),
|
||||||
|
title: localization.expenses,
|
||||||
|
iconTooltip: localization.newExpense,
|
||||||
|
),
|
||||||
|
// STARTER: menu - do not remove comment
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.recurringExpense,
|
||||||
|
icon: getEntityIcon(
|
||||||
|
EntityType.recurringExpense),
|
||||||
|
title: localization.recurringExpenses,
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
entityType: EntityType.transaction,
|
||||||
|
icon: getEntityIcon(EntityType.transaction),
|
||||||
|
title: localization.transactions,
|
||||||
|
),
|
||||||
|
if (!isApple() || state.isProPlan)
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
icon: getEntityIcon(EntityType.reports),
|
||||||
|
title: localization.reports,
|
||||||
|
onTap: () => viewEntitiesByType(
|
||||||
|
entityType: EntityType.reports),
|
||||||
|
),
|
||||||
|
DrawerTile(
|
||||||
|
company: company,
|
||||||
|
icon: getEntityIcon(EntityType.settings),
|
||||||
|
title: localization.settings,
|
||||||
|
onTap: () => viewEntitiesByType(
|
||||||
|
entityType: EntityType.settings),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
DrawerTile(
|
),
|
||||||
company: company,
|
|
||||||
entityType: EntityType.client,
|
|
||||||
icon: getEntityIcon(EntityType.client),
|
|
||||||
title: localization.clients,
|
|
||||||
iconTooltip: localization.newClient,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.product,
|
|
||||||
icon: getEntityIcon(EntityType.product),
|
|
||||||
title: localization.products,
|
|
||||||
iconTooltip: localization.newProduct,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.invoice,
|
|
||||||
icon: getEntityIcon(EntityType.invoice),
|
|
||||||
title: localization.invoices,
|
|
||||||
iconTooltip: localization.newInvoice,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.recurringInvoice,
|
|
||||||
icon: getEntityIcon(EntityType.recurringInvoice),
|
|
||||||
title: localization.recurringInvoices,
|
|
||||||
iconTooltip: localization.newRecurringInvoice,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.payment,
|
|
||||||
icon: getEntityIcon(EntityType.payment),
|
|
||||||
title: localization.payments,
|
|
||||||
iconTooltip: localization.newPayment,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.quote,
|
|
||||||
icon: getEntityIcon(EntityType.quote),
|
|
||||||
title: localization.quotes,
|
|
||||||
iconTooltip: localization.newQuote,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.credit,
|
|
||||||
icon: getEntityIcon(EntityType.credit),
|
|
||||||
title: localization.credits,
|
|
||||||
iconTooltip: localization.newCredit,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.project,
|
|
||||||
icon: getEntityIcon(EntityType.project),
|
|
||||||
title: localization.projects,
|
|
||||||
iconTooltip: localization.newProject,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.task,
|
|
||||||
icon: getEntityIcon(EntityType.task),
|
|
||||||
title: localization.tasks,
|
|
||||||
iconTooltip: localization.newTask,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.vendor,
|
|
||||||
icon: getEntityIcon(EntityType.vendor),
|
|
||||||
title: localization.vendors,
|
|
||||||
iconTooltip: localization.newVendor,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.purchaseOrder,
|
|
||||||
icon: getEntityIcon(EntityType.purchaseOrder),
|
|
||||||
title: localization.purchaseOrders,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.expense,
|
|
||||||
icon: getEntityIcon(EntityType.expense),
|
|
||||||
title: localization.expenses,
|
|
||||||
iconTooltip: localization.newExpense,
|
|
||||||
),
|
|
||||||
// STARTER: menu - do not remove comment
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.recurringExpense,
|
|
||||||
icon: getEntityIcon(EntityType.recurringExpense),
|
|
||||||
title: localization.recurringExpenses,
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
entityType: EntityType.transaction,
|
|
||||||
icon: getEntityIcon(EntityType.transaction),
|
|
||||||
title: localization.transactions,
|
|
||||||
),
|
|
||||||
if (!isApple() || state.isProPlan)
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
icon: getEntityIcon(EntityType.reports),
|
|
||||||
title: localization.reports,
|
|
||||||
onTap: () => viewEntitiesByType(
|
|
||||||
entityType: EntityType.reports),
|
|
||||||
),
|
|
||||||
DrawerTile(
|
|
||||||
company: company,
|
|
||||||
icon: getEntityIcon(EntityType.settings),
|
|
||||||
title: localization.settings,
|
|
||||||
onTap: () => viewEntitiesByType(
|
|
||||||
entityType: EntityType.settings),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
)),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: kTopBottomBarHeight,
|
height: kTopBottomBarHeight,
|
||||||
child: AppBorder(
|
child: AppBorder(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue