diff --git a/lib/providers/storage_provider.dart b/lib/providers/storage_provider.dart index 3e5c52d9..0159fca8 100644 --- a/lib/providers/storage_provider.dart +++ b/lib/providers/storage_provider.dart @@ -105,13 +105,8 @@ class StorageProvider { : "Novel"; final dir = await getDirectory(); return Directory( - path.join( - dir!.path, - 'downloads', - itemTypePath, - '${manga.source} (${manga.lang!.toUpperCase()})'.trim(), - manga.name!.replaceForbiddenCharacters('_').trim(), - ), + "${dir!.path}downloads/$itemTypePath/${manga.source} (${manga.lang!.toUpperCase()})/${manga.name!.replaceForbiddenCharacters('_')}/" + .fixSeparator, ); } @@ -122,13 +117,11 @@ class StorageProvider { final basedir = mangaMainDirectory ?? await getMangaMainDirectory(chapter); String scanlator = chapter.scanlator?.isNotEmpty ?? false - ? "${chapter.scanlator!.replaceForbiddenCharacters('_')}_".trim() + ? "${chapter.scanlator!.replaceForbiddenCharacters('_')}_" : ""; return Directory( - path.join( - basedir!.path, - scanlator + chapter.name!.replaceForbiddenCharacters('_').trim(), - ), + "${basedir!.path}$scanlator${chapter.name!.replaceForbiddenCharacters('_')}/" + .fixSeparator, ); } @@ -193,3 +186,7 @@ class StorageProvider { return isar; } } + +extension StringPathExtension on String { + String get fixSeparator => replaceAll("/", path.separator); +}