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;
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:google_nav_bar/google_nav_bar.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/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'
show moveFilesToAndroidInternalStorage;
import 'package:openlib/state/state.dart'

View File

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

View File

@ -1,51 +1,11 @@
// Dart imports:
import 'dart:io';
// Package imports:
import 'package:sqflite/sqflite.dart';
class Sqlite {
static Future<Database> initDb() async {
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;
}
}
// Project imports:
import 'package:openlib/services/files.dart';
class MyBook {
final String id;

View File

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

View File

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

View File

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

View File

@ -1,12 +1,18 @@
// Dart imports:
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/database.dart';
import 'package:openlib/services/files.dart';
import 'package:openlib/services/open_library.dart';
//Provider for dropdownbutton in search page

View File

@ -1,8 +1,12 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
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/snack_bar_widget.dart';
class AboutPage extends StatelessWidget {
const AboutPage({super.key});

View File

@ -1,13 +1,25 @@
// Dart imports:
import 'dart:convert';
// Flutter imports:
import 'package:flutter/material.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';
import 'package:openlib/ui/components/error_widget.dart';
import 'package:openlib/services/download_file.dart';
// Package imports:
import 'package:dio/dio.dart' show CancelToken;
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/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'
show
bookInfoProvider,
@ -26,12 +38,6 @@ import 'package:openlib/state/state.dart'
checkIdExists,
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 {
const BookInfoPage({super.key, required this.url});

View File

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

View File

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

View File

@ -1,7 +1,12 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
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/ui/components/snack_bar_widget.dart';
class ShowDeleteDialog extends ConsumerWidget {
final String id;

View File

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

View File

@ -1,10 +1,14 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:open_file/open_file.dart';
// Project imports:
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/snack_bar_widget.dart';
import 'package:openlib/ui/epub_viewer.dart' show launchEpubViewer;
import 'package:openlib/ui/pdf_viewer.dart' show launchPdfViewer;

View File

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

View File

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

View File

@ -1,12 +1,20 @@
import 'dart:io';
// Dart imports:
import 'dart:convert';
import 'dart:io';
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:epub_view/epub_view.dart';
import 'package:flutter_riverpod/flutter_riverpod.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/ui/components/snack_bar_widget.dart';
import 'package:openlib/state/state.dart'
show filePathProvider, saveEpubState, dbProvider, getBookPosition;

View File

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

View File

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

View File

@ -1,13 +1,17 @@
// Flutter imports:
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';
import 'package:openlib/ui/mybook_page.dart';
// Package imports:
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/page_title_widget.dart';
import 'package:openlib/ui/components/book_card_widget.dart';
import 'package:openlib/state/state.dart' show myLibraryProvider;
import 'package:openlib/ui/extensions.dart';
import 'package:openlib/ui/mybook_page.dart';
class MyLibraryPage extends ConsumerWidget {
const MyLibraryPage({super.key});

View File

@ -1,6 +1,18 @@
// Dart imports:
import 'dart:io' show Platform;
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_pdfview/flutter_pdfview.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'
show
filePathProvider,
@ -9,11 +21,7 @@ import 'package:openlib/state/state.dart'
savePdfState,
openPdfWithExternalAppProvider,
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(
{required String fileName,

View File

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

View File

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

View File

@ -1,10 +1,20 @@
// Dart imports:
import 'dart:io';
// Flutter imports:
import 'package:flutter/material.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/components/page_title_widget.dart';
import 'package:openlib/state/state.dart'
show themeModeProvider, openPdfWithExternalAppProvider, dbProvider;

View File

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

View File

@ -1,11 +1,16 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'extensions.dart';
import 'package:openlib/ui/components/page_title_widget.dart';
// Package imports:
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/page_title_widget.dart';
import 'package:openlib/ui/results_page.dart';
import 'extensions.dart';
import 'package:openlib/state/state.dart'
show getTrendingBooks, enableFiltersState;

View File

@ -1,6 +1,13 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_riverpod/flutter_riverpod.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'
as cookiejar;

View File

@ -97,6 +97,14 @@ packages:
url: "https://pub.dev"
source: hosted
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:
dependency: "direct main"
description:
@ -193,6 +201,14 @@ packages:
url: "https://pub.dev"
source: hosted
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:
dependency: transitive
description:
@ -246,6 +262,14 @@ packages:
url: "https://pub.dev"
source: hosted
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:
dependency: "direct main"
description:
@ -328,6 +352,14 @@ packages:
url: "https://pub.dev"
source: hosted
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:
dependency: transitive
description:
@ -693,6 +725,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.7.2"
tint:
dependency: transitive
description:
name: tint
sha256: "9652d9a589f4536d5e392cf790263d120474f15da3cf1bee7f1fdb31b4de5f46"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
typed_data:
dependency: transitive
description:
@ -869,6 +909,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.15.0"
win32:
dependency: transitive
description:
name: win32
sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a"
url: "https://pub.dev"
source: hosted
version: "5.5.4"
xdg_directories:
dependency: transitive
description:

View File

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

View File

@ -5,9 +5,13 @@
// 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.
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_test/flutter_test.dart';
// Project imports:
import 'package:openlib/main.dart';
void main() {