mirror of
https://github.com/wgh136/pixes.git
synced 2025-09-27 12:57:24 +00:00
related users and related artworks
This commit is contained in:
@@ -6,6 +6,7 @@ import 'package:pixes/components/batch_download.dart';
|
||||
import 'package:pixes/components/loading.dart';
|
||||
import 'package:pixes/components/md.dart';
|
||||
import 'package:pixes/components/segmented_button.dart';
|
||||
import 'package:pixes/components/user_preview.dart';
|
||||
import 'package:pixes/foundation/app.dart';
|
||||
import 'package:pixes/foundation/image_provider.dart';
|
||||
import 'package:pixes/network/network.dart';
|
||||
@@ -35,6 +36,10 @@ class _UserInfoPageState extends LoadingState<UserInfoPage, UserDetails> {
|
||||
content: CustomScrollView(
|
||||
slivers: [
|
||||
buildUser(),
|
||||
SliverToBoxAdapter(
|
||||
child: buildHeader("Related users".tl),
|
||||
),
|
||||
_RelatedUsers(widget.id),
|
||||
buildInformation(),
|
||||
buildArtworkHeader(),
|
||||
_UserArtworks(data.id.toString(), page, key: ValueKey(data.id + page),),
|
||||
@@ -333,3 +338,48 @@ class _UserArtworksState extends MultiPageLoadingState<_UserArtworks, Illust> {
|
||||
}
|
||||
}
|
||||
|
||||
class _RelatedUsers extends StatefulWidget {
|
||||
const _RelatedUsers(this.uid);
|
||||
|
||||
final String uid;
|
||||
|
||||
@override
|
||||
State<_RelatedUsers> createState() => _RelatedUsersState();
|
||||
}
|
||||
|
||||
class _RelatedUsersState extends LoadingState<_RelatedUsers, List<UserPreview>> {
|
||||
@override
|
||||
Widget buildFrame(BuildContext context, Widget child) {
|
||||
return SliverToBoxAdapter(
|
||||
child: SizedBox(
|
||||
height: 108,
|
||||
width: double.infinity,
|
||||
child: child,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
final ScrollController _controller = ScrollController();
|
||||
|
||||
@override
|
||||
Widget buildContent(BuildContext context, List<UserPreview> data) {
|
||||
return Scrollbar(
|
||||
controller: _controller,
|
||||
child: ListView.builder(
|
||||
controller: _controller,
|
||||
padding: const EdgeInsets.only(bottom: 8, left: 8),
|
||||
primary: false,
|
||||
scrollDirection: Axis.horizontal,
|
||||
itemCount: data.length,
|
||||
itemBuilder: (context, index) {
|
||||
return UserPreviewWidget(data[index]).fixWidth(264);
|
||||
},
|
||||
));
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Res<List<UserPreview>>> loadData() {
|
||||
return Network().relatedUsers(widget.uid);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user