12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import 'dart:io';
- import 'package:flutter/material.dart';
- import 'package:photos/core/configuration.dart';
- import 'package:photos/core/constants.dart';
- import 'package:photos/theme/ente_theme.dart';
- import 'package:photos/ui/common/web_page.dart';
- import 'package:photos/ui/components/captioned_text_widget.dart';
- import 'package:photos/ui/components/expandable_menu_item_widget.dart';
- import 'package:photos/ui/components/menu_item_widget.dart';
- import 'package:photos/ui/settings/about_section_widget.dart';
- import 'package:photos/ui/settings/common_settings.dart';
- import 'package:photos/utils/email_util.dart';
- class SupportSectionWidget extends StatelessWidget {
- const SupportSectionWidget({Key? key}) : super(key: key);
- @override
- Widget build(BuildContext context) {
- return ExpandableMenuItemWidget(
- title: "Support",
- selectionOptionsWidget: _getSectionOptions(context),
- leadingIcon: Icons.help_outline_outlined,
- );
- }
- Widget _getSectionOptions(BuildContext context) {
- final String bugsEmail =
- Platform.isAndroid ? "android-bugs@ente.io" : "ios-bugs@ente.io";
- return Column(
- children: [
- sectionOptionSpacing,
- MenuItemWidget(
- captionedTextWidget: const CaptionedTextWidget(
- title: "Contact support",
- ),
- pressedColor: getEnteColorScheme(context).fillFaint,
- trailingIcon: Icons.chevron_right_outlined,
- trailingIconIsMuted: true,
- onTap: () async {
- await sendEmail(context, to: supportEmail);
- },
- ),
- sectionOptionSpacing,
- const AboutMenuItemWidget(
- title: "Frequently asked questions",
- url: "https://ente.io/faq",
- ),
- sectionOptionSpacing,
- MenuItemWidget(
- captionedTextWidget: const CaptionedTextWidget(
- title: "Suggest features",
- ),
- pressedColor: getEnteColorScheme(context).fillFaint,
- trailingIcon: Icons.chevron_right_outlined,
- trailingIconIsMuted: true,
- onTap: () {
- Navigator.of(context).push(
- MaterialPageRoute(
- builder: (BuildContext context) {
- final endpoint = Configuration.instance.getHttpEndpoint() +
- "/users/roadmap";
- final url = Configuration.instance.isLoggedIn()
- ? endpoint +
- "?token=" +
- Configuration.instance.getToken()!
- : roadmapURL;
- return WebPage("Suggest features", url);
- },
- ),
- );
- },
- ),
- sectionOptionSpacing,
- MenuItemWidget(
- captionedTextWidget: const CaptionedTextWidget(
- title: "Report a bug",
- ),
- pressedColor: getEnteColorScheme(context).fillFaint,
- trailingIcon: Icons.chevron_right_outlined,
- trailingIconIsMuted: true,
- onTap: () async {
- await sendLogs(context, "Report bug", bugsEmail);
- },
- onDoubleTap: () async {
- final zipFilePath = await getZippedLogsFile(context);
- await shareLogs(context, bugsEmail, zipFilePath);
- },
- ),
- sectionOptionSpacing,
- ],
- );
- }
- }
|