fix(ui): keep mobile create task actions in safe area (#1504)

This commit is contained in:
Levi authored and GitHub committed 2026-09-12 09:28:04 +08:00
1 parent ff8f61423e
commit 091e7b8936
2 files changed
+26 -19

No files matched your search

@@ -687,24 +687,27 @@ class _CreateTaskWindowPageState extends ConsumerState<CreateTaskWindowPage> {
),
),
),
Container(
padding: const EdgeInsets.fromLTRB(24, 12, 24, 20),
decoration: BoxDecoration(
border: Border(top: BorderSide(color: palette.border)),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
CreateTaskActionButtons(
submitting: _creating,
onCancel: _closeWindow,
onSubmit: _confirm,
cancelLabel: context.l10n.cancel,
submitLabel: context.l10n.confirm,
cancelButtonKey: const ValueKey('create-task-cancel-button'),
submitButtonKey: const ValueKey('create-task-confirm-button'),
),
],
SafeArea(
top: false,
child: Container(
padding: const EdgeInsets.fromLTRB(24, 12, 24, 20),
decoration: BoxDecoration(
border: Border(top: BorderSide(color: palette.border)),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
CreateTaskActionButtons(
submitting: _creating,
onCancel: _closeWindow,
onSubmit: _confirm,
cancelLabel: context.l10n.cancel,
submitLabel: context.l10n.confirm,
cancelButtonKey: const ValueKey('create-task-cancel-button'),
submitButtonKey: const ValueKey('create-task-confirm-button'),
),
],
),
),
),
],
@@ -165,7 +165,7 @@ void main() {
}
});
testWidgets('mobile create task page starts below the system status bar', (WidgetTester tester) async {
testWidgets('mobile create task page stays within the system safe areas', (WidgetTester tester) async {
debugDefaultTargetPlatformOverride = TargetPlatform.android;
tester.view.physicalSize = const Size(700, 760);
tester.view.devicePixelRatio = 1;
@@ -193,6 +193,10 @@ void main() {
final contentPadding = tester.widget<Padding>(find.byKey(const ValueKey('create-task-safe-content')));
expect((contentPadding.padding as EdgeInsets).top, 32);
expect(
tester.getBottomRight(find.byKey(const ValueKey('create-task-confirm-button'))).dy,
lessThanOrEqualTo(tester.view.physicalSize.height / tester.view.devicePixelRatio - 24),
);
} finally {
debugDefaultTargetPlatformOverride = null;
}