💄 Optimize poll editor

This commit is contained in:
2025-09-09 01:01:28 +08:00
parent 73c6a1febf
commit 03457af04a

View File

@@ -10,6 +10,7 @@ import 'package:island/pods/network.dart';
import 'package:island/widgets/alert.dart'; import 'package:island/widgets/alert.dart';
import 'package:island/models/poll.dart'; import 'package:island/models/poll.dart';
import 'package:island/widgets/app_scaffold.dart'; import 'package:island/widgets/app_scaffold.dart';
import 'package:styled_widget/styled_widget.dart';
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
@@ -516,8 +517,7 @@ class PollEditorScreen extends ConsumerWidget {
if (model.questions.isEmpty) if (model.questions.isEmpty)
_EmptyState( _EmptyState(
title: 'pollNoQuestionsYet'.tr(), title: 'pollNoQuestionsYet'.tr(),
subtitle: subtitle: 'pollNoQuestionsHint'.tr(),
'pollNoQuestionsHint'.tr(),
) )
else else
ReorderableListView.builder( ReorderableListView.builder(
@@ -579,7 +579,10 @@ class PollEditorScreen extends ConsumerWidget {
), ),
), ),
), ),
Row( Material(
elevation: 2,
color: Theme.of(context).colorScheme.surfaceContainer,
child: Row(
children: [ children: [
OutlinedButton.icon( OutlinedButton.icon(
onPressed: () { onPressed: () {
@@ -597,6 +600,11 @@ class PollEditorScreen extends ConsumerWidget {
label: Text(model.id == null ? 'create'.tr() : 'update'.tr()), label: Text(model.id == null ? 'create'.tr() : 'update'.tr()),
), ),
], ],
).padding(
horizontal: 24,
top: 16,
bottom: MediaQuery.of(context).padding.bottom + 16,
),
), ),
], ],
), ),
@@ -1049,7 +1057,9 @@ class _TextAnswerPreview extends StatelessWidget {
maxLines: long ? 4 : 1, maxLines: long ? 4 : 1,
decoration: InputDecoration( decoration: InputDecoration(
labelText: labelText:
long ? 'pollLongTextAnswerPreview'.tr() : 'pollShortTextAnswerPreview'.tr(), long
? 'pollLongTextAnswerPreview'.tr()
: 'pollShortTextAnswerPreview'.tr(),
border: const OutlineInputBorder( border: const OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(16)), borderRadius: BorderRadius.all(Radius.circular(16)),
), ),
@@ -1083,9 +1093,15 @@ class _EmptyState extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text('pollNoQuestionsYet'.tr(), style: Theme.of(context).textTheme.titleMedium), Text(
'pollNoQuestionsYet'.tr(),
style: Theme.of(context).textTheme.titleMedium,
),
const Gap(4), const Gap(4),
Text('pollNoQuestionsHint'.tr(), style: Theme.of(context).textTheme.bodyMedium), Text(
'pollNoQuestionsHint'.tr(),
style: Theme.of(context).textTheme.bodyMedium,
),
], ],
), ),
), ),