refa: search panel

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-17 16:13:11 +08:00
parent 7b9e4b2f82
commit 4db7711a36
21 changed files with 1607 additions and 1504 deletions

View File

@@ -4,9 +4,21 @@ import 'package:PiliPlus/utils/utils.dart';
import '../model_owner.dart';
import '../model_video.dart';
class SearchVideoModel {
abstract class SearchNumData<T> {
SearchNumData({
this.numResults,
this.list,
});
int? numResults;
List<SearchVideoItemModel>? list;
List<T>? list;
}
class SearchVideoModel extends SearchNumData<SearchVideoItemModel> {
SearchVideoModel({
super.numResults,
super.list,
});
SearchVideoModel.fromJson(Map<String, dynamic> json) {
numResults = (json['numResults'] as num?)?.toInt();
@@ -88,15 +100,12 @@ class SearchOwner extends Owner {
}
}
class SearchUserModel {
class SearchUserModel extends SearchNumData<SearchUserItemModel> {
SearchUserModel({
this.numResults,
this.list,
super.numResults,
super.list,
});
int? numResults;
List<SearchUserItemModel>? list;
SearchUserModel.fromJson(Map<String, dynamic> json) {
numResults = (json['numResults'] as num?)?.toInt();
list = (json['result'] as List?)
@@ -165,15 +174,12 @@ class SearchUserItemModel {
}
}
class SearchLiveModel {
class SearchLiveModel extends SearchNumData<SearchLiveItemModel> {
SearchLiveModel({
this.numResults,
this.list,
super.numResults,
super.list,
});
int? numResults;
List<SearchLiveItemModel>? list;
SearchLiveModel.fromJson(Map<String, dynamic> json) {
numResults = (json['numResults'] as num?)?.toInt();
list = json['result']
@@ -246,15 +252,12 @@ class SearchLiveItemModel {
}
}
class SearchMBangumiModel {
class SearchMBangumiModel extends SearchNumData<SearchMBangumiItemModel> {
SearchMBangumiModel({
this.numResults,
this.list,
super.numResults,
super.list,
});
int? numResults;
List<SearchMBangumiItemModel>? list;
SearchMBangumiModel.fromJson(Map<String, dynamic> json) {
numResults = (json['numResults'] as num?)?.toInt();
list = (json['result'] as List?)
@@ -348,15 +351,12 @@ class SearchMBangumiItemModel {
}
}
class SearchArticleModel {
class SearchArticleModel extends SearchNumData<SearchArticleItemModel> {
SearchArticleModel({
this.numResults,
this.list,
super.numResults,
super.list,
});
int? numResults;
List<SearchArticleItemModel>? list;
SearchArticleModel.fromJson(Map<String, dynamic> json) {
numResults = (json['numResults'] as num?)?.toInt();
list = (json['result'] as List?)