mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-29 05:56:47 +00:00
Merge branch 'user-feedbac'
This commit is contained in:
commit
f91c40cccd
@ -1,6 +1,11 @@
|
|||||||
## InvenTree App Release Notes
|
## InvenTree App Release Notes
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### 0.1.5 - May 2021
|
||||||
|
---
|
||||||
|
|
||||||
|
- Added ability for user to submit feedback
|
||||||
|
|
||||||
### 0.1.4 - April 2021
|
### 0.1.4 - April 2021
|
||||||
---
|
---
|
||||||
|
|
||||||
|
2
lib/l10n
2
lib/l10n
@ -1 +1 @@
|
|||||||
Subproject commit 8c2bf9e993d5c618a0a7b5cb94d189b89d70cbe9
|
Subproject commit 3f8e2a12cf99a3061dca3ad4070b4681140f36aa
|
@ -1,7 +1,9 @@
|
|||||||
|
import 'package:InvenTree/inventree/sentry.dart';
|
||||||
import 'package:InvenTree/settings/about.dart';
|
import 'package:InvenTree/settings/about.dart';
|
||||||
import 'package:InvenTree/settings/app_settings.dart';
|
import 'package:InvenTree/settings/app_settings.dart';
|
||||||
import 'package:InvenTree/settings/login.dart';
|
import 'package:InvenTree/settings/login.dart';
|
||||||
import 'package:InvenTree/user_profile.dart';
|
import 'package:InvenTree/widget/snacks.dart';
|
||||||
|
import 'package:InvenTree/widget/dialogs.dart';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
@ -24,6 +26,7 @@ class InvenTreeSettingsWidget extends StatefulWidget {
|
|||||||
class _InvenTreeSettingsState extends State<InvenTreeSettingsWidget> {
|
class _InvenTreeSettingsState extends State<InvenTreeSettingsWidget> {
|
||||||
|
|
||||||
final _scaffoldKey = GlobalKey<ScaffoldState>();
|
final _scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
|
final _feedbackKey = GlobalKey<FormState>();
|
||||||
|
|
||||||
final String docsUrl = "https://inventree.readthedocs.io/en/latest/app/app/";
|
final String docsUrl = "https://inventree.readthedocs.io/en/latest/app/app/";
|
||||||
|
|
||||||
@ -41,7 +44,7 @@ class _InvenTreeSettingsState extends State<InvenTreeSettingsWidget> {
|
|||||||
tiles: <Widget>[
|
tiles: <Widget>[
|
||||||
ListTile(
|
ListTile(
|
||||||
title: Text(I18N.of(context).server),
|
title: Text(I18N.of(context).server),
|
||||||
subtitle: Text("Configure server settings"),
|
subtitle: Text(I18N.of(context).configureServer),
|
||||||
leading: FaIcon(FontAwesomeIcons.server),
|
leading: FaIcon(FontAwesomeIcons.server),
|
||||||
onTap: _editServerSettings,
|
onTap: _editServerSettings,
|
||||||
),
|
),
|
||||||
@ -67,6 +70,15 @@ class _InvenTreeSettingsState extends State<InvenTreeSettingsWidget> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
||||||
|
ListTile(
|
||||||
|
title: Text(I18N.of(context).feedback),
|
||||||
|
subtitle: Text(I18N.of(context).submitFeedback),
|
||||||
|
leading: FaIcon(FontAwesomeIcons.comments),
|
||||||
|
onTap: () {
|
||||||
|
_submitFeedback(context);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
|
||||||
]
|
]
|
||||||
).toList()
|
).toList()
|
||||||
)
|
)
|
||||||
@ -97,4 +109,44 @@ class _InvenTreeSettingsState extends State<InvenTreeSettingsWidget> {
|
|||||||
MaterialPageRoute(builder: (context) => InvenTreeAboutWidget(info)));
|
MaterialPageRoute(builder: (context) => InvenTreeAboutWidget(info)));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _sendReport(BuildContext context, String message) async {
|
||||||
|
bool result = await sentryReportMessage(message);
|
||||||
|
|
||||||
|
if (result) {
|
||||||
|
showSnackIcon(
|
||||||
|
I18N.of(context).feedbackSuccess,
|
||||||
|
success: true,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
showSnackIcon(
|
||||||
|
I18N.of(context).feedbackError,
|
||||||
|
success: false,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void _submitFeedback(BuildContext context) async {
|
||||||
|
|
||||||
|
TextEditingController _controller = TextEditingController();
|
||||||
|
|
||||||
|
_controller.clear();
|
||||||
|
|
||||||
|
showFormDialog(
|
||||||
|
I18N.of(context).submitFeedback,
|
||||||
|
key: _feedbackKey,
|
||||||
|
callback: () {
|
||||||
|
_sendReport(context, _controller.text);
|
||||||
|
},
|
||||||
|
fields: <Widget>[
|
||||||
|
TextField(
|
||||||
|
decoration: InputDecoration(
|
||||||
|
),
|
||||||
|
keyboardType: TextInputType.multiline,
|
||||||
|
maxLines: null,
|
||||||
|
controller: _controller
|
||||||
|
)
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user