Skip to content

Commit

Permalink
Add report feedback button to top level actions in DevTools (#2925)
Browse files Browse the repository at this point in the history
  • Loading branch information
kenzieschmoll authored Apr 21, 2021
1 parent c6c42fe commit 94ff204
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 2 deletions.
3 changes: 2 additions & 1 deletion packages/devtools_app/lib/src/analytics/constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ const String timeline = 'timeline';
// Main bar UX actions:
const String hotReload = 'hotReload';
const String hotRestart = 'hotRestart';
const String feedback = 'feedback';
const String feedbackLink = 'feedback';
const String feedbackButton = 'feedbackButton';

// Common UX actions:
const String pause = 'pause'; // Memory, Timeline, Debugger
Expand Down
30 changes: 29 additions & 1 deletion packages/devtools_app/lib/src/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ class DevToolsAppState extends State<DevToolsApp> {
analyticsProvider: widget.analyticsProvider,
actions: [
OpenSettingsAction(),
ReportFeedbackButton(),
OpenAboutAction(),
],
);
Expand Down Expand Up @@ -217,6 +218,7 @@ class DevToolsAppState extends State<DevToolsApp> {
HotRestartButton(),
],
OpenSettingsAction(),
ReportFeedbackButton(),
OpenAboutAction(),
],
),
Expand Down Expand Up @@ -255,6 +257,7 @@ class DevToolsAppState extends State<DevToolsApp> {
ideTheme: ideTheme,
actions: [
OpenSettingsAction(),
ReportFeedbackButton(),
OpenAboutAction(),
],
);
Expand Down Expand Up @@ -431,6 +434,31 @@ class OpenSettingsAction extends StatelessWidget {
}
}

class ReportFeedbackButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return DevToolsTooltip(
tooltip: 'Report feedback',
child: InkWell(
onTap: () async {
ga.select(devToolsMain, feedbackButton);
await launchUrl(
devToolsExtensionPoints.issueTrackerLink().url, context);
},
child: Container(
width: DevToolsScaffold.actionWidgetSize,
height: DevToolsScaffold.actionWidgetSize,
alignment: Alignment.center,
child: const Icon(
Icons.bug_report,
size: actionsIconSize,
),
),
),
);
}
}

class DevToolsAboutDialog extends StatelessWidget {
@override
Widget build(BuildContext context) {
Expand Down Expand Up @@ -469,7 +497,7 @@ class DevToolsAboutDialog extends StatelessWidget {
final colorScheme = Theme.of(context).colorScheme;
return InkWell(
onTap: () async {
ga.select(devToolsMain, feedback);
ga.select(devToolsMain, feedbackLink);
await launchUrl(reportIssuesLink.url, context);
},
child: Text(reportIssuesLink.display, style: linkTextStyle(colorScheme)),
Expand Down

0 comments on commit 94ff204

Please sign in to comment.