Files
linkding-ios/lib/widgets/sliver_tab_body.dart
Juan Gilsanz Polo 93ebb1de40 Code improvements
2025-04-03 22:26:14 +02:00

57 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
class SliverTabBody extends StatelessWidget {
final Widget child;
const SliverTabBody({super.key, required this.child});
@override
Widget build(BuildContext context) {
return SafeArea(
top: false,
child: Builder(
builder: (BuildContext context) => CustomScrollView(
slivers: [
SliverOverlapInjector(
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
),
child,
],
),
),
);
}
}
class SliverTabBodyRefresh extends StatelessWidget {
final Widget child;
final Future<void> Function() onRefresh;
const SliverTabBodyRefresh({
super.key,
required this.child,
required this.onRefresh,
});
@override
Widget build(BuildContext context) {
return SafeArea(
top: false,
child: Builder(
builder: (BuildContext context) => RefreshIndicator(
displacement: 120,
onRefresh: onRefresh,
child: CustomScrollView(
slivers: [
SliverOverlapInjector(
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
),
child,
],
),
),
),
);
}
}