mirror of
https://gitlab.com/mysocialportal/fediverse-archiving-tools.git
synced 2024-10-18 08:53:31 +00:00
Fix image file preview loading
This commit is contained in:
parent
1ec9939f9b
commit
af69bb910b
3 changed files with 13 additions and 20 deletions
|
@ -55,13 +55,13 @@ class MediaWrapperComponent extends StatelessWidget {
|
|||
noImageText: 'No Thumbnail',
|
||||
noImageOnTapText:
|
||||
'Click to launch video in external player (No Thumbnail)',
|
||||
onTap: () async =>
|
||||
await _attemptToPlay(context, videoPlayerCommand, path));
|
||||
onTap: () async => await _attemptToPlay(
|
||||
context, videoPlayerCommand, path.toString()));
|
||||
}
|
||||
|
||||
return TextButton(
|
||||
onPressed: () async {
|
||||
await _attemptToPlay(context, videoPlayerCommand, path);
|
||||
await _attemptToPlay(context, videoPlayerCommand, path.toString());
|
||||
},
|
||||
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
||||
Text(
|
||||
|
@ -74,8 +74,7 @@ class MediaWrapperComponent extends StatelessWidget {
|
|||
}
|
||||
|
||||
if (mediaAttachment.explicitType == AttachmentMediaType.image) {
|
||||
final imageResult =
|
||||
_uriToImage(mediaAttachment.uri, archiveService.pathMappingService);
|
||||
final imageResult = _uriToImage(path, archiveService.pathMappingService);
|
||||
if (imageResult.image == null) {
|
||||
final errorPath = imageResult.path.isNotEmpty
|
||||
? imageResult.path
|
||||
|
@ -172,13 +171,13 @@ class MediaWrapperComponent extends StatelessWidget {
|
|||
return InkWell(onTap: onTap, child: imageWidget);
|
||||
}
|
||||
|
||||
String _calculatePath(ArchiveServiceProvider archiveService) {
|
||||
Uri _calculatePath(ArchiveServiceProvider archiveService) {
|
||||
final url = mediaAttachment.uri.toString();
|
||||
String basePath = '';
|
||||
if (url.startsWith('http')) {
|
||||
final localCacheFile = archiveService.getImageByUrl(url);
|
||||
if (localCacheFile.isFailure) {
|
||||
return url;
|
||||
return mediaAttachment.uri;
|
||||
}
|
||||
|
||||
basePath = localCacheFile.value.localFilename;
|
||||
|
@ -186,7 +185,7 @@ class MediaWrapperComponent extends StatelessWidget {
|
|||
basePath = mediaAttachment.uri.path;
|
||||
}
|
||||
|
||||
return archiveService.pathMappingService.toFullPath(basePath);
|
||||
return Uri.parse(basePath);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -40,6 +40,10 @@ class DiasporaPathMappingService implements PathMappingService {
|
|||
|
||||
@override
|
||||
String toFullPath(String relPath) {
|
||||
if (File(relPath).existsSync()) {
|
||||
return relPath;
|
||||
}
|
||||
|
||||
for (final file in _photoDirectories) {
|
||||
final fullPath = p.join(file.path, relPath);
|
||||
if (File(fullPath).existsSync()) {
|
||||
|
|
|
@ -29,19 +29,9 @@ class FriendicaPathMappingService implements PathMappingService {
|
|||
}
|
||||
_archiveDirectories.clear();
|
||||
|
||||
try {
|
||||
if (_calcRootIsSingleArchiveFolder()) {
|
||||
_archiveDirectories.add(Directory(rootFolder));
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
_logger
|
||||
.severe('Error thrown while trying to calculate root structure: $e');
|
||||
return;
|
||||
}
|
||||
|
||||
final recursive = !_calcRootIsSingleArchiveFolder();
|
||||
_archiveDirectories.addAll(Directory(settings.rootFolder)
|
||||
.listSync(recursive: false)
|
||||
.listSync(recursive: recursive)
|
||||
.where((element) =>
|
||||
element.statSync().type == FileSystemEntityType.directory));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue