Skip to content

Commit

Permalink
Merge pull request #1007 from nextcloud/fix/neon_dashboard/scrolling
Browse files Browse the repository at this point in the history
fix(neon_dashboard): Fix widgets reloading scrolling back up
  • Loading branch information
provokateurin authored Oct 22, 2023
2 parents fcbe8c1 + 362edce commit fe29bb8
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 4 deletions.
8 changes: 4 additions & 4 deletions packages/neon/neon/lib/src/widgets/list_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ class NeonListView extends StatelessWidget {
required this.error,
required this.onRefresh,
required final NullableIndexedWidgetBuilder itemBuilder,
required this.scrollKey,
final int? itemCount,
this.scrollKey,
this.topFixedChildren,
this.topScrollingChildren,
super.key,
Expand All @@ -23,7 +23,7 @@ class NeonListView extends StatelessWidget {
required this.error,
required this.onRefresh,
required this.sliver,
this.scrollKey,
required this.scrollKey,
this.topFixedChildren,
this.topScrollingChildren,
super.key,
Expand All @@ -32,7 +32,7 @@ class NeonListView extends StatelessWidget {
final bool isLoading;
final Object? error;
final RefreshCallback onRefresh;
final String? scrollKey;
final String scrollKey;
final List<Widget>? topFixedChildren;
final List<Widget>? topScrollingChildren;
final Widget sliver;
Expand All @@ -46,7 +46,7 @@ class NeonListView extends StatelessWidget {
key: refreshIndicatorKey,
onRefresh: onRefresh,
child: CustomScrollView(
key: scrollKey != null ? PageStorageKey<String>(scrollKey!) : null,
key: PageStorageKey<String>(scrollKey),
primary: true,
slivers: [
if (topFixedChildren != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ class NeonUnifiedSearchResults extends StatelessWidget {
final values = results.data?.entries.toList();

return NeonListView(
scrollKey: 'unified-search',
isLoading: results.isLoading,
error: results.error,
onRefresh: bloc.refresh,
Expand Down
1 change: 1 addition & 0 deletions packages/neon/neon_dashboard/lib/src/pages/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ class DashboardMainPage extends StatelessWidget {

return Center(
child: NeonListView.custom(
scrollKey: 'dashboard',
isLoading: snapshot.isLoading,
error: snapshot.error,
onRefresh: bloc.refresh,
Expand Down
1 change: 1 addition & 0 deletions packages/neon/neon_dashboard/lib/src/widgets/widget.dart
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ class DashboardWidget extends StatelessWidget {
borderRadius: const BorderRadius.all(Radius.circular(12)),
child: ListView(
padding: const EdgeInsets.all(8),
key: PageStorageKey<String>('dashboard-${widget.id}'),
children: [
ListTile(
title: Text(
Expand Down

0 comments on commit fe29bb8

Please sign in to comment.