Files

51 lines
1.1 KiB
Dart
Raw Permalink Normal View History

2026-07-14 11:11:36 +08:00
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';
}
}