🐛 Fix background image didn't apply in certain page

This commit is contained in:
2025-08-10 02:59:28 +08:00
parent 78bf319fb7
commit e6255a340b
3 changed files with 170 additions and 167 deletions

View File

@@ -4,6 +4,7 @@ import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:island/models/poll.dart'; import 'package:island/models/poll.dart';
import 'package:island/pods/network.dart'; import 'package:island/pods/network.dart';
import 'package:island/widgets/app_scaffold.dart';
import 'package:island/widgets/poll/poll_feedback.dart'; import 'package:island/widgets/poll/poll_feedback.dart';
import 'package:material_symbols_icons/symbols.dart'; import 'package:material_symbols_icons/symbols.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -70,7 +71,7 @@ class CreatorPollListScreen extends HookConsumerWidget {
@override @override
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
return Scaffold( return AppScaffold(
appBar: AppBar(title: const Text('Polls')), appBar: AppBar(title: const Text('Polls')),
floatingActionButton: FloatingActionButton( floatingActionButton: FloatingActionButton(
onPressed: () => _createPoll(context), onPressed: () => _createPoll(context),

View File

@@ -114,10 +114,11 @@ class WebFeedEditScreen extends HookConsumerWidget {
return feedAsync.when( return feedAsync.when(
loading: loading:
() => () => const AppScaffold(
const Scaffold(body: Center(child: CircularProgressIndicator())), body: Center(child: CircularProgressIndicator()),
),
error: error:
(error, stack) => Scaffold( (error, stack) => AppScaffold(
appBar: AppBar(title: const Text('Error')), appBar: AppBar(title: const Text('Error')),
body: Center(child: Text('Error: $error')), body: Center(child: Text('Error: $error')),
), ),

View File

@@ -9,6 +9,7 @@ import 'package:gap/gap.dart';
import 'package:island/pods/network.dart'; 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:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
class PollEditorState { class PollEditorState {
@@ -413,7 +414,7 @@ class PollEditorScreen extends ConsumerWidget {
}); });
} }
return Scaffold( return AppScaffold(
appBar: AppBar( appBar: AppBar(
title: Text(model.id == null ? 'Create Poll' : 'Edit Poll'), title: Text(model.id == null ? 'Create Poll' : 'Edit Poll'),
actions: [ actions: [
@@ -428,7 +429,9 @@ class PollEditorScreen extends ConsumerWidget {
const Gap(8), const Gap(8),
], ],
), ),
body: SafeArea( body: Column(
children: [
Expanded(
child: Form( child: Form(
key: ValueKey(model.id), key: ValueKey(model.id),
child: ListView( child: ListView(
@@ -512,7 +515,8 @@ class PollEditorScreen extends ConsumerWidget {
if (model.questions.isEmpty) if (model.questions.isEmpty)
_EmptyState( _EmptyState(
title: 'No questions yet', title: 'No questions yet',
subtitle: 'Use "Add question" to start building your poll.', subtitle:
'Use "Add question" to start building your poll.',
) )
else else
ReorderableListView.builder( ReorderableListView.builder(
@@ -559,7 +563,10 @@ class PollEditorScreen extends ConsumerWidget {
const Divider(height: 1), const Divider(height: 1),
Padding( Padding(
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
child: _QuestionEditor(index: index, question: q), child: _QuestionEditor(
index: index,
question: q,
),
), ),
], ],
), ),
@@ -571,14 +578,7 @@ class PollEditorScreen extends ConsumerWidget {
), ),
), ),
), ),
bottomNavigationBar: Padding( Row(
padding: EdgeInsets.fromLTRB(
16,
8,
16,
16 + MediaQuery.of(context).padding.bottom,
),
child: Row(
children: [ children: [
OutlinedButton.icon( OutlinedButton.icon(
onPressed: () { onPressed: () {
@@ -597,6 +597,7 @@ class PollEditorScreen extends ConsumerWidget {
), ),
], ],
), ),
],
), ),
); );
} }