mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-13 17:30:31 -07:00
Init repo
This commit is contained in:
commit
764b6034e3
566 changed files with 212335 additions and 0 deletions
66
lib/screens/syncing/sync_child_item.dart
Normal file
66
lib/screens/syncing/sync_child_item.dart
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
import 'package:fladder/models/items/season_model.dart';
|
||||
import 'package:fladder/models/syncing/sync_item.dart';
|
||||
import 'package:fladder/screens/syncing/widgets/synced_season_poster.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/items/episode_model.dart';
|
||||
import 'package:fladder/providers/sync_provider.dart';
|
||||
|
||||
import 'widgets/synced_episode_item.dart';
|
||||
|
||||
class ChildSyncWidget extends ConsumerStatefulWidget {
|
||||
final SyncedItem syncedChild;
|
||||
const ChildSyncWidget({
|
||||
required this.syncedChild,
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
ConsumerState<ConsumerStatefulWidget> createState() => _ChildSyncWidgetState();
|
||||
}
|
||||
|
||||
class _ChildSyncWidgetState extends ConsumerState<ChildSyncWidget> {
|
||||
late SyncedItem syncedItem = widget.syncedChild;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final baseItem = ref.read(syncProvider.notifier).getItem(syncedItem);
|
||||
final hasFile = syncedItem.videoFile.existsSync();
|
||||
if (baseItem == null) {
|
||||
return Container();
|
||||
}
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 6),
|
||||
child: Card(
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
Navigator.of(context).pop();
|
||||
baseItem.navigateTo(context);
|
||||
},
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Row(
|
||||
children: [
|
||||
Flexible(
|
||||
child: switch (baseItem) {
|
||||
SeasonModel season => SyncedSeasonPoster(
|
||||
syncedItem: syncedItem,
|
||||
season: season,
|
||||
),
|
||||
EpisodeModel episode => SyncedEpisodeItem(
|
||||
episode: episode,
|
||||
syncedItem: syncedItem,
|
||||
hasFile: hasFile,
|
||||
),
|
||||
_ => Container(),
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue