51 lines
1.1 KiB
Dart
51 lines
1.1 KiB
Dart
|
|
class TmdbImageUrl {
|
||
|
|
static String? profile(
|
||
|
|
String imageBaseUrl,
|
||
|
|
String? path, {
|
||
|
|
String size = 'w185',
|
||
|
|
}) {
|
||
|
|
return _build(imageBaseUrl, path, size);
|
||
|
|
}
|
||
|
|
|
||
|
|
static String? poster(
|
||
|
|
String imageBaseUrl,
|
||
|
|
String? path, {
|
||
|
|
String size = 'w500',
|
||
|
|
}) {
|
||
|
|
return _build(imageBaseUrl, path, size);
|
||
|
|
}
|
||
|
|
|
||
|
|
static String? backdrop(
|
||
|
|
String imageBaseUrl,
|
||
|
|
String? path, {
|
||
|
|
String size = 'original',
|
||
|
|
}) {
|
||
|
|
return _build(imageBaseUrl, path, size);
|
||
|
|
}
|
||
|
|
|
||
|
|
static String? still(
|
||
|
|
String imageBaseUrl,
|
||
|
|
String? path, {
|
||
|
|
String size = 'w300',
|
||
|
|
}) {
|
||
|
|
return _build(imageBaseUrl, path, size);
|
||
|
|
}
|
||
|
|
|
||
|
|
static String? logo(
|
||
|
|
String imageBaseUrl,
|
||
|
|
String? path, {
|
||
|
|
String size = 'w500',
|
||
|
|
}) {
|
||
|
|
return _build(imageBaseUrl, path, size);
|
||
|
|
}
|
||
|
|
|
||
|
|
static String? _build(String imageBaseUrl, String? path, String size) {
|
||
|
|
if (path == null || path.isEmpty) return null;
|
||
|
|
final base = imageBaseUrl.endsWith('/')
|
||
|
|
? imageBaseUrl.substring(0, imageBaseUrl.length - 1)
|
||
|
|
: imageBaseUrl;
|
||
|
|
final normalizedPath = path.startsWith('/') ? path : '/$path';
|
||
|
|
return '$base/$size$normalizedPath';
|
||
|
|
}
|
||
|
|
}
|