mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-10 16:00:28 -07:00
Init repo
This commit is contained in:
commit
764b6034e3
566 changed files with 212335 additions and 0 deletions
90
lib/providers/image_provider.dart
Normal file
90
lib/providers/image_provider.dart
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
import 'package:fladder/providers/auth_provider.dart';
|
||||
import 'package:fladder/providers/user_provider.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
|
||||
const _defaultHeight = 576;
|
||||
const _defaultWidth = 384;
|
||||
const _defaultQuality = 96;
|
||||
|
||||
final imageUtilityProvider = Provider<ImageNotifier>((ref) {
|
||||
return ImageNotifier(ref: ref);
|
||||
});
|
||||
|
||||
class ImageNotifier {
|
||||
final Ref ref;
|
||||
ImageNotifier({
|
||||
required this.ref,
|
||||
});
|
||||
|
||||
String get currentServerUrl {
|
||||
return ref.read(userProvider)?.server ?? ref.read(authProvider).tempCredentials.server;
|
||||
}
|
||||
|
||||
String getUserImageUrl(String id) {
|
||||
return Uri.decodeFull("$currentServerUrl/Users/$id/Images/${ImageType.primary.value}");
|
||||
}
|
||||
|
||||
String getItemsImageUrl(String itemId,
|
||||
{ImageType type = ImageType.primary,
|
||||
int maxHeight = _defaultHeight,
|
||||
int maxWidth = _defaultWidth,
|
||||
int quality = _defaultQuality}) {
|
||||
try {
|
||||
return Uri.decodeFull(
|
||||
"$currentServerUrl/Items/$itemId/Images/${type.value}?fillHeight=$maxHeight&fillWidth=$maxWidth&quality=$quality");
|
||||
} catch (e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
String getItemsOrigImageUrl(String itemId, {ImageType type = ImageType.primary}) {
|
||||
try {
|
||||
return Uri.decodeFull("$currentServerUrl/Items/$itemId/Images/${type.value}");
|
||||
} catch (e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
String getBackdropOrigImage(
|
||||
String itemId,
|
||||
int index,
|
||||
String hash,
|
||||
) {
|
||||
try {
|
||||
return Uri.decodeFull("$currentServerUrl/Items/$itemId/Images/Backdrop/$index?tag=$hash");
|
||||
} catch (e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
String getBackdropImage(
|
||||
String itemId,
|
||||
int index,
|
||||
String hash, {
|
||||
int maxHeight = _defaultHeight,
|
||||
int maxWidth = _defaultWidth,
|
||||
int quality = _defaultQuality,
|
||||
}) {
|
||||
try {
|
||||
return Uri.decodeFull(
|
||||
"$currentServerUrl/Items/$itemId/Images/Backdrop/$index?tag=$hash&fillHeight=$maxHeight&fillWidth=$maxWidth&quality=$quality");
|
||||
} catch (e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
String getChapterUrl(String itemId, int index,
|
||||
{ImageType type = ImageType.primary,
|
||||
int maxHeight = _defaultHeight,
|
||||
int maxWidth = _defaultWidth,
|
||||
int quality = _defaultQuality}) {
|
||||
try {
|
||||
return Uri.decodeFull(
|
||||
"$currentServerUrl/Items/$itemId/Images/Chapter/$index?fillHeight=$maxHeight&fillWidth=$maxWidth&quality=$quality");
|
||||
} catch (e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue