diff --git a/analysis_options.yaml b/analysis_options.yaml index 42239ef8..be2ae913 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -19,7 +19,7 @@ linter: avoid_print: true prefer_single_quotes: true require_trailing_commas: true - directives_ordering: false +# directives_ordering: true prefer_const_constructors: true # Identify directories to ignore. @@ -28,3 +28,12 @@ analyzer: exclude: - ignore/** - ignore/ + +import_order: + project_name: solidui + groups: + - dart + - package:flutter + - package + - project + - relative \ No newline at end of file diff --git a/example/lib/app.dart b/example/lib/app.dart index 107b9353..a633f651 100644 --- a/example/lib/app.dart +++ b/example/lib/app.dart @@ -25,11 +25,11 @@ library; import 'package:flutter/material.dart'; -import 'package:solidui/solidui.dart'; - import 'package:demopod/app_scaffold.dart'; import 'package:demopod/constants/app.dart'; +import 'package:solidui/solidui.dart'; + class App extends StatelessWidget { const App({super.key}); diff --git a/example/lib/app_scaffold.dart b/example/lib/app_scaffold.dart index 7d930e86..3e82514d 100644 --- a/example/lib/app_scaffold.dart +++ b/example/lib/app_scaffold.dart @@ -25,11 +25,11 @@ library; import 'package:flutter/material.dart'; -import 'package:solidui/solidui.dart'; - import 'package:demopod/constants/app.dart'; import 'package:demopod/home.dart'; +import 'package:solidui/solidui.dart'; + const appScaffold = AppScaffold(); class AppScaffold extends StatelessWidget { diff --git a/example/lib/features/create_acl_inherited_file.dart b/example/lib/features/create_acl_inherited_file.dart index 84f1072d..4c837184 100644 --- a/example/lib/features/create_acl_inherited_file.dart +++ b/example/lib/features/create_acl_inherited_file.dart @@ -25,10 +25,10 @@ library; import 'package:flutter/material.dart'; +import 'package:demopod/constants/app.dart'; import 'package:solidpod/solidpod.dart' show writePod, setInheritKeyDir; -import 'package:solidui/solidui.dart' show SolidScaffold; -import 'package:demopod/constants/app.dart'; +import 'package:solidui/solidui.dart' show SolidScaffold; // A widget to create a resource with inherited ACL. // diff --git a/example/lib/features/edit_keyvalue.dart b/example/lib/features/edit_keyvalue.dart index 164a83d5..90676382 100644 --- a/example/lib/features/edit_keyvalue.dart +++ b/example/lib/features/edit_keyvalue.dart @@ -27,15 +27,15 @@ library; import 'package:flutter/material.dart'; +import 'package:demopod/constants/app.dart'; +import 'package:demopod/dialogs/alert.dart'; +import 'package:demopod/utils/rdf.dart'; import 'package:editable/editable.dart'; import 'package:solidpod/solidpod.dart' show isUserLoggedIn, writePod; + import 'package:solidui/solidui.dart' show SolidScaffold, getKeyFromUserIfRequired; -import 'package:demopod/constants/app.dart'; -import 'package:demopod/dialogs/alert.dart'; -import 'package:demopod/utils/rdf.dart'; - class KeyValueEdit extends StatefulWidget { /// Constructor const KeyValueEdit({ diff --git a/example/lib/features/file_service.dart b/example/lib/features/file_service.dart index 4aadbec6..40f68eb0 100644 --- a/example/lib/features/file_service.dart +++ b/example/lib/features/file_service.dart @@ -25,11 +25,11 @@ library; import 'package:flutter/material.dart'; +import 'package:demopod/dialogs/alert.dart'; import 'package:file_picker/file_picker.dart'; import 'package:solidpod/solidpod.dart'; -import 'package:solidui/solidui.dart' show SolidScaffold; -import 'package:demopod/dialogs/alert.dart'; +import 'package:solidui/solidui.dart' show SolidScaffold; class FileService extends StatefulWidget { const FileService({required this.child, required this.webId, super.key}); diff --git a/example/lib/features/multiple_resource_sharing.dart b/example/lib/features/multiple_resource_sharing.dart index c737ed45..13c8b5e0 100644 --- a/example/lib/features/multiple_resource_sharing.dart +++ b/example/lib/features/multiple_resource_sharing.dart @@ -26,6 +26,7 @@ library; import 'package:flutter/material.dart'; import 'package:solidpod/solidpod.dart'; + import 'package:solidui/solidui.dart' show GrantPermissionUi; /// A widget demonstrating sharing of multiple resources. diff --git a/example/lib/features/permission_callback_demo.dart b/example/lib/features/permission_callback_demo.dart index bc935b54..5c2be14f 100644 --- a/example/lib/features/permission_callback_demo.dart +++ b/example/lib/features/permission_callback_demo.dart @@ -26,6 +26,7 @@ library; import 'package:flutter/material.dart'; import 'package:solidpod/solidpod.dart'; + import 'package:solidui/solidui.dart' show GrantPermissionUi, SolidScaffold; /// A widget demonstrating the onPermissionGranted callback functionality. diff --git a/example/lib/features/read_acl_inherited_file.dart b/example/lib/features/read_acl_inherited_file.dart index b1f19c67..994b68bc 100644 --- a/example/lib/features/read_acl_inherited_file.dart +++ b/example/lib/features/read_acl_inherited_file.dart @@ -26,6 +26,7 @@ library; import 'package:flutter/material.dart'; import 'package:solidpod/solidpod.dart' show readPod; + import 'package:solidui/solidui.dart' show SolidScaffold; // A widget to create a resource with inherited ACL. diff --git a/example/lib/features/view_keys.dart b/example/lib/features/view_keys.dart index d178c4f1..5c5b3550 100644 --- a/example/lib/features/view_keys.dart +++ b/example/lib/features/view_keys.dart @@ -27,11 +27,11 @@ library; import 'package:flutter/material.dart'; -import 'package:solidpod/solidpod.dart' show KeyManager; -import 'package:solidui/solidui.dart' show SolidScaffold; - import 'package:demopod/constants/app.dart'; import 'package:demopod/utils/rdf.dart' show getEncKeyContent; +import 'package:solidpod/solidpod.dart' show KeyManager; + +import 'package:solidui/solidui.dart' show SolidScaffold; /// A widget to show the user all the encryption keys stored in their Solid Pod. diff --git a/example/lib/home.dart b/example/lib/home.dart index 59a8ae10..5795aaeb 100644 --- a/example/lib/home.dart +++ b/example/lib/home.dart @@ -32,9 +32,21 @@ library; import 'package:flutter/material.dart'; +import 'package:demopod/app.dart'; +import 'package:demopod/constants/app.dart'; +import 'package:demopod/dialogs/alert.dart'; +import 'package:demopod/features/create_acl_inherited_file.dart'; +import 'package:demopod/features/edit_keyvalue.dart'; +import 'package:demopod/features/file_service.dart'; +import 'package:demopod/features/multiple_resource_sharing.dart'; +import 'package:demopod/features/permission_callback_demo.dart'; +import 'package:demopod/features/read_acl_inherited_file.dart'; +import 'package:demopod/features/view_keys.dart'; +import 'package:demopod/utils/rdf.dart'; import 'package:intl/intl.dart'; import 'package:markdown_tooltip/markdown_tooltip.dart'; import 'package:solidpod/solidpod.dart'; + import 'package:solidui/solidui.dart' show GrantPermissionUi, @@ -49,18 +61,6 @@ import 'package:solidui/solidui.dart' smallGapV, solidLoginStatusNotifier; -import 'package:demopod/app.dart'; -import 'package:demopod/constants/app.dart'; -import 'package:demopod/dialogs/alert.dart'; -import 'package:demopod/features/create_acl_inherited_file.dart'; -import 'package:demopod/features/edit_keyvalue.dart'; -import 'package:demopod/features/file_service.dart'; -import 'package:demopod/features/multiple_resource_sharing.dart'; -import 'package:demopod/features/permission_callback_demo.dart'; -import 'package:demopod/features/read_acl_inherited_file.dart'; -import 'package:demopod/features/view_keys.dart'; -import 'package:demopod/utils/rdf.dart'; - /// A widget for the demonstration screen of the application. class Home extends StatefulWidget { diff --git a/example/lib/main.dart b/example/lib/main.dart index 02da3510..dcdae899 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -27,11 +27,11 @@ library; import 'package:flutter/material.dart'; -import 'package:solidui/solidui.dart'; -import 'package:window_manager/window_manager.dart'; - import 'package:demopod/app.dart'; import 'package:demopod/constants/app.dart'; +import 'package:window_manager/window_manager.dart'; + +import 'package:solidui/solidui.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); diff --git a/example/pubspec.yaml b/example/pubspec.yaml index b8083263..7ba02b56 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -14,13 +14,29 @@ dependencies: intl: any markdown_tooltip: ^0.0.10 rdflib: ^0.2.12 - solidpod: ^0.12.4 + solidpod: + git: + url: https://github.com/anusii/solidpod.git + ref: dev solidui: path: .. universal_io: ^2.3.1 window_manager: ^0.5.1 +dev_dependencies: + flutter_lints: ^6.0.0 + + flutter: uses-material-design: true assets: - assets/images/ + +import_order: + project_name: demopod + groups: + - dart + - package:flutter + - package + - project + - relative \ No newline at end of file diff --git a/lib/solidui.dart b/lib/solidui.dart index a12e233b..8716e5d2 100644 --- a/lib/solidui.dart +++ b/lib/solidui.dart @@ -29,128 +29,105 @@ library; export 'src/constants/about.dart'; +export 'src/constants/initial_setup.dart'; export 'src/constants/navigation.dart'; export 'src/constants/solid_config.dart'; export 'src/constants/ui.dart'; - export 'src/handlers/solid_auth_handler.dart'; - -export 'src/widgets/solid_nav_bar.dart'; -export 'src/widgets/solid_nav_drawer.dart'; -export 'src/widgets/solid_nav_models.dart'; - -export 'src/widgets/solid_scaffold.dart'; -export 'src/widgets/solid_scaffold_controller.dart'; -export 'src/widgets/solid_scaffold_helpers.dart' show SolidScaffoldHelpers; -export 'src/widgets/solid_scaffold_models.dart'; - -export 'src/widgets/solid_status_bar.dart'; -export 'src/widgets/solid_status_bar_models.dart'; -export 'src/widgets/solid_dynamic_login_status.dart'; -export 'src/widgets/solid_dynamic_auth_button.dart'; -export 'src/widgets/solid_default_login.dart'; - -export 'src/widgets/solid_login.dart'; -export 'src/widgets/solid_login_helper.dart'; -export 'src/widgets/solid_server_field.dart'; -export 'src/widgets/solid_popup_login.dart'; -export 'src/widgets/solid_login_webid_input_dialog.dart'; -export 'src/widgets/solid_logout_dialog.dart'; -export 'src/widgets/solid_loading_screen.dart'; -export 'src/widgets/solid_animation_dialog.dart'; - -export 'src/widgets/solid_theme_models.dart'; -export 'src/widgets/solid_theme_notifier.dart'; -export 'src/widgets/solid_theme_app.dart'; -export 'src/widgets/solid_theme.dart'; - -export 'src/widgets/solid_preferences_models.dart'; -export 'src/widgets/solid_preferences_notifier.dart'; -export 'src/widgets/solid_preferences_dialog.dart'; - -export 'src/widgets/solid_about_models.dart'; -export 'src/widgets/solid_about_button.dart'; - -export 'src/widgets/solid_invite_others_models.dart'; -export 'src/widgets/solid_invite_others.dart'; - -export 'src/widgets/solid_feedback_models.dart'; - -export 'src/widgets/solid_security_key_utils.dart'; -export 'src/widgets/solid_security_key_manager.dart'; -export 'src/widgets/solid_security_key_view.dart'; -export 'src/widgets/solid_security_key_central_manager.dart'; -export 'src/services/solid_security_key_service.dart'; -export 'src/services/solid_login_status_notifier.dart'; -export 'src/services/solid_security_key_notifier.dart'; - -export 'src/services/solid_profile_notifier.dart'; -export 'src/services/solid_profile_service.dart'; -export 'src/widgets/solid_profile_avatar.dart'; -export 'src/widgets/solid_profile_crop_dialog.dart'; -export 'src/widgets/solid_profile_editor.dart'; - -export 'src/widgets/secret_text_field.dart'; -export 'src/widgets/security_key_ui.dart'; -export 'src/widgets/change_key_dialog.dart'; - -export 'src/utils/snack_bar.dart'; - -export 'src/widgets/solid_file.dart'; -export 'src/widgets/solid_file_browser.dart'; -export 'src/widgets/solid_file_uploader.dart'; -export 'src/widgets/solid_file_upload_area.dart'; -export 'src/widgets/solid_file_upload_config.dart'; -export 'src/widgets/solid_file_upload_buttons.dart'; -export 'src/widgets/solid_file_preview_card.dart'; - +export 'src/models/data_format_config.dart'; export 'src/models/file_item.dart'; export 'src/models/file_sort_option.dart'; export 'src/models/file_state.dart'; -export 'src/models/data_format_config.dart'; export 'src/models/file_type_config.dart'; export 'src/models/snackbar_config.dart'; - +export 'src/screens/initial_setup_screen.dart'; +export 'src/screens/initial_setup_screen_body.dart'; +export 'src/screens/initial_setup_widgets/enc_key_input_form.dart'; +export 'src/screens/initial_setup_widgets/initial_setup_welcome.dart'; +export 'src/screens/initial_setup_widgets/res_create_form_submission.dart'; +export 'src/services/solid_login_status_notifier.dart'; +export 'src/services/solid_profile_notifier.dart'; +export 'src/services/solid_profile_service.dart'; +export 'src/services/solid_security_key_notifier.dart'; +export 'src/services/solid_security_key_service.dart'; export 'src/utils/file_operations.dart'; export 'src/utils/is_desktop.dart'; +export 'src/utils/is_phone.dart'; export 'src/utils/is_text_file.dart'; export 'src/utils/loading_dialog_controller.dart'; +export 'src/utils/snack_bar.dart'; +export 'src/utils/solid_alert.dart'; export 'src/utils/solid_file_operations.dart'; export 'src/utils/solid_file_operations_print.dart'; -export 'src/utils/is_phone.dart'; -export 'src/utils/solid_alert.dart'; export 'src/utils/solid_notifications.dart'; export 'src/utils/solid_pod_helpers.dart' show loginIfRequired, getKeyFromUserIfRequired; export 'src/utils/web_id_parser.dart'; - -export 'src/widgets/solid_format_info_card.dart'; - -export 'src/widgets/build_message_container.dart'; - export 'src/widgets/app_bar.dart'; +export 'src/widgets/build_message_container.dart'; +export 'src/widgets/change_key_dialog.dart'; export 'src/widgets/file_explorer.dart'; +export 'src/widgets/grant_permission_form.dart'; +export 'src/widgets/grant_permission_helpers_ui.dart'; +export 'src/widgets/grant_permission_ui.dart'; export 'src/widgets/group_webid_input.dart'; export 'src/widgets/ind_webid_input.dart'; export 'src/widgets/ind_webid_input_screen.dart'; export 'src/widgets/permission_checkbox.dart'; -export 'src/widgets/shared_resources_table.dart'; - -export 'src/widgets/grant_permission_ui.dart'; -export 'src/widgets/shared_resources_ui.dart'; +export 'src/widgets/permission_history.dart'; export 'src/widgets/permission_table.dart'; -export 'src/widgets/grant_permission_form.dart'; -export 'src/widgets/select_recipients.dart'; -export 'src/widgets/show_selected_recipients.dart'; export 'src/widgets/revoke_permission_button.dart'; +export 'src/widgets/secret_text_field.dart'; +export 'src/widgets/security_key_ui.dart'; +export 'src/widgets/select_recipients.dart'; export 'src/widgets/share_resource_button.dart'; - -export 'src/widgets/permission_history.dart'; -export 'src/widgets/grant_permission_helpers_ui.dart'; - -export 'src/constants/initial_setup.dart'; -export 'src/screens/initial_setup_screen.dart'; -export 'src/screens/initial_setup_screen_body.dart'; -export 'src/screens/initial_setup_widgets/enc_key_input_form.dart'; -export 'src/screens/initial_setup_widgets/initial_setup_welcome.dart'; -export 'src/screens/initial_setup_widgets/res_create_form_submission.dart'; +export 'src/widgets/shared_resources_table.dart'; +export 'src/widgets/shared_resources_ui.dart'; +export 'src/widgets/show_selected_recipients.dart'; +export 'src/widgets/solid_about_button.dart'; +export 'src/widgets/solid_about_models.dart'; +export 'src/widgets/solid_animation_dialog.dart'; +export 'src/widgets/solid_default_login.dart'; +export 'src/widgets/solid_dynamic_auth_button.dart'; +export 'src/widgets/solid_dynamic_login_status.dart'; +export 'src/widgets/solid_feedback_models.dart'; +export 'src/widgets/solid_file.dart'; +export 'src/widgets/solid_file_browser.dart'; +export 'src/widgets/solid_file_preview_card.dart'; +export 'src/widgets/solid_file_upload_area.dart'; +export 'src/widgets/solid_file_upload_buttons.dart'; +export 'src/widgets/solid_file_upload_config.dart'; +export 'src/widgets/solid_file_uploader.dart'; +export 'src/widgets/solid_format_info_card.dart'; +export 'src/widgets/solid_invite_others.dart'; +export 'src/widgets/solid_invite_others_models.dart'; +export 'src/widgets/solid_loading_screen.dart'; +export 'src/widgets/solid_login.dart'; +export 'src/widgets/solid_login_helper.dart'; +export 'src/widgets/solid_login_webid_input_dialog.dart'; +export 'src/widgets/solid_logout_dialog.dart'; +export 'src/widgets/solid_nav_bar.dart'; +export 'src/widgets/solid_nav_drawer.dart'; +export 'src/widgets/solid_nav_models.dart'; +export 'src/widgets/solid_popup_login.dart'; +export 'src/widgets/solid_preferences_dialog.dart'; +export 'src/widgets/solid_preferences_models.dart'; +export 'src/widgets/solid_preferences_notifier.dart'; +export 'src/widgets/solid_profile_avatar.dart'; +export 'src/widgets/solid_profile_crop_dialog.dart'; +export 'src/widgets/solid_profile_editor.dart'; +export 'src/widgets/solid_scaffold.dart'; +export 'src/widgets/solid_scaffold_controller.dart'; +export 'src/widgets/solid_scaffold_helpers.dart' show SolidScaffoldHelpers; +export 'src/widgets/solid_scaffold_models.dart'; +export 'src/widgets/solid_security_key_central_manager.dart'; +export 'src/widgets/solid_security_key_manager.dart'; +export 'src/widgets/solid_security_key_utils.dart'; +export 'src/widgets/solid_security_key_view.dart'; +export 'src/widgets/solid_server_field.dart'; +export 'src/widgets/solid_status_bar.dart'; +export 'src/widgets/solid_status_bar_models.dart'; +export 'src/widgets/solid_theme.dart'; +export 'src/widgets/solid_theme_app.dart'; +export 'src/widgets/solid_theme_models.dart'; +export 'src/widgets/solid_theme_notifier.dart'; diff --git a/lib/src/constants/ui.dart b/lib/src/constants/ui.dart index de7d9fff..f8cb4466 100644 --- a/lib/src/constants/ui.dart +++ b/lib/src/constants/ui.dart @@ -28,26 +28,21 @@ library; -// Window and list item size constants. - -export 'ui_window.dart'; - // Colour constants. export 'ui_colors.dart'; +// Common constants and helper functions. -// Text style constants. - -export 'ui_text_styles.dart'; - +export 'ui_common.dart'; // Layout constants. export 'ui_layout.dart'; - // String constants. export 'ui_strings.dart'; +// Text style constants. -// Common constants and helper functions. +export 'ui_text_styles.dart'; +// Window and list item size constants. -export 'ui_common.dart'; +export 'ui_window.dart'; diff --git a/lib/src/screens/initial_setup_widgets/res_create_form_submission.dart b/lib/src/screens/initial_setup_widgets/res_create_form_submission.dart index 1cb7df98..caec3fa6 100644 --- a/lib/src/screens/initial_setup_widgets/res_create_form_submission.dart +++ b/lib/src/screens/initial_setup_widgets/res_create_form_submission.dart @@ -113,7 +113,7 @@ ElevatedButton resCreateFormSubmission( // } // if (!keyVerifyFlag) { - // // ignore: use_build_context_synchronously + // // skip: use_build_context_synchronously // await showErrDialog(context, 'Wrong encode key. Please try again!'); // } else { // try { diff --git a/pubspec.yaml b/pubspec.yaml index 335ff148..c07c84fc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -31,7 +31,10 @@ dependencies: rdflib: ^0.2.12 share_plus: ^11.0.0 shared_preferences: ^2.5.4 - solidpod: ^0.12.4 + solidpod: + git: + url: https://github.com/anusii/solidpod.git + ref: dev universal_io: ^2.3.1 url_launcher: ^6.3.2 version_widget: ^1.0.10 @@ -44,3 +47,12 @@ flutter: uses-material-design: true assets: - assets/images/ + +import_order: + project_name: solidui + groups: + - dart + - package:flutter + - package + - project + - relative \ No newline at end of file