mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
feat: thicken the scrollbars & make 'em interactive for mobile (#764)
This commit is contained in:
parent
b1d79428a3
commit
84a4bcd948
@ -71,6 +71,8 @@ class TracksTableView extends HookConsumerWidget {
|
|||||||
final searchController = useTextEditingController();
|
final searchController = useTextEditingController();
|
||||||
final searchFocus = useFocusNode();
|
final searchFocus = useFocusNode();
|
||||||
|
|
||||||
|
final controller = useScrollController();
|
||||||
|
|
||||||
// this will trigger update on each change in searchController
|
// this will trigger update on each change in searchController
|
||||||
useValueListenable(searchController);
|
useValueListenable(searchController);
|
||||||
|
|
||||||
@ -210,14 +212,16 @@ class TracksTableView extends HookConsumerWidget {
|
|||||||
}
|
}
|
||||||
case "add-to-playlist":
|
case "add-to-playlist":
|
||||||
{
|
{
|
||||||
await showDialog(
|
if (context.mounted) {
|
||||||
context: context,
|
await showDialog(
|
||||||
builder: (context) {
|
context: context,
|
||||||
return PlaylistAddTrackDialog(
|
builder: (context) {
|
||||||
tracks: selectedTracks.toList(),
|
return PlaylistAddTrackDialog(
|
||||||
);
|
tracks: selectedTracks.toList(),
|
||||||
},
|
);
|
||||||
);
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "play-next":
|
case "play-next":
|
||||||
@ -348,11 +352,16 @@ class TracksTableView extends HookConsumerWidget {
|
|||||||
if (isSliver) {
|
if (isSliver) {
|
||||||
return SliverSafeArea(
|
return SliverSafeArea(
|
||||||
top: false,
|
top: false,
|
||||||
sliver: SliverList(delegate: SliverChildListDelegate(children)),
|
sliver: SliverList(
|
||||||
|
delegate: SliverChildListDelegate(children),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return SafeArea(
|
return SafeArea(
|
||||||
child: ListView(children: children),
|
child: ListView(
|
||||||
|
controller: controller,
|
||||||
|
children: children,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_desktop_tools/flutter_desktop_tools.dart';
|
||||||
|
|
||||||
ThemeData theme(Color seed, Brightness brightness, bool isAmoled) {
|
ThemeData theme(Color seed, Brightness brightness, bool isAmoled) {
|
||||||
final scheme = ColorScheme.fromSeed(
|
final scheme = ColorScheme.fromSeed(
|
||||||
@ -68,5 +69,14 @@ ThemeData theme(Color seed, Brightness brightness, bool isAmoled) {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
scrollbarTheme: DesktopTools.platform.isMobile
|
||||||
|
? const ScrollbarThemeData(
|
||||||
|
interactive: true,
|
||||||
|
thickness: MaterialStatePropertyAll(18),
|
||||||
|
minThumbLength: 20,
|
||||||
|
)
|
||||||
|
: const ScrollbarThemeData(
|
||||||
|
thickness: MaterialStatePropertyAll(14),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user