Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions lib/data/viewmodels/seerr_media_detail_view_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ class SeerrMediaDetailState {

bool get isMovie => movie != null;
bool get isTv => tv != null;
bool get isAnime {
Comment thread
mattsigal marked this conversation as resolved.
if (tv != null) {
return tv!.keywords.any((keyword) => keyword.id == 210024);
}
return false;
}

String get displayTitle {
if (movie != null) return movie!.title;
Expand Down
35 changes: 32 additions & 3 deletions lib/ui/screens/seerr/seerr_media_detail_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1905,8 +1905,24 @@ class _RequestDialogState extends State<_RequestDialog> {
final server = _activeServer;
if (server == null) return;
_selectedServerId ??= server.server.id;
_selectedProfileId ??= server.server.activeProfileId;
final dir = server.server.activeDirectory;

final isAnime = widget.vm.state.isAnime;
final int? animeProfileId = server.server.activeAnimeProfileId;
final String? animeDir = server.server.activeAnimeDirectory;

if (isAnime && animeProfileId != null) {
_selectedProfileId ??= animeProfileId;
} else {
_selectedProfileId ??= server.server.activeProfileId;
}

final String dir;
if (isAnime && animeDir != null && animeDir.isNotEmpty) {
dir = animeDir;
} else {
dir = server.server.activeDirectory;
}

if (_selectedRootFolderId == null && dir.isNotEmpty) {
final match = server.rootFolders
.where((f) => f.path == dir)
Expand All @@ -1923,6 +1939,11 @@ class _RequestDialogState extends State<_RequestDialog> {
if (_selectedProfileId != null) return _selectedProfileId;
final server = _activeServer;
if (server == null) return null;
final isAnime = widget.vm.state.isAnime;
final int? animeProfileId = server.server.activeAnimeProfileId;
if (isAnime && animeProfileId != null) {
return animeProfileId;
}
return server.server.activeProfileId;
}

Expand All @@ -1937,7 +1958,15 @@ class _RequestDialogState extends State<_RequestDialog> {
?.path;
}

final dir = server.server.activeDirectory;
final isAnime = widget.vm.state.isAnime;
final String? animeDir = server.server.activeAnimeDirectory;
final String dir;
if (isAnime && animeDir != null && animeDir.isNotEmpty) {
dir = animeDir;
} else {
dir = server.server.activeDirectory;
}

if (dir.isNotEmpty) {
final match =
server.rootFolders.where((f) => f.path == dir).firstOrNull;
Expand Down
Loading