// ignore: avoid_web_libraries_in_flutter
import 'dart:html' as html;
// ignore: avoid_web_libraries_in_flutter
import 'dart:js' as js;

import 'package:nc_photos/account.dart';
import 'package:nc_photos/entity/file.dart';
import 'package:nc_photos/platform/downloader.dart' as itf;
import 'package:path/path.dart' as path;

class Downloader extends itf.Downloader {
  @override
  downloadFile(Account account, File file) async {
    final fileRepo = FileRepo(FileCachedDataSource());
    final fileContent = await fileRepo.getBinary(account, file);
    js.context.callMethod("webSaveAs", [
      html.Blob([fileContent]),
      path.basename(file.path),
    ]);
  }
}