opt: vote panel

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-05 12:03:47 +08:00
parent 0dfc4e15bd
commit 4e68c765c5

View File

@@ -4,6 +4,7 @@ import 'package:PiliPlus/common/widgets/dialog/report.dart';
import 'package:PiliPlus/http/dynamics.dart'; import 'package:PiliPlus/http/dynamics.dart';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/dynamics/vote_model.dart'; import 'package:PiliPlus/models/dynamics/vote_model.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@@ -65,8 +66,9 @@ class _VotePanelState extends State<VotePanel> {
Text(_voteInfo.desc!, style: theme.textTheme.titleSmall), Text(_voteInfo.desc!, style: theme.textTheme.titleSmall),
Padding( Padding(
padding: const EdgeInsets.symmetric(vertical: 8), padding: const EdgeInsets.symmetric(vertical: 8),
child: Row( child: Wrap(
mainAxisAlignment: MainAxisAlignment.spaceBetween, spacing: 10,
runSpacing: 5,
children: [ children: [
Text( Text(
'${DateTime.fromMillisecondsSinceEpoch(_voteInfo.endTime! * 1000).toString().substring(0, 19)}', '${DateTime.fromMillisecondsSinceEpoch(_voteInfo.endTime! * 1000).toString().substring(0, 19)}',
@@ -75,7 +77,7 @@ class _VotePanelState extends State<VotePanel> {
TextSpan( TextSpan(
children: [ children: [
TextSpan( TextSpan(
text: _voteInfo.joinNum.toString(), text: Utils.numFormat(_voteInfo.joinNum),
style: TextStyle(color: theme.colorScheme.primary), style: TextStyle(color: theme.colorScheme.primary),
), ),
const TextSpan(text: '人参与'), const TextSpan(text: '人参与'),
@@ -95,10 +97,11 @@ class _VotePanelState extends State<VotePanel> {
? '已结束' ? '已结束'
: '已完成', : '已完成',
), ),
ValueListenableBuilder( if (_enabled)
valueListenable: _selectedNum, ValueListenableBuilder(
builder: (_, val, __) => Text('$val / $_maxCnt'), valueListenable: _selectedNum,
), builder: (_, val, __) => Text('$val / $_maxCnt'),
),
], ],
), ),
if (_embedded) if (_embedded)
@@ -184,6 +187,7 @@ class _VotePanelState extends State<VotePanel> {
], ],
) )
: CustomScrollView( : CustomScrollView(
shrinkWrap: true,
slivers: [ slivers: [
SliverList.builder( SliverList.builder(
itemCount: _voteInfo.options.length, itemCount: _voteInfo.options.length,