v1.4.4+65
All checks were successful
Flutter Schmutter / build (push) Successful in 3m35s

This commit is contained in:
2025-06-22 03:02:18 +02:00
parent 7f0743808a
commit 95f6dcfe2b
13 changed files with 461 additions and 339 deletions

View File

@ -8,6 +8,7 @@ import 'package:f0ckapp/utils/customsearchdelegate.dart';
import 'package:f0ckapp/widgets/end_drawer.dart';
import 'package:f0ckapp/widgets/filter_bar.dart';
import 'package:f0ckapp/widgets/media_tile.dart';
import 'package:f0ckapp/controller/settingscontroller.dart';
import 'package:f0ckapp/controller/mediacontroller.dart';
class MediaGrid extends StatefulWidget {
@ -20,6 +21,7 @@ class MediaGrid extends StatefulWidget {
class _MediaGrid extends State<MediaGrid> {
final ScrollController _scrollController = ScrollController();
final MediaController _mediaController = Get.put(MediaController());
final SettingsController _settingsController = Get.put(SettingsController());
final PullexRefreshController _refreshController = PullexRefreshController(
initialRefresh: false,
);
@ -35,6 +37,7 @@ class _MediaGrid extends State<MediaGrid> {
_body = _MediaGridBody(
refreshController: _refreshController,
mediaController: _mediaController,
settingsController: _settingsController,
scrollController: _scrollController,
);
}
@ -52,7 +55,7 @@ class _MediaGrid extends State<MediaGrid> {
() => Scaffold(
endDrawer: const EndDrawer(),
endDrawerEnableOpenDragGesture:
_mediaController.drawerSwipeEnabled.value,
_settingsController.drawerSwipeEnabled.value,
bottomNavigationBar: FilterBar(scrollController: _scrollController),
appBar: _appBar,
body: _body,
@ -121,11 +124,13 @@ class _MediaGridBody extends StatelessWidget {
const _MediaGridBody({
required this.refreshController,
required this.mediaController,
required this.settingsController,
required this.scrollController,
});
final PullexRefreshController refreshController;
final MediaController mediaController;
final SettingsController settingsController;
final ScrollController scrollController;
@override
@ -134,7 +139,7 @@ class _MediaGridBody extends StatelessWidget {
controller: refreshController,
enablePullDown: true,
enablePullUp: true,
header: const MaterialHeader(),
header: const WaterDropHeader(),
onRefresh: () async {
try {
await mediaController.handleRefresh();
@ -157,7 +162,7 @@ class _MediaGridBody extends StatelessWidget {
shrinkWrap: true,
padding: const EdgeInsets.all(4),
itemCount: mediaController.items.length,
gridDelegate: mediaController.crossAxisCount.value == 0
gridDelegate: settingsController.crossAxisCount.value == 0
? const SliverGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: 150,
crossAxisSpacing: 5,
@ -165,7 +170,7 @@ class _MediaGridBody extends StatelessWidget {
childAspectRatio: 1,
)
: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: mediaController.crossAxisCount.value,
crossAxisCount: settingsController.crossAxisCount.value,
crossAxisSpacing: 5,
mainAxisSpacing: 5,
childAspectRatio: 1,