Skip to content

Commit 187fce7

Browse files
settings: Make page scrollable
Fixes zulip#1904.
1 parent 3781b30 commit 187fce7

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

lib/widgets/settings.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class SettingsPage extends StatelessWidget {
2020
return Scaffold(
2121
appBar: ZulipAppBar(
2222
title: Text(zulipLocalizations.settingsPageTitle)),
23-
body: Column(children: [
23+
body: ListView(children: [
2424
const _ThemeSetting(),
2525
const _BrowserPreferenceSetting(),
2626
const _VisitFirstUnreadSetting(),

test/widgets/settings_test.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,21 @@ void main() {
6464
hasCheckedState: true, isChecked: expectedIsChecked);
6565
}
6666

67+
testWidgets('content is scrollable when taller than a screenful', (tester) async {
68+
tester.view.physicalSize = const Size(200, 200);
69+
tester.view.devicePixelRatio = 1.0;
70+
addTearDown(tester.view.reset);
71+
await prepare(tester);
72+
73+
final lastElementFinder = GlobalSettingsStore.experimentalFeatureFlags.isNotEmpty
74+
? find.text("Experimental features")
75+
: find.text("Mark messages as read on scroll");
76+
check(lastElementFinder).findsNothing();
77+
78+
await tester.scrollUntilVisible(lastElementFinder, 100);
79+
check(lastElementFinder).findsOne();
80+
});
81+
6782
group('ThemeSetting', () {
6883
void checkThemeSetting(WidgetTester tester, {
6984
required ThemeSetting? expectedThemeSetting,

0 commit comments

Comments
 (0)