mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
feat: initial scrolling to bottom
This commit is contained in:
@@ -34,11 +34,7 @@ class DriftActivitiesPage extends HookConsumerWidget {
|
|||||||
final listViewScrollController = useScrollController();
|
final listViewScrollController = useScrollController();
|
||||||
|
|
||||||
void scrollToBottom() {
|
void scrollToBottom() {
|
||||||
listViewScrollController.animateTo(
|
listViewScrollController.animateTo(0, duration: const Duration(milliseconds: 300), curve: Curves.fastOutSlowIn);
|
||||||
listViewScrollController.position.maxScrollExtent + 80,
|
|
||||||
duration: const Duration(milliseconds: 600),
|
|
||||||
curve: Curves.fastOutSlowIn,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> onAddComment(String comment) async {
|
Future<void> onAddComment(String comment) async {
|
||||||
@@ -55,7 +51,7 @@ class DriftActivitiesPage extends HookConsumerWidget {
|
|||||||
body: activities.widgetWhen(
|
body: activities.widgetWhen(
|
||||||
onData: (data) {
|
onData: (data) {
|
||||||
final List<Widget> activityWidgets = [];
|
final List<Widget> activityWidgets = [];
|
||||||
for (final activity in data) {
|
for (final activity in data.reversed) {
|
||||||
activityWidgets.add(
|
activityWidgets.add(
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 6),
|
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 6),
|
||||||
@@ -64,12 +60,16 @@ class DriftActivitiesPage extends HookConsumerWidget {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ensure initial render scrolls to bottom so newest activities are visible
|
||||||
|
// WidgetsBinding.instance.addPostFrameCallback((_) => scrollToBottom());
|
||||||
|
|
||||||
return SafeArea(
|
return SafeArea(
|
||||||
child: Stack(
|
child: Stack(
|
||||||
children: [
|
children: [
|
||||||
ListView(
|
ListView(
|
||||||
controller: listViewScrollController,
|
controller: listViewScrollController,
|
||||||
padding: const EdgeInsets.only(top: 8, bottom: 80),
|
padding: const EdgeInsets.only(top: 8, bottom: 80),
|
||||||
|
reverse: true,
|
||||||
children: activityWidgets,
|
children: activityWidgets,
|
||||||
),
|
),
|
||||||
Align(
|
Align(
|
||||||
|
|||||||
Reference in New Issue
Block a user