From 8871d37f8578dec83dfc6b2ec71a6fbe597b70ac Mon Sep 17 00:00:00 2001
From: Vishesh Handa <me@vhanda.in>
Date: Wed, 14 Jul 2021 10:55:27 +0200
Subject: [PATCH] FolderView: Add ScrollBar and RefreshIndicator

The scrollbar isn't perfectly placed, but it will have to do for now.
---
 lib/folder_views/folder_view.dart | 34 +++++++++++--------------------
 1 file changed, 12 insertions(+), 22 deletions(-)

diff --git a/lib/folder_views/folder_view.dart b/lib/folder_views/folder_view.dart
index 78d9b27d..568ba4d3 100644
--- a/lib/folder_views/folder_view.dart
+++ b/lib/folder_views/folder_view.dart
@@ -1,6 +1,7 @@
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
+import 'package:git_bindings/git_bindings.dart';
 import 'package:provider/provider.dart';
 
 import 'package:gitjournal/app.dart';
@@ -140,8 +141,17 @@ class _FolderViewState extends State<FolderView> {
         ];
       },
       floatHeaderSlivers: true,
-      body: CustomScrollView(
-        slivers: [folderView],
+      body: Scrollbar(
+        child: Builder(builder: (context) {
+          var view = CustomScrollView(slivers: [folderView]);
+          if (settings.remoteSyncFrequency == RemoteSyncFrequency.Manual) {
+            return view;
+          }
+          return RefreshIndicator(
+            onRefresh: () => _syncRepo(context),
+            child: view,
+          );
+        }),
       ),
     );
   }
@@ -159,22 +169,6 @@ class _FolderViewState extends State<FolderView> {
 
     return Scaffold(
       body: Builder(builder: _buildBody),
-      /*
-      Center(
-        child: Builder(
-          builder: (context) {
-            var child = Scrollbar(child: folderView);
-            if (settings.remoteSyncFrequency == RemoteSyncFrequency.Manual) {
-              return child;
-            }
-            return RefreshIndicator(
-              child: child,
-              onRefresh: () async => _syncRepo(context),
-            );
-          },
-        ),
-      ),
-      */
       extendBody: true,
       drawer: AppDrawer(),
       floatingActionButton: createButton,
@@ -185,9 +179,6 @@ class _FolderViewState extends State<FolderView> {
     );
   }
 
-  /*
-  BUG: https://github.com/flutter/flutter/issues/54272
-
   Future<void> _syncRepo(BuildContext context) async {
     try {
       var container = context.read<GitJournalRepo>();
@@ -201,7 +192,6 @@ class _FolderViewState extends State<FolderView> {
       showSnackbar(context, e.toString());
     }
   }
-  */
 
   void _newPost(EditorType editorType) async {
     var folder = widget.notesFolder;