opt: model (#851)

* opt: readlist model

* opt: video item model
This commit is contained in:
My-Responsitories
2025-05-11 17:00:24 +08:00
committed by GitHub
parent c899ea95e1
commit 8d34e6f340
15 changed files with 130 additions and 397 deletions

View File

@@ -1,14 +1,14 @@
import 'package:PiliPlus/http/dynamics.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/dynamics/article_list/article.dart';
import 'package:PiliPlus/models/dynamics/article_list/author.dart';
import 'package:PiliPlus/models/dynamics/article_list/data.dart';
import 'package:PiliPlus/models/dynamics/article_list/list.dart';
import 'package:PiliPlus/models/model_owner.dart';
import 'package:PiliPlus/models/space_article/item.dart';
import 'package:PiliPlus/pages/common/common_list_controller.dart';
import 'package:get/get.dart';
class ArticleListController
extends CommonListController<ArticleListData, Article> {
extends CommonListController<ArticleListData, SpaceArticleItem> {
final id = Get.parameters['id'];
@override
@@ -18,10 +18,10 @@ class ArticleListController
}
Rx<ArticleList?> list = Rx<ArticleList?>(null);
Author? author;
Owner? author;
@override
List<Article>? getDataList(ArticleListData response) {
List<SpaceArticleItem>? getDataList(ArticleListData response) {
list.value = response.list;
author = response.author;
return response.articles;

View File

@@ -5,8 +5,8 @@ import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart';
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/common/image_type.dart';
import 'package:PiliPlus/models/dynamics/article_list/article.dart';
import 'package:PiliPlus/models/dynamics/article_list/list.dart';
import 'package:PiliPlus/models/space_article/item.dart';
import 'package:PiliPlus/pages/article_list/controller.dart';
import 'package:PiliPlus/pages/article_list/widgets/item.dart';
import 'package:PiliPlus/utils/grid.dart';
@@ -51,7 +51,7 @@ class _ArticleListPageState extends State<ArticleListPage> {
}
Widget _buildBody(
ThemeData theme, LoadingState<List<Article>?> loadingState) {
ThemeData theme, LoadingState<List<SpaceArticleItem>?> loadingState) {
return switch (loadingState) {
Loading() => SliverPadding(
padding: EdgeInsets.only(

View File

@@ -1,7 +1,7 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/common/widgets/stat/stat.dart';
import 'package:PiliPlus/models/dynamics/article_list/article.dart';
import 'package:PiliPlus/models/space_article/item.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -11,7 +11,7 @@ class ArticleListItem extends StatelessWidget {
required this.item,
});
final Article item;
final SpaceArticleItem item;
@override
Widget build(BuildContext context) {