This commit is contained in:
@ -305,64 +305,95 @@ class _MediaDetailScreenState extends State<MediaDetailScreen> {
|
||||
() => PullexRefreshController(),
|
||||
);
|
||||
|
||||
return PullexRefresh(
|
||||
onRefresh: () => _onRefresh(item.id, refreshController),
|
||||
header: const WaterDropHeader(),
|
||||
controller: refreshController,
|
||||
child: CustomScrollView(
|
||||
controller: scrollController,
|
||||
slivers: [
|
||||
SliverToBoxAdapter(
|
||||
child: AnimatedBuilder(
|
||||
animation: _pageController!,
|
||||
builder: (context, child) {
|
||||
return buildAnimatedTransition(
|
||||
context: context,
|
||||
pageController: _pageController!,
|
||||
index: index,
|
||||
child: child!,
|
||||
);
|
||||
},
|
||||
child: Obx(
|
||||
() => _buildMedia(item, index == _currentIndex.value),
|
||||
),
|
||||
),
|
||||
),
|
||||
if (isReady)
|
||||
SliverFillRemaining(
|
||||
hasScrollBody: false,
|
||||
fillOverscroll: true,
|
||||
child: GestureDetector(
|
||||
onTap: () => settingsController.hideVideoControls(),
|
||||
behavior: HitTestBehavior.translucent,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
TagSection(tags: item.tags ?? []),
|
||||
Obx(
|
||||
() => Visibility(
|
||||
visible: authController.isLoggedIn,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 20.0),
|
||||
child: FavoriteSection(
|
||||
item: item,
|
||||
index: index,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
return Stack(
|
||||
children: [
|
||||
PullexRefresh(
|
||||
onRefresh: () => _onRefresh(item.id, refreshController),
|
||||
header: const WaterDropHeader(),
|
||||
controller: refreshController,
|
||||
child: CustomScrollView(
|
||||
controller: scrollController,
|
||||
slivers: [
|
||||
SliverToBoxAdapter(
|
||||
child: AnimatedBuilder(
|
||||
animation: _pageController!,
|
||||
builder: (context, child) {
|
||||
return buildAnimatedTransition(
|
||||
context: context,
|
||||
pageController: _pageController!,
|
||||
index: index,
|
||||
child: child!,
|
||||
);
|
||||
},
|
||||
child: Obx(
|
||||
() =>
|
||||
_buildMedia(item, index == _currentIndex.value),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
const SliverToBoxAdapter(
|
||||
child: SafeArea(child: SizedBox.shrink()),
|
||||
if (isReady)
|
||||
SliverFillRemaining(
|
||||
hasScrollBody: false,
|
||||
fillOverscroll: true,
|
||||
child: GestureDetector(
|
||||
onTap: () => settingsController.hideVideoControls(),
|
||||
behavior: HitTestBehavior.translucent,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [TagSection(tags: item.tags ?? [])],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
const SliverToBoxAdapter(
|
||||
child: SafeArea(child: SizedBox.shrink()),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Obx(() {
|
||||
if (!authController.isLoggedIn) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
final MediaItem currentItem =
|
||||
mediaController.items[_currentIndex.value];
|
||||
return DraggableScrollableSheet(
|
||||
initialChildSize: 0.11,
|
||||
minChildSize: 0.11,
|
||||
maxChildSize: 0.245,
|
||||
snap: true,
|
||||
builder: (context, scrollController) => ListView(
|
||||
controller: scrollController,
|
||||
padding: const EdgeInsets.only(left: 16, right: 16),
|
||||
children: [
|
||||
FavoriteSection(
|
||||
item: currentItem,
|
||||
index: _currentIndex.value,
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
Text(
|
||||
"Dateigröße: ${(currentItem.size / 1024).toStringAsFixed(1)} KB",
|
||||
style: Theme.of(context).textTheme.bodySmall,
|
||||
),
|
||||
Text(
|
||||
"Typ: ${currentItem.mime}",
|
||||
style: Theme.of(context).textTheme.bodySmall,
|
||||
),
|
||||
Text(
|
||||
"ID: ${currentItem.id}",
|
||||
style: Theme.of(context).textTheme.bodySmall,
|
||||
),
|
||||
Text(
|
||||
"Hochgeladen am: ${DateTime.fromMillisecondsSinceEpoch(currentItem.stamp * 1000)}",
|
||||
style: Theme.of(context).textTheme.bodySmall,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
|
Reference in New Issue
Block a user