refactor: rename to auth
This commit is contained in:
parent
ee615097e7
commit
62c53e543d
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:git_touch/models/code.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:git_touch/models/theme.dart';
|
||||
import 'package:git_touch/screens/issues.dart';
|
||||
import 'package:git_touch/screens/repository.dart';
|
||||
|
@ -34,7 +34,7 @@ class _HomeState extends State<Home> {
|
|||
nextTick(() {
|
||||
// FIXME:
|
||||
Provider.of<ThemeModel>(context).init();
|
||||
Provider.of<SettingsModel>(context).init();
|
||||
Provider.of<AuthModel>(context).init();
|
||||
Provider.of<CodeModel>(context).init();
|
||||
});
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ class _HomeState extends State<Home> {
|
|||
return SearchScreen();
|
||||
case 4:
|
||||
return UserScreen(
|
||||
Provider.of<SettingsModel>(context).activeAccount.login,
|
||||
Provider.of<AuthModel>(context).activeAccount.login,
|
||||
isMe: true,
|
||||
);
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ class _HomeState extends State<Home> {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var settings = Provider.of<SettingsModel>(context);
|
||||
var settings = Provider.of<AuthModel>(context);
|
||||
var themData = ThemeData(
|
||||
// primaryColor: HSLColor.fromColor(Palette.primary)
|
||||
// .withLightness(0.3)
|
||||
|
@ -182,7 +182,7 @@ class App extends StatelessWidget {
|
|||
providers: [
|
||||
ChangeNotifierProvider(builder: (context) => NotificationModel()),
|
||||
ChangeNotifierProvider(builder: (context) => ThemeModel()),
|
||||
ChangeNotifierProvider(builder: (context) => SettingsModel()),
|
||||
ChangeNotifierProvider(builder: (context) => AuthModel()),
|
||||
ChangeNotifierProvider(builder: (context) => CodeModel()),
|
||||
],
|
||||
child: Home(),
|
||||
|
|
|
@ -4,14 +4,14 @@ import 'package:meta/meta.dart';
|
|||
part 'account.g.dart';
|
||||
|
||||
@JsonSerializable()
|
||||
class AccountModel {
|
||||
class Account {
|
||||
String platform;
|
||||
String domain;
|
||||
String token;
|
||||
String login;
|
||||
String avatarUrl;
|
||||
|
||||
equals(AccountModel a) {
|
||||
equals(Account a) {
|
||||
final uri = Uri.parse(domain);
|
||||
final uriA = Uri.parse(a.domain);
|
||||
|
||||
|
@ -22,7 +22,7 @@ class AccountModel {
|
|||
uri.port == uriA.port;
|
||||
}
|
||||
|
||||
AccountModel({
|
||||
Account({
|
||||
@required this.platform,
|
||||
@required this.domain,
|
||||
@required this.token,
|
||||
|
@ -30,8 +30,8 @@ class AccountModel {
|
|||
@required this.avatarUrl,
|
||||
});
|
||||
|
||||
factory AccountModel.fromJson(Map<String, dynamic> json) =>
|
||||
_$AccountModelFromJson(json);
|
||||
factory Account.fromJson(Map<String, dynamic> json) =>
|
||||
_$AccountFromJson(json);
|
||||
|
||||
Map<String, dynamic> toJson() => _$AccountModelToJson(this);
|
||||
Map<String, dynamic> toJson() => _$AccountToJson(this);
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@ part of 'account.dart';
|
|||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
AccountModel _$AccountModelFromJson(Map<String, dynamic> json) {
|
||||
return AccountModel(
|
||||
Account _$AccountFromJson(Map<String, dynamic> json) {
|
||||
return Account(
|
||||
platform: json['platform'] as String,
|
||||
domain: json['domain'] as String,
|
||||
token: json['token'] as String,
|
||||
|
@ -16,8 +16,7 @@ AccountModel _$AccountModelFromJson(Map<String, dynamic> json) {
|
|||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$AccountModelToJson(AccountModel instance) =>
|
||||
<String, dynamic>{
|
||||
Map<String, dynamic> _$AccountToJson(Account instance) => <String, dynamic>{
|
||||
'platform': instance.platform,
|
||||
'domain': instance.domain,
|
||||
'token': instance.token,
|
||||
|
|
|
@ -19,44 +19,26 @@ class PlatformType {
|
|||
static const gitlab = 'gitlab';
|
||||
}
|
||||
|
||||
// abstract class Model<T> {
|
||||
// Future<T> query(BuildContext context) {
|
||||
// var settings = Provider.of<SettingsModel>(context);
|
||||
|
||||
// switch (settings.platformType) {
|
||||
// case PlatformType.github:
|
||||
// return queryGithub(settings);
|
||||
// case PlatformType.gitlab:
|
||||
// return queryGitlab(settings);
|
||||
// default:
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
|
||||
// Future<T> queryGithub(SettingsProviderState settings);
|
||||
// Future<T> queryGitlab(SettingsProviderState settings);
|
||||
// }
|
||||
|
||||
class SettingsModel with ChangeNotifier {
|
||||
class AuthModel with ChangeNotifier {
|
||||
static const _apiPrefix = 'https://api.github.com';
|
||||
|
||||
List<AccountModel> _accounts;
|
||||
List<Account> _accounts;
|
||||
int activeAccountIndex;
|
||||
StreamSubscription<Uri> _sub;
|
||||
bool loading = false;
|
||||
|
||||
List<AccountModel> get accounts => _accounts;
|
||||
List<Account> get accounts => _accounts;
|
||||
bool get ready => _accounts != null;
|
||||
AccountModel get activeAccount {
|
||||
Account get activeAccount {
|
||||
if (activeAccountIndex == null || _accounts == null) return null;
|
||||
return _accounts[activeAccountIndex];
|
||||
}
|
||||
|
||||
String get token => activeAccount.token;
|
||||
|
||||
_setAccounts(AccountModel account) async {
|
||||
_addAccount(Account account) async {
|
||||
// Remove previous if duplicated
|
||||
List<AccountModel> newAccounts = [];
|
||||
List<Account> newAccounts = [];
|
||||
for (var a in _accounts) {
|
||||
if (!account.equals(a)) {
|
||||
newAccounts.add(a);
|
||||
|
@ -107,7 +89,7 @@ class SettingsModel with ChangeNotifier {
|
|||
}
|
||||
''', token);
|
||||
|
||||
await _setAccounts(AccountModel(
|
||||
await _addAccount(Account(
|
||||
platform: PlatformType.github,
|
||||
domain: 'https://github.com',
|
||||
token: token,
|
||||
|
@ -132,7 +114,7 @@ class SettingsModel with ChangeNotifier {
|
|||
throw info['message'];
|
||||
}
|
||||
|
||||
await _setAccounts(AccountModel(
|
||||
await _addAccount(Account(
|
||||
platform: PlatformType.gitlab,
|
||||
domain: domain,
|
||||
token: token,
|
||||
|
@ -161,7 +143,7 @@ class SettingsModel with ChangeNotifier {
|
|||
String str = prefs.getString(StorageKeys.accounts);
|
||||
print('read accounts: $str');
|
||||
_accounts = (json.decode(str ?? '[]') as List)
|
||||
.map((item) => AccountModel.fromJson(item))
|
||||
.map((item) => Account.fromJson(item))
|
||||
.toList();
|
||||
} catch (err) {
|
||||
print(err);
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
|
@ -22,7 +22,7 @@ class CommitsScreen extends StatelessWidget {
|
|||
params += ', after: "$cursor"';
|
||||
}
|
||||
var key = getBranchQueryKey(branch, withParams: true);
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
repository(owner: "$owner", name: "$name") {
|
||||
$key {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:primer/primer.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:share/share.dart';
|
||||
|
@ -273,7 +273,7 @@ __typename
|
|||
}
|
||||
}
|
||||
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
repository(owner: "$owner", name: "$name") {
|
||||
$resource(number: $number) {
|
||||
|
@ -323,7 +323,7 @@ __typename
|
|||
|
||||
var id = payload['id'] as String;
|
||||
var operation = isRemove ? 'remove' : 'add';
|
||||
await Provider.of<SettingsModel>(context).query('''
|
||||
await Provider.of<AuthModel>(context).query('''
|
||||
mutation {
|
||||
${operation}Reaction(input: {subjectId: "$id", content: $emojiKey}) {
|
||||
clientMutationId
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:git_touch/widgets/issue_item.dart';
|
||||
|
@ -21,7 +21,7 @@ class IssuesScreen extends StatelessWidget {
|
|||
var cursorChunk = cursor == null ? '' : ', after: "$cursor"';
|
||||
var resource = isPullRequest ? 'pullRequests' : 'issues';
|
||||
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
repository(owner: "$owner", name: "$name") {
|
||||
$resource(states: OPEN, orderBy: {field: CREATED_AT, direction: DESC}, first: $pageSize$cursorChunk) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:git_touch/scaffolds/single.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
@ -15,7 +15,7 @@ class LoginScreen extends StatefulWidget {
|
|||
|
||||
class _LoginScreenState extends State<LoginScreen> {
|
||||
Widget _buildAccountItem(int index) {
|
||||
final settings = Provider.of<SettingsModel>(context);
|
||||
final settings = Provider.of<AuthModel>(context);
|
||||
final account = settings.accounts[index];
|
||||
|
||||
return Link(
|
||||
|
@ -72,7 +72,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settings = Provider.of<SettingsModel>(context);
|
||||
final settings = Provider.of<AuthModel>(context);
|
||||
|
||||
return SingleScaffold(
|
||||
title: AppBarTitle('Select account'),
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:git_touch/scaffolds/single.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
@ -33,8 +33,7 @@ class _LoginGitlabScreenState extends State<LoginGitlabScreen> {
|
|||
MaterialButton(
|
||||
child: Text('Login'),
|
||||
onPressed: () {
|
||||
Provider.of<SettingsModel>(context)
|
||||
.loginToGitlab(_domain, _token);
|
||||
Provider.of<AuthModel>(context).loginToGitlab(_domain, _token);
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
)
|
||||
|
|
|
@ -6,7 +6,7 @@ import 'package:git_touch/utils/utils.dart';
|
|||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../widgets/event_item.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
|
||||
class NewsFilter {
|
||||
static const all = 'all';
|
||||
|
@ -32,7 +32,7 @@ class NewsScreenState extends State<NewsScreen> {
|
|||
nextTick(() async {
|
||||
// Check if there are unread notification items.
|
||||
// 1 item is enough since count is not displayed for now.
|
||||
var items = await Provider.of<SettingsModel>(context)
|
||||
var items = await Provider.of<AuthModel>(context)
|
||||
.getWithCredentials('/notifications?per_page=1');
|
||||
|
||||
if (items is List && items.isNotEmpty) {
|
||||
|
@ -49,7 +49,7 @@ class NewsScreenState extends State<NewsScreen> {
|
|||
}
|
||||
|
||||
Future<ListPayload<EventPayload, int>> fetchEvents([int page = 1]) async {
|
||||
final settings = Provider.of<SettingsModel>(context);
|
||||
final settings = Provider.of<AuthModel>(context);
|
||||
final login = settings.activeAccount.login;
|
||||
List data = await settings.getWithCredentials(
|
||||
'/users/$login/received_events?page=$page&per_page=$pageSize');
|
||||
|
|
|
@ -4,7 +4,7 @@ import 'package:git_touch/scaffolds/tab_stateful.dart';
|
|||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:git_touch/models/notification.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import '../widgets/notification_item.dart';
|
||||
import '../widgets/list_group.dart';
|
||||
import '../widgets/link.dart';
|
||||
|
@ -18,7 +18,7 @@ class NotificationScreen extends StatefulWidget {
|
|||
|
||||
class NotificationScreenState extends State<NotificationScreen> {
|
||||
Future<Map<String, NotificationGroup>> fetchNotifications(int index) async {
|
||||
List items = await Provider.of<SettingsModel>(context).getWithCredentials(
|
||||
List items = await Provider.of<AuthModel>(context).getWithCredentials(
|
||||
'/notifications?all=${index == 2}&participating=${index == 1}');
|
||||
var ns = items.map((item) => NotificationPayload.fromJson(item)).toList();
|
||||
|
||||
|
@ -77,7 +77,7 @@ $key: pullRequest(number: ${item.number}) {
|
|||
schema += '}';
|
||||
|
||||
// print(schema);
|
||||
var data = await Provider.of<SettingsModel>(context).query(schema);
|
||||
var data = await Provider.of<AuthModel>(context).query(schema);
|
||||
_groupMap.forEach((repo, group) {
|
||||
group.items.forEach((item) {
|
||||
var groupData = data[group.key];
|
||||
|
@ -112,7 +112,7 @@ $key: pullRequest(number: ${item.number}) {
|
|||
Link(
|
||||
material: false,
|
||||
onTap: () async {
|
||||
await Provider.of<SettingsModel>(context)
|
||||
await Provider.of<AuthModel>(context)
|
||||
.putWithCredentials('/repos/$repo/notifications');
|
||||
// await _onSwitchTab(); // TODO:
|
||||
},
|
||||
|
|
|
@ -11,7 +11,7 @@ import 'package:git_touch/widgets/table_view.dart';
|
|||
import 'package:path/path.dart' as path;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_highlight/flutter_highlight.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:primer/primer.dart';
|
||||
|
@ -146,7 +146,7 @@ class ObjectScreen extends StatelessWidget {
|
|||
return RefreshStatefulScaffold(
|
||||
title: AppBarTitle(paths.join('/')),
|
||||
onRefresh: () async {
|
||||
var data = await Provider.of<SettingsModel>(context).query('''{
|
||||
var data = await Provider.of<AuthModel>(context).query('''{
|
||||
repository(owner: "$owner", name: "$name") {
|
||||
object(expression: "$_expression") {
|
||||
$_subQuery
|
||||
|
|
|
@ -10,7 +10,7 @@ import 'package:git_touch/widgets/table_view.dart';
|
|||
import 'package:git_touch/widgets/user_item.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import 'package:share/share.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../widgets/action.dart';
|
||||
import '../utils/utils.dart';
|
||||
|
@ -57,7 +57,7 @@ class OrganizationScreen extends StatelessWidget {
|
|||
return RefreshStatefulScaffold(
|
||||
onRefresh: () async {
|
||||
// Use pinnableItems instead of organization here due to token permission
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
organization(login: "$login") {
|
||||
name
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../utils/utils.dart';
|
||||
import 'package:git_touch/widgets/repository_item.dart';
|
||||
|
@ -39,7 +39,7 @@ class RepositoriesScreen extends StatelessWidget {
|
|||
|
||||
Future<ListPayload> _queryRepos(BuildContext context, [String cursor]) async {
|
||||
var cursorChunk = cursor == null ? '' : ', after: "$cursor"';
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
$scope(login: "$login") {
|
||||
$resource(first: $pageSize$cursorChunk, $extra0) {
|
||||
|
|
|
@ -2,7 +2,7 @@ import 'dart:convert';
|
|||
import 'package:filesize/filesize.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
||||
import 'package:git_touch/screens/users.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
|
@ -38,7 +38,7 @@ class RepositoryScreen extends StatelessWidget {
|
|||
|
||||
Future queryRepo(BuildContext context) async {
|
||||
var branchKey = getBranchQueryKey(branch, withParams: true);
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
repository(owner: "$owner", name: "$name") {
|
||||
id
|
||||
|
@ -127,7 +127,7 @@ class RepositoryScreen extends StatelessWidget {
|
|||
}
|
||||
|
||||
Future<String> fetchReadme(BuildContext context) async {
|
||||
var data = await Provider.of<SettingsModel>(context)
|
||||
var data = await Provider.of<AuthModel>(context)
|
||||
.getWithCredentials('/repos/$owner/$name/readme');
|
||||
|
||||
if (data['content'] == null) {
|
||||
|
@ -174,11 +174,11 @@ class RepositoryScreen extends StatelessWidget {
|
|||
text: data[0]['viewerHasStarred'] ? 'Unstar' : 'Star',
|
||||
onPress: () async {
|
||||
if (data[0]['viewerHasStarred']) {
|
||||
await Provider.of<SettingsModel>(context)
|
||||
await Provider.of<AuthModel>(context)
|
||||
.deleteWithCredentials('/user/starred/$owner/$name');
|
||||
data[0]['viewerHasStarred'] = false;
|
||||
} else {
|
||||
Provider.of<SettingsModel>(context)
|
||||
Provider.of<AuthModel>(context)
|
||||
.putWithCredentials('/user/starred/$owner/$name');
|
||||
data[0]['viewerHasStarred'] = true;
|
||||
}
|
||||
|
@ -190,12 +190,11 @@ class RepositoryScreen extends StatelessWidget {
|
|||
: 'Watch',
|
||||
onPress: () async {
|
||||
if (data[0]['viewerSubscription'] == 'SUBSCRIBED') {
|
||||
await Provider.of<SettingsModel>(context)
|
||||
.deleteWithCredentials(
|
||||
'/repos/$owner/$name/subscription');
|
||||
await Provider.of<AuthModel>(context).deleteWithCredentials(
|
||||
'/repos/$owner/$name/subscription');
|
||||
data[0]['viewerSubscription'] = 'UNSUBSCRIBED';
|
||||
} else {
|
||||
Provider.of<SettingsModel>(context)
|
||||
Provider.of<AuthModel>(context)
|
||||
.putWithCredentials('/repos/$owner/$name/subscription');
|
||||
data[0]['viewerSubscription'] = 'SUBSCRIBED';
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import 'package:git_touch/widgets/app_bar_title.dart';
|
|||
import 'package:git_touch/widgets/issue_item.dart';
|
||||
import 'package:git_touch/widgets/user_item.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import '../utils/utils.dart';
|
||||
import 'package:git_touch/widgets/repository_item.dart';
|
||||
|
||||
|
@ -44,7 +44,7 @@ class _SearchScreenState extends State<SearchScreen> {
|
|||
_loading = true;
|
||||
});
|
||||
try {
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
repository: search(first: $pageSize, type: REPOSITORY, query: "$keyword") {
|
||||
nodes {
|
||||
|
|
|
@ -10,7 +10,7 @@ import 'package:primer/primer.dart';
|
|||
import 'package:url_launcher/url_launcher.dart';
|
||||
import 'package:share/share.dart';
|
||||
import 'package:github_contributions/github_contributions.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../widgets/entry_item.dart';
|
||||
import 'package:git_touch/widgets/repository_item.dart';
|
||||
|
@ -27,7 +27,7 @@ class UserScreen extends StatelessWidget {
|
|||
UserScreen(this.login, {this.isMe = false});
|
||||
|
||||
Future query(BuildContext context) async {
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
user(login: "$login") {
|
||||
name
|
||||
|
@ -164,11 +164,11 @@ class UserScreen extends StatelessWidget {
|
|||
text: data[0]['viewerIsFollowing'] ? 'Unfollow' : 'Follow',
|
||||
onPress: () async {
|
||||
if (data[0]['viewerIsFollowing']) {
|
||||
await Provider.of<SettingsModel>(context)
|
||||
await Provider.of<AuthModel>(context)
|
||||
.deleteWithCredentials('/user/following/$login');
|
||||
data[0]['viewerIsFollowing'] = false;
|
||||
} else {
|
||||
Provider.of<SettingsModel>(context)
|
||||
Provider.of<AuthModel>(context)
|
||||
.putWithCredentials('/user/following/$login');
|
||||
data[0]['viewerIsFollowing'] = true;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:git_touch/widgets/user_item.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../utils/utils.dart';
|
||||
|
||||
|
@ -40,7 +40,7 @@ class UsersScreen extends StatelessWidget {
|
|||
|
||||
Future<ListPayload> _queryUsers(BuildContext context, [String cursor]) async {
|
||||
var cursorChunk = cursor == null ? '' : ', after: "$cursor"';
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
var data = await Provider.of<AuthModel>(context).query('''
|
||||
{
|
||||
$scope($params) {
|
||||
$resource(first: $pageSize$cursorChunk) {
|
||||
|
|
|
@ -7,7 +7,7 @@ import 'package:url_launcher/url_launcher.dart';
|
|||
import '../utils/utils.dart';
|
||||
import '../screens/issue.dart';
|
||||
// import '../screens/not_found.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/auth.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'link.dart';
|
||||
|
||||
|
@ -82,7 +82,7 @@ class _NotificationItemState extends State<NotificationItem> {
|
|||
loading = true;
|
||||
});
|
||||
try {
|
||||
await Provider.of<SettingsModel>(context)
|
||||
await Provider.of<AuthModel>(context)
|
||||
.patchWithCredentials('/notifications/threads/' + payload.id);
|
||||
widget.markAsRead();
|
||||
} finally {
|
||||
|
|
Loading…
Reference in New Issue