12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import 'dart:io';
- import 'package:flutter/material.dart';
- import 'package:photos/core/constants.dart';
- import "package:photos/generated/l10n.dart";
- import 'package:photos/theme/ente_theme.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/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';
- import "package:url_launcher/url_launcher_string.dart";
- class SupportSectionWidget extends StatelessWidget {
- const SupportSectionWidget({Key? key}) : super(key: key);
- @override
- Widget build(BuildContext context) {
- return ExpandableMenuItemWidget(
- title: S.of(context).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: CaptionedTextWidget(
- title: S.of(context).contactSupport,
- ),
- pressedColor: getEnteColorScheme(context).fillFaint,
- trailingIcon: Icons.chevron_right_outlined,
- trailingIconIsMuted: true,
- onTap: () async {
- await sendEmail(context, to: supportEmail);
- },
- ),
- sectionOptionSpacing,
- AboutMenuItemWidget(
- title: S.of(context).faq,
- url: "https://ente.io/faq",
- ),
- sectionOptionSpacing,
- MenuItemWidget(
- captionedTextWidget: CaptionedTextWidget(
- title: S.of(context).suggestFeatures,
- ),
- pressedColor: getEnteColorScheme(context).fillFaint,
- trailingIcon: Icons.chevron_right_outlined,
- trailingIconIsMuted: true,
- onTap: () async {
- // ignore: unawaited_futures
- launchUrlString(
- githubDiscussionsUrl,
- mode: LaunchMode.externalApplication,
- );
- },
- ),
- sectionOptionSpacing,
- MenuItemWidget(
- captionedTextWidget: CaptionedTextWidget(
- title: S.of(context).reportABug,
- ),
- pressedColor: getEnteColorScheme(context).fillFaint,
- trailingIcon: Icons.chevron_right_outlined,
- trailingIconIsMuted: true,
- onTap: () async {
- await sendLogs(context, S.of(context).reportBug, bugsEmail);
- },
- onLongPress: () async {
- final zipFilePath = await getZippedLogsFile(context);
- await shareLogs(context, bugsEmail, zipFilePath);
- },
- ),
- sectionOptionSpacing,
- ],
- );
- }
- }
|