feat(github): add meta screen

This commit is contained in:
Rongjian Zhang 2022-09-20 01:26:38 +08:00
parent 5b7b465b09
commit f0b52e82ab
4 changed files with 57 additions and 0 deletions

View File

@ -1105,3 +1105,15 @@ query Releases($name: String!, $owner: String!, $cursor: String) {
}
}
}
# meta
query Meta {
meta {
gitHubServicesSha
gitIpAddresses
hookIpAddresses
importerIpAddresses
isPasswordAuthenticationVerifiable
pagesIpAddresses
}
}

View File

@ -36,6 +36,7 @@ import 'package:git_touch/screens/gh_gists_files.dart';
import 'package:git_touch/screens/gh_issue.dart';
import 'package:git_touch/screens/gh_issue_form.dart';
import 'package:git_touch/screens/gh_issues.dart';
import 'package:git_touch/screens/gh_meta.dart';
import 'package:git_touch/screens/gh_object.dart';
import 'package:git_touch/screens/gh_pulls.dart';
import 'package:git_touch/screens/gh_releases.dart';
@ -98,6 +99,12 @@ final router = GoRouter(
GoRoute(
path: 'settings',
builder: (context, state) => SettingsScreen(),
routes: [
GoRoute(
path: 'github-meta',
builder: (context, state) => const GhMetaScreen(),
),
],
),
// github

34
lib/screens/gh_meta.dart Normal file
View File

@ -0,0 +1,34 @@
import 'package:flutter/widgets.dart';
import 'package:git_touch/graphql/__generated__/github.data.gql.dart';
import 'package:git_touch/graphql/__generated__/github.req.gql.dart';
import 'package:git_touch/models/auth.dart';
import 'package:git_touch/scaffolds/refresh_stateful.dart';
import 'package:git_touch/widgets/table_view.dart';
import 'package:provider/provider.dart';
class GhMetaScreen extends StatelessWidget {
const GhMetaScreen({super.key});
@override
Widget build(BuildContext context) {
return RefreshStatefulScaffold<GMetaData_meta>(
title: const Text('Meta'),
fetch: () async {
final req = GMetaReq();
final res =
await context.read<AuthModel>().gqlClient.request(req).first;
return res.data!.meta;
},
bodyBuilder: (meta, _) {
return TableView(
items: [
TableViewItem(
child: const Text('Service SHA'),
extra: Text(meta.gitHubServicesSha),
),
],
);
},
);
}
}

View File

@ -32,6 +32,10 @@ class SettingsScreen extends StatelessWidget {
child: Text(AppLocalizations.of(context)!.githubStatus),
url: 'https://www.githubstatus.com/',
),
const TableViewItem(
child: Text('Meta'),
url: '/settings/github-meta',
),
TableViewItem(
child: Text(AppLocalizations.of(context)!.reviewPermissions),
url: