chore: organize imports

This commit is contained in:
Clovis DUGUÉ
2024-08-23 23:35:09 +02:00
parent ccd60ac357
commit 11a7dca93c
30 changed files with 235 additions and 95 deletions

View File

@ -1,16 +1,23 @@
// Dart imports:
import 'dart:io' show Platform; import 'dart:io' show Platform;
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:google_nav_bar/google_nav_bar.dart'; import 'package:google_nav_bar/google_nav_bar.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart';
// Project imports:
import 'package:openlib/services/database.dart' show MyLibraryDb;
import 'package:openlib/ui/mylibrary_page.dart';
import 'package:openlib/ui/search_page.dart';
import 'package:openlib/ui/settings_page.dart';
import 'package:openlib/ui/themes.dart'; import 'package:openlib/ui/themes.dart';
import 'package:openlib/ui/trending_page.dart'; import 'package:openlib/ui/trending_page.dart';
import 'package:openlib/ui/search_page.dart';
import 'package:openlib/ui/mylibrary_page.dart';
import 'package:openlib/ui/settings_page.dart';
import 'package:openlib/services/database.dart' show Sqlite, MyLibraryDb;
import 'package:openlib/services/files.dart' import 'package:openlib/services/files.dart'
show moveFilesToAndroidInternalStorage; show moveFilesToAndroidInternalStorage;
import 'package:openlib/state/state.dart' import 'package:openlib/state/state.dart'

View File

@ -1,6 +1,11 @@
import 'package:dio/dio.dart'; // Dart imports:
import 'dart:convert'; import 'dart:convert';
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:dio/dio.dart';
import 'package:html/parser.dart' show parse; import 'package:html/parser.dart' show parse;
class BookData { class BookData {

View File

@ -1,51 +1,11 @@
// Dart imports:
import 'dart:io'; import 'dart:io';
// Package imports:
import 'package:sqflite/sqflite.dart'; import 'package:sqflite/sqflite.dart';
class Sqlite { // Project imports:
static Future<Database> initDb() async { import 'package:openlib/services/files.dart';
var databasesPath = await getDatabasesPath();
String path = '$databasesPath/mylibrary.db';
bool isMobile = Platform.isAndroid || Platform.isIOS;
Database dbInstance = await openDatabase(
path,
version: 5,
onCreate: (Database db, int version) async {
await db.execute(
'CREATE TABLE mybooks (id TEXT PRIMARY KEY, title TEXT,author TEXT,thumbnail TEXT,link TEXT,publisher TEXT,info TEXT,format TEXT,description TEXT)');
await db.execute(
'CREATE TABLE preferences (name TEXT PRIMARY KEY,value BOOLEAN)');
if (isMobile) {
await db.execute(
'CREATE TABLE bookposition (fileName TEXT PRIMARY KEY,position TEXT)');
await db.execute(
'CREATE TABLE browserOptions (name TEXT PRIMARY KEY,value TEXT)');
}
},
onUpgrade: (db, oldVersion, newVersion) async {
List<dynamic> isTableExist = await db.query('sqlite_master',
where: 'name = ?', whereArgs: ['bookposition']);
List<dynamic> isPreferenceTableExist = await db.query('sqlite_master',
where: 'name = ?', whereArgs: ['preferences']);
List<dynamic> isbrowserOptionsExist = await db.query('sqlite_master',
where: 'name = ?', whereArgs: ['browserOptions']);
if (isPreferenceTableExist.isEmpty) {
await db.execute(
'CREATE TABLE preferences (name TEXT PRIMARY KEY,value BOOLEAN)');
}
if (isMobile && isTableExist.isEmpty) {
await db.execute(
'CREATE TABLE bookposition (fileName TEXT PRIMARY KEY,position TEXT)');
}
if (isMobile && isbrowserOptionsExist.isEmpty) {
await db.execute(
'CREATE TABLE browserOptions (name TEXT PRIMARY KEY,value TEXT)');
}
},
);
return dbInstance;
}
}
class MyBook { class MyBook {
final String id; final String id;

View File

@ -1,6 +1,12 @@
// Dart imports:
import 'dart:io'; import 'dart:io';
// Package imports:
import 'package:crypto/crypto.dart'; import 'package:crypto/crypto.dart';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
// Project imports:
import 'package:openlib/services/database.dart' show MyLibraryDb;
import 'files.dart'; import 'files.dart';
Future<String> _getFilePath(String fileName) async { Future<String> _getFilePath(String fileName) async {

View File

@ -1,7 +1,11 @@
// Dart imports:
import 'dart:io'; import 'dart:io';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:openlib/state/state.dart' show dbProvider, myLibraryProvider;
// Project imports:
Future<String> get getAppDirectoryPath async { Future<String> get getAppDirectoryPath async {
if (Platform.isAndroid) { if (Platform.isAndroid) {

View File

@ -1,3 +1,4 @@
// Package imports:
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:html/parser.dart' show parse; import 'package:html/parser.dart' show parse;

View File

@ -1,12 +1,18 @@
// Dart imports:
import 'dart:math'; import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:openlib/services/database.dart';
import 'package:dio/dio.dart';
import 'package:openlib/services/open_library.dart'; // Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:dio/dio.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
// Project imports:
import 'package:openlib/services/annas_archieve.dart'; import 'package:openlib/services/annas_archieve.dart';
import 'package:openlib/services/database.dart';
import 'package:openlib/services/files.dart'; import 'package:openlib/services/files.dart';
import 'package:openlib/services/open_library.dart';
//Provider for dropdownbutton in search page //Provider for dropdownbutton in search page

View File

@ -1,8 +1,12 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import 'package:openlib/ui/components/snack_bar_widget.dart'; // Project imports:
import 'package:openlib/ui/components/page_title_widget.dart'; import 'package:openlib/ui/components/page_title_widget.dart';
import 'package:openlib/ui/components/snack_bar_widget.dart';
class AboutPage extends StatelessWidget { class AboutPage extends StatelessWidget {
const AboutPage({super.key}); const AboutPage({super.key});

View File

@ -1,13 +1,25 @@
// Dart imports:
import 'dart:convert'; import 'dart:convert';
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart'; import 'package:flutter/scheduler.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:dio/dio.dart' show CancelToken;
import 'package:openlib/services/database.dart'; // Package imports:
import 'package:openlib/ui/components/error_widget.dart'; import 'package:dio/dio.dart' show CancelToken;
import 'package:openlib/services/download_file.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
// Project imports:
import 'package:openlib/services/annas_archieve.dart' show BookInfoData; import 'package:openlib/services/annas_archieve.dart' show BookInfoData;
import 'package:openlib/services/database.dart';
import 'package:openlib/services/download_file.dart';
import 'package:openlib/ui/components/book_info_widget.dart';
import 'package:openlib/ui/components/error_widget.dart';
import 'package:openlib/ui/components/file_buttons_widget.dart';
import 'package:openlib/ui/components/snack_bar_widget.dart';
import 'package:openlib/ui/webview_page.dart';
import 'package:openlib/state/state.dart' import 'package:openlib/state/state.dart'
show show
bookInfoProvider, bookInfoProvider,
@ -26,12 +38,6 @@ import 'package:openlib/state/state.dart'
checkIdExists, checkIdExists,
myLibraryProvider; myLibraryProvider;
import 'package:openlib/ui/components/book_info_widget.dart';
import 'package:openlib/ui/components/file_buttons_widget.dart';
import 'package:openlib/ui/components/snack_bar_widget.dart';
import 'package:flutter_svg/svg.dart';
import 'package:openlib/ui/webview_page.dart';
class BookInfoPage extends ConsumerWidget { class BookInfoPage extends ConsumerWidget {
const BookInfoPage({super.key, required this.url}); const BookInfoPage({super.key, required this.url});

View File

@ -1,7 +1,12 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:openlib/ui/extensions.dart';
// Package imports:
import 'package:cached_network_image/cached_network_image.dart'; import 'package:cached_network_image/cached_network_image.dart';
// Project imports:
import 'package:openlib/ui/extensions.dart';
String? getFileType(String? info) { String? getFileType(String? info) {
if (info != null && info.isNotEmpty) { if (info != null && info.isNotEmpty) {
info = info.toLowerCase(); info = info.toLowerCase();

View File

@ -1,4 +1,7 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:cached_network_image/cached_network_image.dart'; import 'package:cached_network_image/cached_network_image.dart';
class BookInfoWidget extends StatelessWidget { class BookInfoWidget extends StatelessWidget {

View File

@ -1,7 +1,12 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:openlib/ui/components/snack_bar_widget.dart';
// Project imports:
import 'package:openlib/state/state.dart' show FileName, deleteFileFromMyLib; import 'package:openlib/state/state.dart' show FileName, deleteFileFromMyLib;
import 'package:openlib/ui/components/snack_bar_widget.dart';
class ShowDeleteDialog extends ConsumerWidget { class ShowDeleteDialog extends ConsumerWidget {
final String id; final String id;

View File

@ -1,7 +1,12 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:openlib/ui/extensions.dart';
// Package imports:
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
// Project imports:
import 'package:openlib/ui/extensions.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
class CustomErrorWidget extends StatelessWidget { class CustomErrorWidget extends StatelessWidget {
final Object error; final Object error;

View File

@ -1,10 +1,14 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:open_file/open_file.dart'; import 'package:open_file/open_file.dart';
// Project imports:
import 'package:openlib/services/files.dart' show getFilePath; import 'package:openlib/services/files.dart' show getFilePath;
import 'package:openlib/ui/components/snack_bar_widget.dart';
import 'package:openlib/ui/components/delete_dialog_widget.dart'; import 'package:openlib/ui/components/delete_dialog_widget.dart';
import 'package:openlib/ui/components/snack_bar_widget.dart';
import 'package:openlib/ui/epub_viewer.dart' show launchEpubViewer; import 'package:openlib/ui/epub_viewer.dart' show launchEpubViewer;
import 'package:openlib/ui/pdf_viewer.dart' show launchPdfViewer; import 'package:openlib/ui/pdf_viewer.dart' show launchPdfViewer;

View File

@ -1,3 +1,4 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class TitleText extends StatelessWidget { class TitleText extends StatelessWidget {

View File

@ -1,3 +1,4 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
void showSnackBar({required BuildContext context, required String message}) { void showSnackBar({required BuildContext context, required String message}) {

View File

@ -1,12 +1,20 @@
import 'dart:io'; // Dart imports:
import 'dart:convert'; import 'dart:convert';
import 'dart:io';
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:epub_view/epub_view.dart'; import 'package:epub_view/epub_view.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:open_file/open_file.dart'; import 'package:open_file/open_file.dart';
// Project imports:
import 'package:openlib/services/database.dart';
import 'package:openlib/services/files.dart' show getFilePath; import 'package:openlib/services/files.dart' show getFilePath;
import 'package:openlib/ui/components/snack_bar_widget.dart'; import 'package:openlib/ui/components/snack_bar_widget.dart';
import 'package:openlib/state/state.dart' import 'package:openlib/state/state.dart'
show filePathProvider, saveEpubState, dbProvider, getBookPosition; show filePathProvider, saveEpubState, dbProvider, getBookPosition;

View File

@ -1,3 +1,4 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
extension ColorExtension on String { extension ColorExtension on String {

View File

@ -1,5 +1,10 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
// Project imports:
import 'package:openlib/services/database.dart'; import 'package:openlib/services/database.dart';
import 'package:openlib/state/state.dart' show dbProvider; import 'package:openlib/state/state.dart' show dbProvider;

View File

@ -1,13 +1,17 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:openlib/ui/extensions.dart'; // Package imports:
import 'package:openlib/ui/mybook_page.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/flutter_svg.dart';
// Project imports:
import 'package:openlib/state/state.dart' show myLibraryProvider;
import 'package:openlib/ui/components/book_card_widget.dart';
import 'package:openlib/ui/components/error_widget.dart'; import 'package:openlib/ui/components/error_widget.dart';
import 'package:openlib/ui/components/page_title_widget.dart'; import 'package:openlib/ui/components/page_title_widget.dart';
import 'package:openlib/ui/components/book_card_widget.dart'; import 'package:openlib/ui/extensions.dart';
import 'package:openlib/state/state.dart' show myLibraryProvider; import 'package:openlib/ui/mybook_page.dart';
class MyLibraryPage extends ConsumerWidget { class MyLibraryPage extends ConsumerWidget {
const MyLibraryPage({super.key}); const MyLibraryPage({super.key});

View File

@ -1,6 +1,18 @@
// Dart imports:
import 'dart:io' show Platform;
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_pdfview/flutter_pdfview.dart'; import 'package:flutter_pdfview/flutter_pdfview.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:open_file/open_file.dart';
import 'package:url_launcher/url_launcher.dart';
// Project imports:
import 'package:openlib/services/files.dart' show getFilePath;
import 'package:openlib/state/state.dart' import 'package:openlib/state/state.dart'
show show
filePathProvider, filePathProvider,
@ -9,11 +21,7 @@ import 'package:openlib/state/state.dart'
savePdfState, savePdfState,
openPdfWithExternalAppProvider, openPdfWithExternalAppProvider,
getBookPosition; getBookPosition;
import 'package:url_launcher/url_launcher.dart';
import 'package:open_file/open_file.dart';
import 'dart:io' show Platform;
import 'package:openlib/services/files.dart' show getFilePath;
Future<void> launchPdfViewer( Future<void> launchPdfViewer(
{required String fileName, {required String fileName,

View File

@ -1,13 +1,17 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:openlib/ui/extensions.dart'; // Project imports:
import 'package:openlib/state/state.dart' show searchProvider;
import 'package:openlib/ui/book_info_page.dart'; import 'package:openlib/ui/book_info_page.dart';
import 'package:openlib/ui/components/book_card_widget.dart';
import 'package:openlib/ui/components/error_widget.dart'; import 'package:openlib/ui/components/error_widget.dart';
import 'package:openlib/ui/components/page_title_widget.dart'; import 'package:openlib/ui/components/page_title_widget.dart';
import 'package:openlib/ui/components/book_card_widget.dart'; import 'package:openlib/ui/extensions.dart';
import 'package:openlib/state/state.dart' show searchProvider;
class ResultPage extends ConsumerWidget { class ResultPage extends ConsumerWidget {
const ResultPage({super.key, required this.searchQuery}); const ResultPage({super.key, required this.searchQuery});

View File

@ -1,7 +1,14 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:openlib/ui/results_page.dart';
// Project imports:
import 'package:openlib/ui/components/page_title_widget.dart'; import 'package:openlib/ui/components/page_title_widget.dart';
import 'package:openlib/ui/results_page.dart';
import 'components/snack_bar_widget.dart';
import 'package:openlib/state/state.dart' import 'package:openlib/state/state.dart'
show show
searchQueryProvider, searchQueryProvider,
@ -12,7 +19,6 @@ import 'package:openlib/state/state.dart'
fileType, fileType,
sortValues, sortValues,
enableFiltersState; enableFiltersState;
import 'components/snack_bar_widget.dart';
class SearchPage extends ConsumerWidget { class SearchPage extends ConsumerWidget {
const SearchPage({super.key}); const SearchPage({super.key});

View File

@ -1,10 +1,20 @@
// Dart imports:
import 'dart:io'; import 'dart:io';
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:openlib/ui/components/page_title_widget.dart'; // Package imports:
import 'package:file_picker/file_picker.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:permission_handler/permission_handler.dart';
// Project imports:
import 'package:openlib/services/database.dart';
import 'package:openlib/ui/about_page.dart'; import 'package:openlib/ui/about_page.dart';
import 'package:openlib/ui/components/page_title_widget.dart';
import 'package:openlib/state/state.dart' import 'package:openlib/state/state.dart'
show themeModeProvider, openPdfWithExternalAppProvider, dbProvider; show themeModeProvider, openPdfWithExternalAppProvider, dbProvider;

View File

@ -1,7 +1,12 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:openlib/ui/extensions.dart';
// Package imports:
import 'package:google_fonts/google_fonts.dart'; import 'package:google_fonts/google_fonts.dart';
// Project imports:
import 'package:openlib/ui/extensions.dart';
ThemeData lightTheme = ThemeData( ThemeData lightTheme = ThemeData(
primaryColor: Colors.white, primaryColor: Colors.white,
colorScheme: ColorScheme.light( colorScheme: ColorScheme.light(

View File

@ -1,11 +1,16 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'extensions.dart'; // Package imports:
import 'package:openlib/ui/components/page_title_widget.dart'; import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
// Project imports:
import 'package:openlib/ui/components/error_widget.dart'; import 'package:openlib/ui/components/error_widget.dart';
import 'package:openlib/ui/components/page_title_widget.dart';
import 'package:openlib/ui/results_page.dart'; import 'package:openlib/ui/results_page.dart';
import 'extensions.dart';
import 'package:openlib/state/state.dart' import 'package:openlib/state/state.dart'
show getTrendingBooks, enableFiltersState; show getTrendingBooks, enableFiltersState;

View File

@ -1,6 +1,13 @@
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:webview_flutter/webview_flutter.dart'; import 'package:webview_flutter/webview_flutter.dart';
// Project imports:
import 'package:openlib/services/database.dart';
import 'package:webview_cookie_manager/webview_cookie_manager.dart' import 'package:webview_cookie_manager/webview_cookie_manager.dart'
as cookiejar; as cookiejar;

View File

@ -97,6 +97,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.18.0" version: "1.18.0"
cross_file:
dependency: transitive
description:
name: cross_file
sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
url: "https://pub.dev"
source: hosted
version: "0.3.4+2"
crypto: crypto:
dependency: "direct main" dependency: "direct main"
description: description:
@ -193,6 +201,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "7.0.0" version: "7.0.0"
file_picker:
dependency: "direct main"
description:
name: file_picker
sha256: "167bb619cdddaa10ef2907609feb8a79c16dfa479d3afaf960f8e223f754bf12"
url: "https://pub.dev"
source: hosted
version: "8.1.2"
fixnum: fixnum:
dependency: transitive dependency: transitive
description: description:
@ -246,6 +262,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.2" version: "1.3.2"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: "9d98bd47ef9d34e803d438f17fd32b116d31009f534a6fa5ce3a1167f189a6de"
url: "https://pub.dev"
source: hosted
version: "2.0.21"
flutter_riverpod: flutter_riverpod:
dependency: "direct main" dependency: "direct main"
description: description:
@ -328,6 +352,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.3.0" version: "3.3.0"
import_sorter:
dependency: "direct dev"
description:
name: import_sorter
sha256: eb15738ccead84e62c31e0208ea4e3104415efcd4972b86906ca64a1187d0836
url: "https://pub.dev"
source: hosted
version: "4.6.0"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
@ -693,6 +725,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.2" version: "0.7.2"
tint:
dependency: transitive
description:
name: tint
sha256: "9652d9a589f4536d5e392cf790263d120474f15da3cf1bee7f1fdb31b4de5f46"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@ -869,6 +909,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.15.0" version: "3.15.0"
win32:
dependency: transitive
description:
name: win32
sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a"
url: "https://pub.dev"
source: hosted
version: "5.5.4"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:

View File

@ -61,8 +61,10 @@ dependencies:
cupertino_icons: ^1.0.2 cupertino_icons: ^1.0.2
dev: ^1.0.0 dev: ^1.0.0
crypto: ^3.0.3 crypto: ^3.0.3
file_picker: ^8.1.2
dev_dependencies: dev_dependencies:
import_sorter: ^4.6.0
flutter_test: flutter_test:
sdk: flutter sdk: flutter

View File

@ -5,9 +5,13 @@
// gestures. You can also use WidgetTester to find child widgets in the widget // gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct. // tree, read text, and verify that the values of widget properties are correct.
// Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
// Project imports:
import 'package:openlib/main.dart'; import 'package:openlib/main.dart';
void main() { void main() {