feat: group provider into `/lib/data`

This commit is contained in:
insleker 2025-09-10 00:37:47 +08:00
parent 095e99f0a6
commit c1b7824cbd
106 changed files with 139 additions and 133 deletions

View File

@ -1,6 +1,9 @@
# meta archietecture # meta archietecture
* [MVVM](https://docs.flutter.dev/app-architecture/guide) * [MVVM](https://docs.flutter.dev/app-architecture/guide)
* [Data layer](https://docs.flutter.dev/app-architecture/case-study/data-layer)
* View ⇆ ViewModel ⇆ Repository ⇆ Service
* Model is used across.
## Package structure ## Package structure
@ -11,6 +14,9 @@ The repo structure follows official [Package structure](https://docs.flutter.dev
* `test/widget/` contains UI widget(component) tests which focus on `View` from MVVM of each component. * `test/widget/` contains UI widget(component) tests which focus on `View` from MVVM of each component.
* `integration_test/` for integration tests. They should be volatile to follow UI layout changes. * `integration_test/` for integration tests. They should be volatile to follow UI layout changes.
Some rule of thumb:
* `<object>Provider` only placed at `/lib/data/repositories/` or `/lib/data/services/` to provide data source.
## Abstraction ## Abstraction
### terminology ### terminology

View File

@ -7,9 +7,9 @@ import 'package:image/image.dart' as img;
import 'package:pdf_signature/data/services/export_service.dart'; import 'package:pdf_signature/data/services/export_service.dart';
import 'package:pdf_signature/data/services/export_providers.dart'; import 'package:pdf_signature/data/services/export_providers.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/pdf/widgets/pdf_screen.dart'; import 'package:pdf_signature/ui/features/pdf/widgets/pdf_screen.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';

View File

@ -3,7 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_localized_locales/flutter_localized_locales.dart'; import 'package:flutter_localized_locales/flutter_localized_locales.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';
import 'package:pdf_signature/ui/features/pdf/widgets/pdf_screen.dart'; import 'package:pdf_signature/ui/features/pdf/widgets/pdf_screen.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/welcome/widgets/welcome_screen.dart'; import 'package:pdf_signature/ui/features/welcome/widgets/welcome_screen.dart';
import 'data/services/preferences_providers.dart'; import 'data/services/preferences_providers.dart';
import 'package:pdf_signature/ui/features/preferences/widgets/settings_screen.dart'; import 'package:pdf_signature/ui/features/preferences/widgets/settings_screen.dart';

View File

@ -7,7 +7,7 @@ import 'package:image/image.dart' as img;
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';
import '../../../../data/model/model.dart'; import '../../../../data/model/model.dart';
import '../../pdf/view_model/pdf_controller.dart'; import 'pdf_repository.dart';
class SignatureController extends StateNotifier<SignatureState> { class SignatureController extends StateNotifier<SignatureState> {
SignatureController() : super(SignatureState.initial()); SignatureController() : super(SignatureState.initial());

View File

@ -3,7 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';
import '../../../../data/model/model.dart'; import '../../../../data/model/model.dart';
import '../../signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
class AdjustmentsPanel extends ConsumerWidget { class AdjustmentsPanel extends ConsumerWidget {
const AdjustmentsPanel({super.key, required this.sig}); const AdjustmentsPanel({super.key, required this.sig});

View File

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';
import '../../signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'adjustments_panel.dart'; import 'adjustments_panel.dart';
import '../../signature/widgets/rotated_signature_image.dart'; import '../../signature/widgets/rotated_signature_image.dart';

View File

@ -4,8 +4,8 @@ import 'package:pdf_signature/l10n/app_localizations.dart';
import 'package:pdfrx/pdfrx.dart'; import 'package:pdfrx/pdfrx.dart';
import '../../../../data/services/export_providers.dart'; import '../../../../data/services/export_providers.dart';
import '../../signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '../view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '../../signature/widgets/signature_drag_data.dart'; import '../../signature/widgets/signature_drag_data.dart';
import 'pdf_mock_continuous_list.dart'; import 'pdf_mock_continuous_list.dart';
import 'pdf_page_overlays.dart'; import 'pdf_page_overlays.dart';

View File

@ -1,9 +1,9 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '../../../../data/model/model.dart'; import '../../../../data/model/model.dart';
import '../view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'signature_overlay.dart'; import 'signature_overlay.dart';
/// Builds all overlays for a given page: placed signatures and the active one. /// Builds all overlays for a given page: placed signatures and the active one.

View File

@ -3,7 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdfrx/pdfrx.dart'; import 'package:pdfrx/pdfrx.dart';
import '../../../../data/services/export_providers.dart'; import '../../../../data/services/export_providers.dart';
import '../view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
class PdfPagesOverview extends ConsumerWidget { class PdfPagesOverview extends ConsumerWidget {
const PdfPagesOverview({super.key}); const PdfPagesOverview({super.key});

View File

@ -10,9 +10,9 @@ import 'package:multi_split_view/multi_split_view.dart';
import '../../../../data/services/export_providers.dart'; import '../../../../data/services/export_providers.dart';
import 'package:image/image.dart' as img; import 'package:image/image.dart' as img;
import '../../signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '../view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '../../signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'draw_canvas.dart'; import 'draw_canvas.dart';
import 'pdf_toolbar.dart'; import 'pdf_toolbar.dart';
import 'pdf_page_area.dart'; import 'pdf_page_area.dart';

View File

@ -3,7 +3,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';
import '../view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
class PdfToolbar extends ConsumerStatefulWidget { class PdfToolbar extends ConsumerStatefulWidget {
const PdfToolbar({ const PdfToolbar({

View File

@ -5,8 +5,8 @@ import 'package:pdf_signature/l10n/app_localizations.dart';
import 'package:pdf_signature/data/model/model.dart' as model; import 'package:pdf_signature/data/model/model.dart' as model;
import '../../../../data/services/export_providers.dart'; import '../../../../data/services/export_providers.dart';
import '../../signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '../../signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'image_editor_dialog.dart'; import 'image_editor_dialog.dart';
import '../../signature/widgets/signature_card.dart'; import '../../signature/widgets/signature_card.dart';

View File

@ -5,9 +5,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';
import '../../../../data/model/model.dart'; import '../../../../data/model/model.dart';
import '../../signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '../view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '../../signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'image_editor_dialog.dart'; import 'image_editor_dialog.dart';
import '../../signature/widgets/rotated_signature_image.dart'; import '../../signature/widgets/rotated_signature_image.dart';

View File

@ -7,8 +7,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';
import '../../signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '../../pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
// Settings dialog is provided via global AppBar in MyApp // Settings dialog is provided via global AppBar in MyApp
// Abstraction to make drop handling testable without constructing // Abstraction to make drop handling testable without constructing

View File

@ -1,7 +1,7 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: a document is open with no signature placements placed /// Usage: a document is open with no signature placements placed

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: a document page is selected for signing /// Usage: a document page is selected for signing

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: a drawn signature exists in the canvas /// Usage: a drawn signature exists in the canvas

View File

@ -1,8 +1,8 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: a sample multi-page document (5 pages) is available /// Usage: a sample multi-page document (5 pages) is available

View File

@ -2,8 +2,8 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,9 +1,9 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -2,8 +2,8 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,7 +1,7 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,9 +1,9 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: a signature placement appears on the page based on the signature card /// Usage: a signature placement appears on the page based on the signature card

View File

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: adjusting one of the signature placements does not affect the others /// Usage: adjusting one of the signature placements does not affect the others

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: all placed signature placements appear on their corresponding pages in the output /// Usage: all placed signature placements appear on their corresponding pages in the output

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: an empty signature canvas /// Usage: an empty signature canvas

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: both signature placements are shown on their respective pages /// Usage: both signature placements are shown on their respective pages

View File

@ -1,7 +1,7 @@
import 'dart:ui'; import 'dart:ui';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: each signature placement can be dragged and resized independently /// Usage: each signature placement can be dragged and resized independently

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: identical signature instances appear in each location /// Usage: identical signature instances appear in each location

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: identical signature placements appear in each location /// Usage: identical signature placements appear in each location

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: multiple strokes were drawn /// Usage: multiple strokes were drawn

View File

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:image/image.dart' as img; import 'package:image/image.dart' as img;
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: near-white background becomes transparent in the preview /// Usage: near-white background becomes transparent in the preview

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: only the selected signature placement is removed /// Usage: only the selected signature placement is removed

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: page {5} becomes visible in the scroll area /// Usage: page {5} becomes visible in the scroll area

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: page {1} is displayed /// Usage: page {1} is displayed

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: resize to fit within bounding box /// Usage: resize to fit within bounding box

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: signature placement occurs on the selected page /// Usage: signature placement occurs on the selected page

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the app attempts to load the asset /// Usage: the app attempts to load the asset

View File

@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the asset is loaded and shown as a signature asset /// Usage: the asset is loaded and shown as a signature asset

View File

@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the asset is loaded and shown as a signature card /// Usage: the asset is loaded and shown as a signature card

View File

@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the asset is not added to the document /// Usage: the asset is not added to the document

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the canvas becomes blank /// Usage: the canvas becomes blank

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the document is open /// Usage: the document is open

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the first page is displayed /// Usage: the first page is displayed

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the Go to input cannot be used /// Usage: the Go to input cannot be used

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the last page is displayed (page {5}) /// Usage: the last page is displayed (page {5})

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the last stroke is removed /// Usage: the last stroke is removed

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the left pages overview highlights page {5} /// Usage: the left pages overview highlights page {5}

View File

@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the other signature placements remain unchanged /// Usage: the other signature placements remain unchanged

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the page label shows "Page {5} of {5}" /// Usage: the page label shows "Page {5} of {5}"

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the preview updates immediately /// Usage: the preview updates immediately

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the signature placement is stamped at the exact PDF page coordinates and size /// Usage: the signature placement is stamped at the exact PDF page coordinates and size

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the signature placement on page {5} is shown on page {5} /// Usage: the signature placement on page {5} is shown on page {5}

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the signature placement on page {2} remains /// Usage: the signature placement on page {2} remains

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the signature placement remains within the page area /// Usage: the signature placement remains within the page area

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the signature placement rotates around its center in real time /// Usage: the signature placement rotates around its center in real time

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the signature placements appear on the corresponding page in the output /// Usage: the signature placements appear on the corresponding page in the output

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the size and position update in real time /// Usage: the size and position update in real time

View File

@ -1,7 +1,7 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user attempts to save /// Usage: the user attempts to save

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user can apply or reset adjustments /// Usage: the user can apply or reset adjustments

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user can move to the next or previous page /// Usage: the user can move to the next or previous page

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user changes contrast and brightness controls /// Usage: the user changes contrast and brightness controls

View File

@ -1,7 +1,7 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user chooses a image file as a signature asset /// Usage: the user chooses a image file as a signature asset

View File

@ -1,7 +1,7 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user chooses a signature asset to created a signature card /// Usage: the user chooses a signature asset to created a signature card

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user chooses undo /// Usage: the user chooses undo

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user clears the canvas /// Usage: the user clears the canvas

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user clicks the Go to apply button /// Usage: the user clicks the Go to apply button

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user clicks the thumbnail for page {2} /// Usage: the user clicks the thumbnail for page {2}

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user deletes one selected signature placement /// Usage: the user deletes one selected signature placement

View File

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user drags handles to resize and drags to reposition /// Usage: the user drags handles to resize and drags to reposition

View File

@ -2,8 +2,8 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -2,8 +2,8 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,7 +1,7 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user draws strokes and confirms /// Usage: the user draws strokes and confirms

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user enables background removal /// Usage: the user enables background removal

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user enters {99} into the Go to input and applies it /// Usage: the user enters {99} into the Go to input and applies it

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user is notified of the issue /// Usage: the user is notified of the issue

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user jumps to page {2} /// Usage: the user jumps to page {2}

View File

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -2,8 +2,8 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,7 +1,7 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user places it in multiple locations in the document /// Usage: the user places it in multiple locations in the document

View File

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -1,8 +1,8 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user saves/exports the document /// Usage: the user saves/exports the document

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user selects "<file>" /// Usage: the user selects "<file>"

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user types {3} into the Go to input and presses Enter /// Usage: the user types {3} into the Go to input and presses Enter

View File

@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import '_world.dart'; import '_world.dart';
/// Usage: the user uses rotate controls /// Usage: the user uses rotate controls

View File

@ -2,9 +2,9 @@ import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_library.dart'; import 'package:pdf_signature/data/repositories/signature_library_repository.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/data/model/model.dart'; import 'package:pdf_signature/data/model/model.dart';
import '_world.dart'; import '_world.dart';

View File

@ -4,8 +4,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdf_signature/data/services/export_service.dart'; import 'package:pdf_signature/data/services/export_service.dart';
import 'package:pdf_signature/data/services/export_providers.dart'; import 'package:pdf_signature/data/services/export_providers.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/ui/features/pdf/widgets/pdf_screen.dart'; import 'package:pdf_signature/ui/features/pdf/widgets/pdf_screen.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';

View File

@ -5,8 +5,8 @@ import 'package:image/image.dart' as img;
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:pdf_signature/ui/features/pdf/widgets/pdf_screen.dart'; import 'package:pdf_signature/ui/features/pdf/widgets/pdf_screen.dart';
import 'package:pdf_signature/ui/features/signature/view_model/signature_controller.dart'; import 'package:pdf_signature/data/repositories/signature_repository.dart';
import 'package:pdf_signature/ui/features/pdf/view_model/pdf_controller.dart'; import 'package:pdf_signature/data/repositories/pdf_repository.dart';
import 'package:pdf_signature/data/services/export_providers.dart'; import 'package:pdf_signature/data/services/export_providers.dart';
import 'package:pdf_signature/l10n/app_localizations.dart'; import 'package:pdf_signature/l10n/app_localizations.dart';
// preferences_providers.dart no longer exports pageViewModeProvider // preferences_providers.dart no longer exports pageViewModeProvider

Some files were not shown because too many files have changed in this diff Show More