mod: format code

This commit is contained in:
guozhigq
2024-01-07 12:58:24 +08:00
parent 7a71798055
commit fa8fd42e9a
104 changed files with 1077 additions and 1032 deletions

View File

@ -63,8 +63,8 @@ class BangumiIntroController extends GetxController {
@override
void onInit() {
super.onInit();
if (Get.arguments.isNotEmpty) {
if (Get.arguments.containsKey('bangumiItem')) {
if (Get.arguments.isNotEmpty as bool) {
if (Get.arguments.containsKey('bangumiItem') as bool) {
preRender = true;
bangumiItem = Get.arguments['bangumiItem'];
// bangumiItem!['pic'] = args.pic;

View File

@ -51,12 +51,11 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
cid = widget.cid!;
bangumiIntroController = Get.put(BangumiIntroController(), tag: heroTag);
videoDetailCtr = Get.find<VideoDetailController>(tag: heroTag);
bangumiIntroController.bangumiDetail.listen((value) {
bangumiIntroController.bangumiDetail.listen((BangumiInfoModel value) {
bangumiDetail = value;
});
_futureBuilderFuture = bangumiIntroController.queryBangumiIntro();
videoDetailCtr.cid.listen((p0) {
print('🐶🐶$p0');
videoDetailCtr.cid.listen((int p0) {
cid = p0;
setState(() {});
});
@ -67,7 +66,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
super.build(context);
return FutureBuilder(
future: _futureBuilderFuture,
builder: (context, snapshot) {
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.data['status']) {
// 请求成功
@ -83,7 +82,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
// errMsg: snapshot.data['msg'],
// fn: () => Get.back(),
// );
return SizedBox();
return const SizedBox();
}
} else {
return BangumiInfo(
@ -98,16 +97,16 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
}
class BangumiInfo extends StatefulWidget {
final bool loadingStatus;
final BangumiInfoModel? bangumiDetail;
final int? cid;
const BangumiInfo({
Key? key,
super.key,
this.loadingStatus = false,
this.bangumiDetail,
this.cid,
}) : super(key: key);
});
final bool loadingStatus;
final BangumiInfoModel? bangumiDetail;
final int? cid;
@override
State<BangumiInfo> createState() => _BangumiInfoState();
@ -123,12 +122,15 @@ class _BangumiInfoState extends State<BangumiInfo> {
int? cid;
bool isProcessing = false;
void Function()? handleState(Future Function() action) {
return isProcessing ? null : () async {
setState(() => isProcessing = true);
await action();
setState(() => isProcessing = false);
};
return isProcessing
? null
: () async {
setState(() => isProcessing = true);
await action();
setState(() => isProcessing = false);
};
}
@override
void initState() {
super.initState();
@ -155,7 +157,7 @@ class _BangumiInfoState extends State<BangumiInfo> {
context: context,
useRootNavigator: true,
isScrollControlled: true,
builder: (context) {
builder: (BuildContext context) {
return FavPanel(ctr: bangumiIntroController);
},
);
@ -175,7 +177,7 @@ class _BangumiInfoState extends State<BangumiInfo> {
@override
Widget build(BuildContext context) {
ThemeData t = Theme.of(context);
final ThemeData t = Theme.of(context);
return SliverPadding(
padding: const EdgeInsets.only(
left: StyleString.safeSpace, right: StyleString.safeSpace, top: 20),
@ -185,7 +187,6 @@ class _BangumiInfoState extends State<BangumiInfo> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Stack(
@ -244,7 +245,7 @@ class _BangumiInfoState extends State<BangumiInfo> {
EdgeInsets.zero),
backgroundColor:
MaterialStateProperty.resolveWith(
(states) {
(Set<MaterialState> states) {
return t
.colorScheme.primaryContainer
.withOpacity(0.7);
@ -386,7 +387,8 @@ class _BangumiInfoState extends State<BangumiInfo> {
}
Widget actionGrid(BuildContext context, bangumiIntroController) {
return LayoutBuilder(builder: (context, constraints) {
return LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return Material(
child: Padding(
padding: const EdgeInsets.only(top: 16, bottom: 8),
@ -394,7 +396,7 @@ class _BangumiInfoState extends State<BangumiInfo> {
height: constraints.maxWidth / 5 * 0.8,
child: GridView.count(
primary: false,
padding: const EdgeInsets.all(0),
padding: EdgeInsets.zero,
crossAxisCount: 5,
childAspectRatio: 1.25,
children: <Widget>[
@ -402,7 +404,8 @@ class _BangumiInfoState extends State<BangumiInfo> {
() => ActionItem(
icon: const Icon(FontAwesomeIcons.thumbsUp),
selectIcon: const Icon(FontAwesomeIcons.solidThumbsUp),
onTap: handleState(bangumiIntroController.actionLikeVideo),
onTap:
handleState(bangumiIntroController.actionLikeVideo),
selectStatus: bangumiIntroController.hasLike.value,
loadingStatus: false,
text: !widget.loadingStatus
@ -413,7 +416,8 @@ class _BangumiInfoState extends State<BangumiInfo> {
() => ActionItem(
icon: const Icon(FontAwesomeIcons.b),
selectIcon: const Icon(FontAwesomeIcons.b),
onTap: handleState(bangumiIntroController.actionCoinVideo),
onTap:
handleState(bangumiIntroController.actionCoinVideo),
selectStatus: bangumiIntroController.hasCoin.value,
loadingStatus: false,
text: !widget.loadingStatus

View File

@ -4,6 +4,7 @@ import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:get/get.dart';
import 'package:nil/nil.dart';
import 'package:pilipala/common/constants.dart';
import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/pages/home/index.dart';
@ -74,7 +75,7 @@ class _BangumiPageState extends State<BangumiPage>
super.build(context);
return RefreshIndicator(
onRefresh: () async {
await _bangumidController.queryBangumiListFeed(type: 'init');
await _bangumidController.queryBangumiListFeed();
return _bangumidController.queryBangumiFollow();
},
child: CustomScrollView(
@ -112,10 +113,11 @@ class _BangumiPageState extends State<BangumiPage>
),
),
SizedBox(
height: 258,
height: 268,
child: FutureBuilder(
future: _futureBuilderFutureFollow,
builder: (context, snapshot) {
builder:
(BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.connectionState ==
ConnectionState.done) {
if (snapshot.data == null) {
@ -156,10 +158,10 @@ class _BangumiPageState extends State<BangumiPage>
),
);
} else {
return const SizedBox();
return nil;
}
} else {
return const SizedBox();
return nil;
}
},
),
@ -188,7 +190,7 @@ class _BangumiPageState extends State<BangumiPage>
StyleString.safeSpace, 0, StyleString.safeSpace, 0),
sliver: FutureBuilder(
future: _futureBuilderFuture,
builder: (context, snapshot) {
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
Map data = snapshot.data as Map;
if (data['status']) {
@ -206,7 +208,7 @@ class _BangumiPageState extends State<BangumiPage>
},
),
),
LoadingMore()
const LoadingMore()
],
),
);
@ -228,7 +230,7 @@ class _BangumiPageState extends State<BangumiPage>
(BuildContext context, int index) {
return bangumiList!.isNotEmpty
? BangumiCardV(bangumiItem: bangumiList[index])
: const SizedBox();
: nil;
},
childCount: bangumiList!.isNotEmpty ? bangumiList!.length : 10,
),

View File

@ -8,11 +8,6 @@ import 'package:pilipala/utils/storage.dart';
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
class BangumiPanel extends StatefulWidget {
final List<EpisodeItem> pages;
final int? cid;
final double? sheetHeight;
final Function? changeFuc;
const BangumiPanel({
super.key,
required this.pages,
@ -21,6 +16,11 @@ class BangumiPanel extends StatefulWidget {
this.changeFuc,
});
final List<EpisodeItem> pages;
final int? cid;
final double? sheetHeight;
final Function? changeFuc;
@override
State<BangumiPanel> createState() => _BangumiPanelState();
}
@ -50,10 +50,10 @@ class _BangumiPanelState extends State<BangumiPanel> {
}
videoDetailCtr = Get.find<VideoDetailController>(tag: heroTag);
videoDetailCtr.cid.listen((p0) {
videoDetailCtr.cid.listen((int p0) {
cid = p0;
setState(() {});
currentIndex = widget.pages.indexWhere((e) => e.cid == cid);
currentIndex = widget.pages.indexWhere((EpisodeItem e) => e.cid == cid);
scrollToIndex();
});
}
@ -106,7 +106,8 @@ class _BangumiPanelState extends State<BangumiPanel> {
child: Material(
child: ScrollablePositionedList.builder(
itemCount: widget.pages.length,
itemBuilder: (context, index) => ListTile(
itemBuilder: (BuildContext context, int index) =>
ListTile(
onTap: () {
setState(() {
changeFucCall(widget.pages[index], index);
@ -212,78 +213,74 @@ class _BangumiPanelState extends State<BangumiPanel> {
SizedBox(
height: 60,
child: ListView.builder(
controller: listViewScrollCtr,
scrollDirection: Axis.horizontal,
itemCount: widget.pages.length,
itemExtent: 150,
itemBuilder: ((context, i) {
return Container(
width: 150,
margin: const EdgeInsets.only(right: 10),
child: Material(
color: Theme.of(context).colorScheme.onInverseSurface,
borderRadius: BorderRadius.circular(6),
clipBehavior: Clip.hardEdge,
child: InkWell(
onTap: () => changeFucCall(widget.pages[i], i),
child: Padding(
padding: const EdgeInsets.symmetric(
vertical: 8, horizontal: 10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
if (i == currentIndex) ...[
Image.asset(
'assets/images/live.png',
color:
Theme.of(context).colorScheme.primary,
height: 12,
),
const SizedBox(width: 6)
],
Text(
'${i + 1}',
style: TextStyle(
fontSize: 13,
color: i == currentIndex
? Theme.of(context)
.colorScheme
.primary
: Theme.of(context)
.colorScheme
.onSurface),
controller: listViewScrollCtr,
scrollDirection: Axis.horizontal,
itemCount: widget.pages.length,
itemExtent: 150,
itemBuilder: (BuildContext context, int i) {
return Container(
width: 150,
margin: const EdgeInsets.only(right: 10),
child: Material(
color: Theme.of(context).colorScheme.onInverseSurface,
borderRadius: BorderRadius.circular(6),
clipBehavior: Clip.hardEdge,
child: InkWell(
onTap: () => changeFucCall(widget.pages[i], i),
child: Padding(
padding: const EdgeInsets.symmetric(
vertical: 8, horizontal: 10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: [
if (i == currentIndex) ...<Widget>[
Image.asset(
'assets/images/live.png',
color: Theme.of(context).colorScheme.primary,
height: 12,
),
const SizedBox(width: 2),
if (widget.pages[i].badge != null) ...[
Image.asset(
'assets/images/big-vip.png',
height: 16,
),
],
const SizedBox(width: 6)
],
),
const SizedBox(height: 3),
Text(
widget.pages[i].longTitle!,
maxLines: 1,
style: TextStyle(
fontSize: 13,
color: i == currentIndex
? Theme.of(context).colorScheme.primary
: Theme.of(context)
.colorScheme
.onSurface),
overflow: TextOverflow.ellipsis,
)
],
),
Text(
'${i + 1}',
style: TextStyle(
fontSize: 13,
color: i == currentIndex
? Theme.of(context).colorScheme.primary
: Theme.of(context)
.colorScheme
.onSurface),
),
const SizedBox(width: 2),
if (widget.pages[i].badge != null) ...[
Image.asset(
'assets/images/big-vip.png',
height: 16,
),
],
],
),
const SizedBox(height: 3),
Text(
widget.pages[i].longTitle!,
maxLines: 1,
style: TextStyle(
fontSize: 13,
color: i == currentIndex
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.onSurface),
overflow: TextOverflow.ellipsis,
)
],
),
),
),
);
})),
),
);
},
),
)
],
);

View File

@ -11,17 +11,16 @@ import 'package:pilipala/common/widgets/network_img_layer.dart';
// 视频卡片 - 垂直布局
class BangumiCardV extends StatelessWidget {
// ignore: prefer_typing_uninitialized_variables
final bangumiItem;
final Function()? longPress;
final Function()? longPressEnd;
const BangumiCardV({
Key? key,
super.key,
required this.bangumiItem,
this.longPress,
this.longPressEnd,
}) : super(key: key);
});
final bangumiItem;
final Function()? longPress;
final Function()? longPressEnd;
@override
Widget build(BuildContext context) {
@ -43,9 +42,9 @@ class BangumiCardV extends StatelessWidget {
// },
child: InkWell(
onTap: () async {
int seasonId = bangumiItem.seasonId;
final int seasonId = bangumiItem.seasonId;
SmartDialog.showLoading(msg: '获取中...');
var res = await SearchHttp.bangumiInfo(seasonId: seasonId);
final res = await SearchHttp.bangumiInfo(seasonId: seasonId);
SmartDialog.dismiss().then((value) {
if (res['status']) {
if (res['data'].episodes.isEmpty) {
@ -81,8 +80,8 @@ class BangumiCardV extends StatelessWidget {
child: AspectRatio(
aspectRatio: 0.65,
child: LayoutBuilder(builder: (context, boxConstraints) {
double maxWidth = boxConstraints.maxWidth;
double maxHeight = boxConstraints.maxHeight;
final double maxWidth = boxConstraints.maxWidth;
final double maxHeight = boxConstraints.maxHeight;
return Stack(
children: [
Hero(
@ -124,9 +123,9 @@ class BangumiCardV extends StatelessWidget {
}
class BangumiContent extends StatelessWidget {
const BangumiContent({super.key, required this.bangumiItem});
// ignore: prefer_typing_uninitialized_variables
final bangumiItem;
const BangumiContent({Key? key, required this.bangumiItem}) : super(key: key);
@override
Widget build(BuildContext context) {
return Expanded(