fid_widgets 0.0.6

  • Readme
  • Changelog
  • Example
  • Installing
  • 56

fid_widgets #

Main library of FID - Flutter Israel Developers team. This library includes all of the other libraries that will be developed by team members. For contributing, read bellow

Screenshots #

one function call to google login-logout
one function call to google login-logout

save any module easly to firestore
save any module easly to firestore

create image from local|URL with shape
create image from local|URL with shape

Add any widget inside boarder with title
Add any widget inside boarder with title

run popups from any place in the app
run popups from any place in the app

How to Contribute to Exists/New Library? #

  1. Clone this project.
  2. Checkout to new branch with naming convention of: dev/<your-name>/fid-<library-name>.
  3. Develop your library under lib/src/fid-<lib-name>/<lib-dart-file>.dart. You can run the app, by adding using your library in the main function at: example/lib/main.dart.
  4. Add it to lib/fid_widgets.dart as: export 'src/fid-<lib-name>/<lib-dart-file>.dart';
  5. Fix the version number in ./pubspec.yaml file.
  6. Open CHANGELOG, and write your changes there.
  7. Open terminal and run:
> flutter pub publish --dry-run
Package has 0 warnings.
  1. If in 4 the output show 0 errors/warnings, run the following(and authenticated if needed):
> flutter packages pub publish
...
Successfully uploaded package.
  1. See the changes on pub.dev

[0.0.6] - add library ExpandableListView #

  • Easy way to create ExpandableListView.

[0.0.5] - add library Popup #

  • make pop up messages available through all app's screens, just add AppMessages.builder to you MaterialApp builder function and you can pop any widget.

[0.0.4] - add library Google sign in & Firestore document #

  • Google sign in - Library for easy login and logout for apps.
  • Firestore document - Library for easy saving data such as user profiles.

[0.0.3] - add library TitledBoarder #

  • Library to create input filed with boarder and title on it.

[0.0.2] - Fix readme #

  • Add explanation to readme.

[0.0.1] - First release with first library #

  • Adding first library for image with shape.

example/lib/main.dart

import 'package:example/google_login_app/google_login_app.dart';
import 'package:example/shaped_image_app/shaped_image_app.dart';
import 'package:example/titled_boarder_app/titled_boarder_app.dart';
import 'package:example/enum_picker_app/enum_picker_app.dart';
import 'package:fid_widgets/fid_widgets.dart';
import 'package:flutter/material.dart';
import 'package:example/expandable_list_app/expandable_list_app.dart';
import 'package:example/popup_app/popup_app.dart';

import 'firestore_document_app/firestore_document_app.dart';

// void main() => runApp(PopupApp());

// void main() => runApp(ShapedImageApp());

// void main() => runApp(TitledBoarderApp());

// void main() => runApp(EnumPickerApp());

/* 
 * Brief:
 *  Easy way to manage login & logout of users via google and firebase.  
 * 
 * Example Requierments:
 * - set android variable 'minSdkVersion' to:  "minSdkVersion 21" 
 * - register your app to firebase(click on android icon on your online firebase project).
 * - enable google login on your online firebase project.
 */
// void main() => runApp(GoogleLoginApp());

/* 
 * Brief:
 *  Easy way to save user profile data(or other data) on firestore backend.
 * 
 * Example Requierments:
 * - Create database on firestore.
 * - On Firestore, enable the access to database via 'rules' tab: "allow read,...: if true"
 */
//void main() => runApp(FirestoreDocumentApp());

/* 
 * Brief:
 *  Easy way to create ExpandableListView.
 */
void main() => runApp(ExpandableListViewApp());

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  fid_widgets: ^0.0.6

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:fid_widgets/fid_widgets.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
35
Health:
Code health derived from static analysis. [more]
94
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
50
Overall:
Weighted score of the above. [more]
56
Learn more about scoring.

We analyzed this package on Jul 13, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.4
  • pana: 0.13.15
  • Flutter: 1.17.5

Analysis suggestions

Package does not support Flutter platform Android

Because:

  • package:fid_widgets/fid_widgets.dart that imports:
  • package:fid_widgets/src/fid_shaped_image/shaped_image.dart that imports:
  • package:cached_network_image/cached_network_image.dart that imports:
  • package:cached_network_image/src/image_provider/cached_network_image_provider.dart that imports:
  • package:cached_network_image/src/image_provider/_image_provider_io.dart that imports:
  • package:flutter_cache_manager/flutter_cache_manager.dart that imports:
  • package:flutter_cache_manager/src/cache_manager.dart that imports:
  • package:path_provider/path_provider.dart that imports:
  • package:path_provider_linux/path_provider_linux.dart that declares support for platforms: Linux

Package does not support Flutter platform Linux

Because:

  • package:fid_widgets/fid_widgets.dart that imports:
  • package:fid_widgets/src/fid_firestore_document/firestore_document_lib.dart that imports:
  • package:fid_widgets/src/fid_firestore_document/modules/document_module.dart that imports:
  • package:cloud_firestore/cloud_firestore.dart that declares support for platforms: Android, iOS, macOS, Web

Package does not support Flutter platform Web

Because:

  • package:fid_widgets/fid_widgets.dart that imports:
  • package:fid_widgets/src/fid_shaped_image/shaped_image.dart that imports:
  • package:cached_network_image/cached_network_image.dart that imports:
  • package:cached_network_image/src/image_provider/cached_network_image_provider.dart that imports:
  • package:cached_network_image/src/image_provider/_image_provider_web.dart that imports:
  • package:flutter_cache_manager/flutter_cache_manager.dart that imports:
  • package:flutter_cache_manager/src/web/web_helper.dart that imports:
  • package:flutter_cache_manager/src/cache_store.dart that imports:
  • package:sqflite/sqflite.dart that declares support for platforms: Android, iOS, macOS

Package does not support Flutter platform Windows

Because:

  • package:fid_widgets/fid_widgets.dart that imports:
  • package:fid_widgets/src/fid_firestore_document/firestore_document_lib.dart that imports:
  • package:fid_widgets/src/fid_firestore_document/modules/document_module.dart that imports:
  • package:cloud_firestore/cloud_firestore.dart that declares support for platforms: Android, iOS, macOS, Web

Package does not support Flutter platform iOS

Because:

  • package:fid_widgets/fid_widgets.dart that imports:
  • package:fid_widgets/src/fid_shaped_image/shaped_image.dart that imports:
  • package:cached_network_image/cached_network_image.dart that imports:
  • package:cached_network_image/src/image_provider/cached_network_image_provider.dart that imports:
  • package:cached_network_image/src/image_provider/_image_provider_io.dart that imports:
  • package:flutter_cache_manager/flutter_cache_manager.dart that imports:
  • package:flutter_cache_manager/src/cache_manager.dart that imports:
  • package:path_provider/path_provider.dart that imports:
  • package:path_provider_linux/path_provider_linux.dart that declares support for platforms: Linux

Package does not support Flutter platform macOS

Because:

  • package:fid_widgets/fid_widgets.dart that imports:
  • package:fid_widgets/src/fid_google_login/google_login_lib.dart that imports:
  • package:fid_widgets/src/fid_google_login/firebase_easy_api/firebase_login_api.dart that imports:
  • package:google_sign_in/google_sign_in.dart that declares support for platforms: Android, iOS, Web

Package not compatible with SDK dart

Because:

  • fid_widgets that is a package requiring null.

Health suggestions

Fix lib/src/fid_expandable_list/expandable_list.dart. (-5.84 points)

Analysis of lib/src/fid_expandable_list/expandable_list.dart reported 12 hints, including:

line 11 col 13: Name non-constant identifiers using lowerCamelCase.

line 12 col 13: Name non-constant identifiers using lowerCamelCase.

line 13 col 13: Name non-constant identifiers using lowerCamelCase.

line 16 col 16: Name non-constant identifiers using lowerCamelCase.

line 20 col 22: Name non-constant identifiers using lowerCamelCase.

Fix lib/src/fid_enum_picker/enum_picker.dart. (-0.50 points)

Analysis of lib/src/fid_enum_picker/enum_picker.dart reported 1 hint:

line 12 col 25: Use ; instead of {} for empty constructor bodies.

Format lib/src/fid_firestore_document/firestore_document.dart.

Run flutter format to format lib/src/fid_firestore_document/firestore_document.dart.

Fix additional 4 files with analysis or formatting issues.

Additional issues in the following files:

  • lib/src/fid_firestore_document/firestore_document_lib.dart (Run flutter format to format lib/src/fid_firestore_document/firestore_document_lib.dart.)
  • lib/src/fid_google_login/firebase_easy_api/firebase_login_api.dart (Run flutter format to format lib/src/fid_google_login/firebase_easy_api/firebase_login_api.dart.)
  • lib/src/fid_shaped_image/shaped_image.dart (Run flutter format to format lib/src/fid_shaped_image/shaped_image.dart.)
  • lib/src/fid_titled_boarder/titled_boarder.dart (Run flutter format to format lib/src/fid_titled_boarder/titled_boarder.dart.)

Maintenance issues and suggestions

Make sure dartdoc successfully runs on your package's source files. (-10 points)

exitCode: 255 stdout: Documenting fid_widgets... stderr: Unhandled exception: NoSuchMethodError: The getter 'inheritanceManager' was called on null. Receiver: null Tried calling: inheritanceManager #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5) #1 Class._inheritedElements (package:dartdoc/src/model/class.dart:306:41) #2 Class.inheritedMethods (package:dartdoc/src/model/class.dart:159:37) #3 Class.instanceMethods (package:dartdoc/src/model/class.dart:61:45) #4 Container.allModelElements (package:dartdoc/src/model/container.dart:39:9) #5 Class.allModelElements (package:dartdoc/src/model/class.dart:75:17) #6 Library.modelElementsMap.

Support latest dependencies. (-10 points)

The version constraint in pubspec.yaml does not support the latest published versions for 1 dependency (firebase_auth).

The package description is too short. (-20 points)

Add more detail to the description field of pubspec.yaml. Use 60 to 180 characters to describe the package, what it does, and its target use case.

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
cached_network_image ^2.0.0 2.2.0+1 2.3.0-rc
cloud_firestore ^0.13.4+1 0.13.7 0.14.0-dev.1
firebase_auth ^0.15.2 0.15.5+3 0.16.1
flutter 0.0.0
google_sign_in ^4.1.0 4.5.1
Transitive dependencies
charcode 1.1.3
clock 1.0.1
cloud_firestore_platform_interface 1.1.2 2.0.0-dev.1
cloud_firestore_web 0.1.1+2 0.2.0-dev.1
collection 1.14.12 1.14.13
convert 2.1.1
crypto 2.1.5
file 5.2.1
firebase 7.3.0
firebase_auth_platform_interface 1.1.8
firebase_auth_web 0.1.3+1
firebase_core 0.4.5 0.5.0-dev.1
firebase_core_platform_interface 1.0.4 2.0.0-dev.1
firebase_core_web 0.1.1+2 0.2.0-dev.1
flutter_cache_manager 1.4.1
flutter_web_plugins 0.0.0
google_sign_in_platform_interface 1.1.2
google_sign_in_web 0.9.1+1
http 0.12.1
http_parser 3.1.4
intl 0.16.1
js 0.6.2
matcher 0.12.8
meta 1.1.8 1.2.2
path 1.7.0
path_provider 1.6.11
path_provider_linux 0.0.1+2
path_provider_macos 0.0.4+3
path_provider_platform_interface 1.0.2
pedantic 1.9.0 1.9.2
platform 2.2.1
plugin_platform_interface 1.0.2
process 3.0.13
quiver 2.1.3
rxdart 0.24.1
sky_engine 0.0.99
source_span 1.7.0
sqflite 1.3.1
sqflite_common 1.0.2+1
stack_trace 1.9.5
string_scanner 1.0.5
synchronized 2.2.0+1
term_glyph 1.1.0
typed_data 1.1.6 1.2.0
uuid 2.2.0
vector_math 2.0.8 2.1.0-nullsafety
xdg_directories 0.1.0
Dev dependencies
flutter_test