~cytrogen/fluent-reader-mobile

ref: 06e740abdfab1698e03bc0d4ad921b2c5a7161af fluent-reader-mobile/lib/pages/settings_page.dart -rw-r--r-- 2.7 KiB
06e740ab — 刘浩远 add inoreader support 5 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import 'dart:io';

import 'package:fluent_reader_lite/components/list_tile_group.dart';
import 'package:fluent_reader_lite/components/my_list_tile.dart';
import 'package:fluent_reader_lite/generated/l10n.dart';
import 'package:fluent_reader_lite/utils/colors.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:package_info/package_info.dart';

class SettingsPage extends StatefulWidget {
  @override
  _SettingsPageState createState() => _SettingsPageState();
}

class _SettingsPageState extends State<SettingsPage> {
  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      backgroundColor: MyColors.background,
      navigationBar: CupertinoNavigationBar(
        middle: Text(S.of(context).settings),
      ),
      child: ListView(children: [
        ListTileGroup([
          MyListTile(
            title: Text(S.of(context).subscriptions),
            leading: Icon(Icons.rss_feed, color: CupertinoColors.systemOrange, size: 24),
            onTap: () { Navigator.of(context).pushNamed("/settings/sources"); },
          ),
          MyListTile(
            title: Text(S.of(context).feed),
            leading: Icon(Icons.timeline, color: CupertinoColors.systemBlue, size: 24),
            onTap: () { Navigator.of(context).pushNamed("/settings/feed"); },
          ),
          MyListTile(
            title: Text(S.of(context).reading),
            leading: Icon(Icons.article_outlined, color: CupertinoColors.systemBlue, size: 24),
            onTap: () { Navigator.of(context).pushNamed("/settings/reading"); },
            withDivider: false,
          ),
        ], title: S.of(context).preferences),
        ListTileGroup([
          MyListTile(
            title: Text(S.of(context).service),
            leading: Icon(Icons.account_circle, color: CupertinoColors.systemOrange, size: 24),
            onTap: () { Navigator.of(context).pushNamed("/settings/service"); },
            withDivider: false,
          ),
        ], title: S.of(context).account),
        ListTileGroup([
          MyListTile(
            title: Text(S.of(context).general),
            leading: Icon(Icons.toggle_on, color: CupertinoColors.systemGreen, size: 24),
            onTap: () { Navigator.of(context).pushNamed("/settings/general"); },
          ),
          MyListTile(
            title: Text(S.of(context).about),
            leading: Icon(Icons.info, color: CupertinoColors.systemBlue, size: 24),
            onTap: () async {
              var infos = await PackageInfo.fromPlatform();
              Navigator.of(context).pushNamed("/settings/about", arguments: infos.version);
            },
            withDivider: false,
          ),
        ], title: S.of(context).app),
      ]),
    );
  }
}