1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import 'dart:io';
- import 'package:flutter/material.dart';
- import 'package:photos/core/configuration.dart';
- import 'package:photos/core/constants.dart';
- import "package:photos/generated/l10n.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/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: 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 {
- 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(S.of(context).suggestFeatures, url);
- },
- ),
- );
- },
- ),
- 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);
- },
- onDoubleTap: () async {
- final zipFilePath = await getZippedLogsFile(context);
- await shareLogs(context, bugsEmail, zipFilePath);
- },
- ),
- sectionOptionSpacing,
- ],
- );
- }
- }
|