@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
22import 'package:gsy_github_app_flutter/common/dao/repos_dao.dart' ;
33import 'package:gsy_github_app_flutter/common/dao/user_dao.dart' ;
44import 'package:gsy_github_app_flutter/common/utils/navigator_utils.dart' ;
5+ import 'package:gsy_github_app_flutter/model/CommonListDataType.dart' ;
56import 'package:gsy_github_app_flutter/widget/state/gsy_list_state.dart' ;
67import 'package:gsy_github_app_flutter/widget/pull/gsy_pull_load_widget.dart' ;
78import 'package:gsy_github_app_flutter/page/repos/widget/repos_item.dart' ;
@@ -20,7 +21,7 @@ class CommonListPage extends StatefulWidget {
2021
2122 final String showType;
2223
23- final String dataType;
24+ final CommonListDataType dataType;
2425
2526 final String ? title;
2627
@@ -73,48 +74,35 @@ class _CommonListPageState extends State<CommonListPage>
7374 }
7475
7576 _getDataLogic () async {
76- switch (widget.dataType) {
77- case 'follower' :
78- return await UserDao .getFollowerListDao (widget.userName, page,
79- needDb: page <= 1 );
80- case 'followed' :
81- return await UserDao .getFollowedListDao (widget.userName, page,
82- needDb: page <= 1 );
83- case 'user_repos' :
84- return await ReposDao .getUserRepositoryDao (widget.userName, page, null ,
85- needDb: page <= 1 );
86- case 'user_star' :
87- return await ReposDao .getStarRepositoryDao (widget.userName, page, null ,
88- needDb: page <= 1 );
89- case 'repo_star' :
90- return await ReposDao .getRepositoryStarDao (
91- widget.userName, widget.reposName, page,
92- needDb: page <= 1 );
93- case 'repo_watcher' :
94- return await ReposDao .getRepositoryWatcherDao (
95- widget.userName, widget.reposName, page,
96- needDb: page <= 1 );
97- case 'repo_fork' :
98- return await ReposDao .getRepositoryForksDao (
99- widget.userName, widget.reposName, page,
100- needDb: page <= 1 );
101- case 'repo_release' :
102- return null ;
103- case 'repo_tag' :
104- return null ;
105- case 'notify' :
106- return null ;
107- case 'history' :
108- return await ReposDao .getHistoryDao (page);
109- case 'topics' :
110- return await ReposDao .searchTopicRepositoryDao (widget.userName,
111- page: page);
112- case 'user_be_stared' :
113- return null ;
114- case 'user_orgs' :
115- return await UserDao .getUserOrgsDao (widget.userName, page,
116- needDb: page <= 1 );
117- }
77+ return switch (widget.dataType) {
78+ CommonListDataType .follower => await UserDao .getFollowerListDao (
79+ widget.userName, page,
80+ needDb: page <= 1 ),
81+ CommonListDataType .followed => await UserDao .getFollowedListDao (
82+ widget.userName, page,
83+ needDb: page <= 1 ),
84+ CommonListDataType .userRepos => await ReposDao .getUserRepositoryDao (
85+ widget.userName, page, null ,
86+ needDb: page <= 1 ),
87+ CommonListDataType .userStar => await ReposDao .getStarRepositoryDao (
88+ widget.userName, page, null ,
89+ needDb: page <= 1 ),
90+ CommonListDataType .repoStar => await ReposDao .getRepositoryStarDao (
91+ widget.userName, widget.reposName, page,
92+ needDb: page <= 1 ),
93+ CommonListDataType .repoWatcher => await ReposDao .getRepositoryWatcherDao (
94+ widget.userName, widget.reposName, page,
95+ needDb: page <= 1 ),
96+ CommonListDataType .repoFork => await ReposDao .getRepositoryForksDao (
97+ widget.userName, widget.reposName, page,
98+ needDb: page <= 1 ),
99+ CommonListDataType .history => await ReposDao .getHistoryDao (page),
100+ CommonListDataType .topics =>
101+ await ReposDao .searchTopicRepositoryDao (widget.userName, page: page),
102+ CommonListDataType .userOrgs =>
103+ await UserDao .getUserOrgsDao (widget.userName, page, needDb: page <= 1 ),
104+ _ => null ,
105+ };
118106 }
119107
120108 @override
0 commit comments