Explorar el Código

fix: overlapped scrollbar in calendar (#3075)

* fix: height for calendar view in document

* fix: hide overlapped scrollbars

* chore: merge remote branch 'upstream/main' into fix-#2618
Richard Shiue hace 1 año
padre
commit
9330df4ce1

+ 16 - 11
frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_day.dart

@@ -254,18 +254,23 @@ class _EventList extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     return Flexible(
-      child: ListView.separated(
-        itemBuilder: (BuildContext context, int index) => EventCard(
-          event: events[index],
-          viewId: viewId,
-          rowCache: rowCache,
-          constraints: constraints,
+      child: ScrollConfiguration(
+        behavior: ScrollConfiguration.of(context).copyWith(
+          scrollbars: true,
+        ),
+        child: ListView.separated(
+          itemBuilder: (BuildContext context, int index) => EventCard(
+            event: events[index],
+            viewId: viewId,
+            rowCache: rowCache,
+            constraints: constraints,
+          ),
+          itemCount: events.length,
+          padding: const EdgeInsets.fromLTRB(8.0, 0, 8.0, 8.0),
+          separatorBuilder: (BuildContext context, int index) =>
+              VSpace(GridSize.typeOptionSeparatorHeight),
+          shrinkWrap: true,
         ),
-        itemCount: events.length,
-        padding: const EdgeInsets.fromLTRB(8.0, 0, 8.0, 8.0),
-        separatorBuilder: (BuildContext context, int index) =>
-            VSpace(GridSize.typeOptionSeparatorHeight),
-        shrinkWrap: true,
       ),
     );
   }

+ 14 - 11
frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_page.dart

@@ -190,17 +190,20 @@ class _CalendarPageState extends State<CalendarPage> {
       padding: CalendarSize.contentInsets,
       child: LayoutBuilder(
         // must specify MonthView width for useAvailableVerticalSpace to work properly
-        builder: (context, constraints) => MonthView(
-          key: _calendarState,
-          controller: _eventController,
-          width: constraints.maxWidth,
-          cellAspectRatio: 0.6,
-          startDay: _weekdayFromInt(firstDayOfWeek),
-          borderColor: Theme.of(context).dividerColor,
-          headerBuilder: _headerNavigatorBuilder,
-          weekDayBuilder: _headerWeekDayBuilder,
-          cellBuilder: _calendarDayBuilder,
-          useAvailableVerticalSpace: widget.shrinkWrap,
+        builder: (context, constraints) => ScrollConfiguration(
+          behavior: ScrollConfiguration.of(context).copyWith(scrollbars: false),
+          child: MonthView(
+            key: _calendarState,
+            controller: _eventController,
+            width: constraints.maxWidth,
+            cellAspectRatio: 0.6,
+            startDay: _weekdayFromInt(firstDayOfWeek),
+            borderColor: Theme.of(context).dividerColor,
+            headerBuilder: _headerNavigatorBuilder,
+            weekDayBuilder: _headerWeekDayBuilder,
+            cellBuilder: _calendarDayBuilder,
+            useAvailableVerticalSpace: widget.shrinkWrap,
+          ),
         ),
       ),
     );