mirror of
https://github.com/Iconica-Development/flutter_chat.git
synced 2025-05-18 18:33:49 +02:00
feat: fix example and update melos configuration
This commit is contained in:
parent
77da686859
commit
65d3a0b6b3
11 changed files with 156 additions and 449 deletions
|
@ -13,11 +13,17 @@ scripts:
|
|||
description: Run all static analysis checks.
|
||||
|
||||
get:
|
||||
run: melos exec -c 1 -- "flutter pub get"
|
||||
run: |
|
||||
melos exec -c 1 -- "flutter pub get"
|
||||
melos exec --scope="*example*" -c 1 -- "flutter pub get"
|
||||
|
||||
upgrade:
|
||||
run: melos exec -c 1 -- "flutter pub upgrade"
|
||||
|
||||
create:
|
||||
# run create in the example folder of flutter_community_chat_view
|
||||
run: melos exec --scope="*example*" -c 1 -- "flutter create ."
|
||||
|
||||
analyze:
|
||||
run: |
|
||||
melos exec -c 1 -- \
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: flutter_community_chat
|
||||
description: A new Flutter package project.
|
||||
version: 0.0.1
|
||||
homepage:
|
||||
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
|
|
|
@ -52,4 +52,5 @@ ios
|
|||
web
|
||||
windows
|
||||
macos
|
||||
linux
|
||||
linux
|
||||
.metadata
|
|
@ -1,36 +0,0 @@
|
|||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled.
|
||||
|
||||
version:
|
||||
revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
channel: stable
|
||||
|
||||
project_type: app
|
||||
|
||||
# Tracks metadata for the flutter migrate command
|
||||
migration:
|
||||
platforms:
|
||||
- platform: root
|
||||
create_revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
base_revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
- platform: android
|
||||
create_revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
base_revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
- platform: ios
|
||||
create_revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
base_revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
- platform: web
|
||||
create_revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
base_revision: 18a827f3933c19f51862dde3fa472197683249d6
|
||||
|
||||
# User provided section
|
||||
|
||||
# List of Local paths (relative to this file) that should be
|
||||
# ignored by the migrate tool.
|
||||
#
|
||||
# Files that are not part of the templates will be ignored by default.
|
||||
unmanaged_files:
|
||||
- 'lib/main.dart'
|
||||
- 'ios/Runner.xcodeproj/project.pbxproj'
|
0
packages/flutter_community_chat_view/example/README.md
Normal file
0
packages/flutter_community_chat_view/example/README.md
Normal file
|
@ -1,218 +1,29 @@
|
|||
# SPDX-FileCopyrightText: 2022 Iconica
|
||||
# This file configures the analyzer, which statically analyzes Dart code to
|
||||
# check for errors, warnings, and lints.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
|
||||
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
|
||||
# invoked from the command line by running `flutter analyze`.
|
||||
|
||||
# The following line activates a set of recommended lints for Flutter apps,
|
||||
# packages, and plugins designed to encourage good coding practices.
|
||||
include: package:flutter_lints/flutter.yaml
|
||||
analyzer:
|
||||
errors:
|
||||
todo: ignore
|
||||
exclude: [lib/generated_plugin_registrant.dart]
|
||||
|
||||
linter:
|
||||
# https://dart.dev/tools/linter-rules#lints
|
||||
# The lint rules applied to this project can be customized in the
|
||||
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
|
||||
# included above or to enable additional rules. A list of all available lints
|
||||
# and their documentation is published at
|
||||
# https://dart-lang.github.io/linter/lints/index.html.
|
||||
#
|
||||
# Instead of disabling a lint rule for the entire project in the
|
||||
# section below, it can also be suppressed for a single line of code
|
||||
# or a specific dart file by using the `// ignore: name_of_lint` and
|
||||
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
|
||||
# producing the lint.
|
||||
rules:
|
||||
# error rules
|
||||
always_use_package_imports: false
|
||||
avoid_dynamic_calls: true
|
||||
avoid_empty_else: true
|
||||
avoid_print: true
|
||||
avoid_relative_lib_imports: true
|
||||
avoid_returning_null_for_future: true
|
||||
avoid_slow_async_io: true
|
||||
avoid_type_to_string: true
|
||||
avoid_types_as_parameter_names: true
|
||||
avoid_web_libraries_in_flutter: true
|
||||
cancel_subscriptions: true
|
||||
close_sinks: true
|
||||
comment_references: false
|
||||
control_flow_in_finally: true
|
||||
diagnostic_describe_all_properties: false
|
||||
empty_statements: true
|
||||
hash_and_equals: true
|
||||
invariant_booleans: true
|
||||
iterable_contains_unrelated_type: true
|
||||
list_remove_unrelated_type: true
|
||||
literal_only_boolean_expressions: true
|
||||
no_adjacent_strings_in_list: true
|
||||
no_duplicate_case_values: true
|
||||
no_logic_in_create_state: true
|
||||
prefer_relative_imports: false
|
||||
prefer_void_to_null: true
|
||||
test_types_in_equals: true
|
||||
throw_in_finally: true
|
||||
unnecessary_statements: true
|
||||
unrelated_type_equality_checks: true
|
||||
unsafe_html: true
|
||||
use_build_context_synchronously: true
|
||||
use_key_in_widget_constructors: true
|
||||
valid_regexps: true
|
||||
# style rules
|
||||
always_declare_return_types: true
|
||||
always_put_control_body_on_new_line: true
|
||||
always_put_required_named_parameters_first: true
|
||||
always_require_non_null_named_parameters: true
|
||||
always_specify_types: false
|
||||
annotate_overrides: true
|
||||
avoid_annotating_with_dynamic: false
|
||||
avoid_bool_literals_in_conditional_expressions: true
|
||||
avoid_catches_without_on_clauses: false
|
||||
avoid_catching_errors: false
|
||||
avoid_classes_with_only_static_members: true
|
||||
avoid_double_and_int_checks: true
|
||||
avoid_equals_and_hash_code_on_mutable_classes: false
|
||||
avoid_escaping_inner_quotes: false
|
||||
avoid_field_initializers_in_const_classes: true
|
||||
avoid_final_parameters: true
|
||||
avoid_function_literals_in_foreach_calls: true
|
||||
avoid_implementing_value_types: true
|
||||
avoid_init_to_null: true
|
||||
avoid_js_rounded_ints: true
|
||||
avoid_multiple_declarations_per_line: true
|
||||
avoid_null_checks_in_equality_operators: true
|
||||
avoid_positional_boolean_parameters: true
|
||||
avoid_private_typedef_functions: true
|
||||
avoid_redundant_argument_values: false
|
||||
avoid_renaming_method_parameters: true
|
||||
avoid_return_types_on_setters: true
|
||||
avoid_returning_null: true
|
||||
avoid_returning_null_for_void: true
|
||||
avoid_returning_this: true
|
||||
avoid_setters_without_getters: true
|
||||
avoid_shadowing_type_parameters: true
|
||||
avoid_single_cascade_in_expression_statements: true
|
||||
avoid_types_on_closure_parameters: false
|
||||
avoid_unnecessary_containers: false
|
||||
avoid_unused_constructor_parameters: true
|
||||
avoid_void_async: true
|
||||
await_only_futures: true
|
||||
camel_case_extensions: true
|
||||
camel_case_types: true
|
||||
cascade_invocations: true
|
||||
cast_nullable_to_non_nullable: true
|
||||
conditional_uri_does_not_exist: true
|
||||
constant_identifier_names: true
|
||||
curly_braces_in_flow_control_structures: true
|
||||
deprecated_consistency: true
|
||||
directives_ordering: true
|
||||
do_not_use_environment: true
|
||||
empty_catches: true
|
||||
empty_constructor_bodies: true
|
||||
eol_at_end_of_file: true
|
||||
exhaustive_cases: true
|
||||
file_names: true
|
||||
flutter_style_todos: true
|
||||
implementation_imports: true
|
||||
join_return_with_assignment: true
|
||||
leading_newlines_in_multiline_strings: true
|
||||
library_names: true
|
||||
library_prefixes: true
|
||||
library_private_types_in_public_api: true
|
||||
lines_longer_than_80_chars: true
|
||||
missing_whitespace_between_adjacent_strings: true
|
||||
no_default_cases: true
|
||||
no_leading_underscores_for_library_prefixes: true
|
||||
no_leading_underscores_for_local_identifiers: true
|
||||
no_runtimeType_toString: true
|
||||
non_constant_identifier_names: true
|
||||
noop_primitive_operations: true
|
||||
null_check_on_nullable_type_parameter: true
|
||||
null_closures: true
|
||||
omit_local_variable_types: true
|
||||
one_member_abstracts: true
|
||||
only_throw_errors: true
|
||||
overridden_fields: true
|
||||
package_api_docs: true
|
||||
package_prefixed_library_names: true
|
||||
parameter_assignments: true
|
||||
prefer_adjacent_string_concatenation: true
|
||||
prefer_asserts_in_initializer_lists: true
|
||||
prefer_asserts_with_message: true
|
||||
prefer_collection_literals: true
|
||||
prefer_conditional_assignment: true
|
||||
prefer_const_constructors: true
|
||||
prefer_const_constructors_in_immutables: true
|
||||
prefer_const_declarations: false
|
||||
prefer_const_literals_to_create_immutables: false
|
||||
prefer_constructors_over_static_methods: true
|
||||
prefer_contains: true
|
||||
prefer_double_quotes: false
|
||||
prefer_equal_for_default_values: true
|
||||
prefer_expression_function_bodies: false
|
||||
prefer_final_fields: true
|
||||
prefer_final_in_for_each: false
|
||||
prefer_final_locals: false
|
||||
prefer_final_parameters: false
|
||||
prefer_for_elements_to_map_fromIterable: true
|
||||
prefer_foreach: true
|
||||
prefer_function_declarations_over_variables: true
|
||||
prefer_generic_function_type_aliases: true
|
||||
prefer_if_elements_to_conditional_expressions: true
|
||||
prefer_if_null_operators: true
|
||||
prefer_initializing_formals: true
|
||||
prefer_inlined_adds: true
|
||||
prefer_int_literals: false
|
||||
prefer_interpolation_to_compose_strings: true
|
||||
prefer_is_empty: true
|
||||
prefer_is_not_empty: true
|
||||
prefer_is_not_operator: true
|
||||
prefer_iterable_whereType: true
|
||||
prefer_mixin: true
|
||||
prefer_null_aware_method_calls: true
|
||||
prefer_null_aware_operators: true
|
||||
prefer_single_quotes: true
|
||||
prefer_spread_collections: true
|
||||
prefer_typing_uninitialized_variables: true
|
||||
provide_deprecation_message: true
|
||||
public_member_api_docs: false
|
||||
recursive_getters: true
|
||||
require_trailing_commas: true
|
||||
sized_box_for_whitespace: true
|
||||
sized_box_shrink_expand: true
|
||||
slash_for_doc_comments: true
|
||||
sort_child_properties_last: true
|
||||
sort_constructors_first: true
|
||||
sort_unnamed_constructors_first: true
|
||||
tighten_type_of_initializing_formals: true
|
||||
type_annotate_public_apis: true
|
||||
type_init_formals: true
|
||||
unawaited_futures: true
|
||||
unnecessary_await_in_return: true
|
||||
unnecessary_brace_in_string_interps: true
|
||||
unnecessary_const: false
|
||||
unnecessary_constructor_name: true
|
||||
unnecessary_final: true
|
||||
unnecessary_getters_setters: true
|
||||
unnecessary_lambdas: true
|
||||
unnecessary_late: true
|
||||
unnecessary_new: true
|
||||
unnecessary_null_aware_assignments: true
|
||||
unnecessary_null_checks: true
|
||||
unnecessary_null_in_if_null_operators: true
|
||||
unnecessary_nullable_for_final_variable_declarations: true
|
||||
unnecessary_overrides: true
|
||||
unnecessary_parenthesis: true
|
||||
unnecessary_raw_strings: true
|
||||
unnecessary_string_escapes: true
|
||||
unnecessary_string_interpolations: true
|
||||
unnecessary_this: true
|
||||
use_decorated_box: true
|
||||
use_full_hex_values_for_flutter_colors: true
|
||||
use_function_type_syntax_for_parameters: true
|
||||
use_if_null_to_convert_nulls_to_bools: true
|
||||
use_is_even_rather_than_modulo: true
|
||||
use_late_for_private_fields_and_variables: true
|
||||
use_named_constants: true
|
||||
use_raw_strings: false
|
||||
use_rethrow_when_possible: true
|
||||
use_setters_to_change_properties: true
|
||||
use_string_buffers: true
|
||||
use_test_throws_matchers: true
|
||||
use_to_and_as_if_applicable: true
|
||||
void_checks: true
|
||||
# pub rules
|
||||
depend_on_referenced_packages: true
|
||||
lowercase_with_underscores: true
|
||||
secure_pubspec_urls: false
|
||||
sort_pub_dependencies: false
|
||||
# avoid_print: false # Uncomment to disable the `avoid_print` rule
|
||||
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
|
||||
|
||||
# Additional information about this file can be found at
|
||||
# https://dart.dev/guides/language/analysis-options
|
||||
|
|
|
@ -2,110 +2,119 @@
|
|||
//
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
// import 'dart:async';
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:flutter_community_chat_view/flutter_community_chat.dart';
|
||||
import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_community_chat_view/flutter_community_chat_view.dart';
|
||||
|
||||
// void main() {
|
||||
// runApp(const MaterialApp(home: MyStatefulWidget()));
|
||||
// }
|
||||
void main() {
|
||||
runApp(const MaterialApp(home: MyStatefulWidget()));
|
||||
}
|
||||
|
||||
// class MyStatefulWidget extends StatefulWidget {
|
||||
// const MyStatefulWidget({super.key});
|
||||
class MyStatefulWidget extends StatefulWidget {
|
||||
const MyStatefulWidget({super.key});
|
||||
|
||||
// @override
|
||||
// State<MyStatefulWidget> createState() => _MyStatefulWidgetState();
|
||||
// }
|
||||
@override
|
||||
State<MyStatefulWidget> createState() => _MyStatefulWidgetState();
|
||||
}
|
||||
|
||||
// class _MyStatefulWidgetState extends State<MyStatefulWidget> {
|
||||
// static final messages = [
|
||||
// ChatTextMessage(
|
||||
// sender: const ChatUser(
|
||||
// name: 'Piet Jansen',
|
||||
// image: 'https://xsgames.co/randomusers/avatar.php?g=female',
|
||||
// ),
|
||||
// text: 'Hoe gaat het?',
|
||||
// timestamp: DateTime.now(),
|
||||
// ),
|
||||
// ChatTextMessage(
|
||||
// sender: const ChatUser(
|
||||
// name: 'Jan Jansen',
|
||||
// image: 'https://xsgames.co/randomusers/avatar.php?g=male',
|
||||
// ),
|
||||
// text: 'Met mij gaat het goed, dankje!',
|
||||
// timestamp: DateTime.now(),
|
||||
// )
|
||||
// ];
|
||||
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
|
||||
static final messages = [
|
||||
ChatTextMessageModel(
|
||||
sender: ChatUserModel(
|
||||
firstName: 'Piet',
|
||||
lastName: 'Jansen',
|
||||
imageUrl: 'https://xsgames.co/randomusers/avatar.php?g=female',
|
||||
),
|
||||
text: 'Hoe gaat het?',
|
||||
timestamp: DateTime.now(),
|
||||
),
|
||||
ChatTextMessageModel(
|
||||
sender: ChatUserModel(
|
||||
firstName: 'Jan',
|
||||
lastName: 'Jansen',
|
||||
imageUrl: 'https://xsgames.co/randomusers/avatar.php?g=male',
|
||||
),
|
||||
text: 'Met mij gaat het goed, dankje!',
|
||||
timestamp: DateTime.now(),
|
||||
)
|
||||
];
|
||||
|
||||
// static final chat = Chat(
|
||||
// title: 'Sjoerd Sjagerars',
|
||||
// image: 'https://xsgames.co/randomusers/avatar.php?g=female',
|
||||
// messages: messages,
|
||||
// );
|
||||
static final chat = PersonalChatModel(
|
||||
user: ChatUserModel(
|
||||
firstName: 'Sjoerd',
|
||||
lastName: 'Sjagerars',
|
||||
imageUrl: 'https://xsgames.co/randomusers/avatar.php?g=female',
|
||||
),
|
||||
messages: messages,
|
||||
);
|
||||
|
||||
// Stream<List<Chat>> get chatStream => (() {
|
||||
// late StreamController<List<Chat>> controller;
|
||||
// controller = StreamController<List<Chat>>(
|
||||
// onListen: () {
|
||||
// controller.add([
|
||||
// chat,
|
||||
// chat,
|
||||
// chat,
|
||||
// ]);
|
||||
// },
|
||||
// );
|
||||
// return controller.stream;
|
||||
// })();
|
||||
Stream<List<PersonalChatModel>> get chatStream => (() {
|
||||
late StreamController<List<PersonalChatModel>> controller;
|
||||
controller = StreamController<List<PersonalChatModel>>(
|
||||
onListen: () {
|
||||
controller.add([
|
||||
chat,
|
||||
chat,
|
||||
chat,
|
||||
]);
|
||||
},
|
||||
);
|
||||
return controller.stream;
|
||||
})();
|
||||
|
||||
// Stream<List<ChatMessage>> get messageStream => (() {
|
||||
// late StreamController<List<ChatMessage>> controller;
|
||||
// controller = StreamController<List<ChatMessage>>(
|
||||
// onListen: () {
|
||||
// controller.add(
|
||||
// messages,
|
||||
// );
|
||||
Stream<List<ChatTextMessageModel>> get messageStream => (() {
|
||||
late StreamController<List<ChatTextMessageModel>> controller;
|
||||
controller = StreamController<List<ChatTextMessageModel>>(
|
||||
onListen: () {
|
||||
controller.add(
|
||||
messages,
|
||||
);
|
||||
|
||||
// Future.delayed(
|
||||
// const Duration(seconds: 5),
|
||||
// () => controller.add(
|
||||
// [
|
||||
// ...messages,
|
||||
// ...messages,
|
||||
// ],
|
||||
// ),
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
// return controller.stream;
|
||||
// })();
|
||||
Future.delayed(
|
||||
const Duration(seconds: 5),
|
||||
() => controller.add(
|
||||
[
|
||||
...messages,
|
||||
...messages,
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
return controller.stream;
|
||||
})();
|
||||
|
||||
// @override
|
||||
// Widget build(BuildContext context) => ChatScreen(
|
||||
// chats: chatStream,
|
||||
// chatOptions: ChatOptions(
|
||||
// pressChatHandler: (context, chatOptions, chat) =>
|
||||
// Navigator.of(context).push(
|
||||
// MaterialPageRoute(
|
||||
// builder: (context) => ChatDetailScreen(
|
||||
// chatOptions: chatOptions,
|
||||
// chat: chat,
|
||||
// chatMessages: messageStream,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// messageHandler: (chat, text) => Future.delayed(
|
||||
// const Duration(
|
||||
// milliseconds: 500,
|
||||
// ),
|
||||
// () => debugPrint('messageHandler with message: $text'),
|
||||
// ),
|
||||
// onPressSelectImage: (ChatModel chat) => Future.delayed(
|
||||
// const Duration(
|
||||
// milliseconds: 500,
|
||||
// ),
|
||||
// () => debugPrint('onPressSelectImage'),
|
||||
// ),
|
||||
// onPressStartChat: () => debugPrint('onPressStartChat'),
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var options = const ChatOptions();
|
||||
return ChatScreen(
|
||||
chats: chatStream,
|
||||
options: options,
|
||||
onPressChat: (chat) => Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ChatDetailScreen(
|
||||
chat: chat,
|
||||
chatMessages: messageStream,
|
||||
options: options,
|
||||
onMessageSubmit: (text) async {
|
||||
return Future.delayed(
|
||||
const Duration(
|
||||
milliseconds: 500,
|
||||
),
|
||||
() => debugPrint('onMessageSubmit'),
|
||||
);
|
||||
},
|
||||
onUploadImage: (image) async {},
|
||||
),
|
||||
),
|
||||
),
|
||||
onDeleteChat: (chat) => Future.delayed(
|
||||
const Duration(
|
||||
milliseconds: 500,
|
||||
),
|
||||
() => debugPrint('onDeleteChat'),
|
||||
),
|
||||
onPressStartChat: () => debugPrint('onPressStartChat'),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,93 +5,23 @@
|
|||
name: flutter_community_chat_view_example
|
||||
description: A standard flutter package.
|
||||
|
||||
# The following line prevents the package from being accidentally published to
|
||||
# pub.dev using `flutter pub publish`. This is preferred for private packages.
|
||||
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||
|
||||
# The following defines the version and build number for your application.
|
||||
# A version number is three numbers separated by dots, like 1.2.43
|
||||
# followed by an optional build number separated by a +.
|
||||
# Both the version and the builder number may be overridden in flutter
|
||||
# build by specifying --build-name and --build-number, respectively.
|
||||
# In Android, build-name is used as versionName while build-number used as versionCode.
|
||||
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
|
||||
# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion.
|
||||
# Read more about iOS versioning at
|
||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
# In Windows, build-name is used as the major, minor, and patch parts
|
||||
# of the product and file versions while build-number is used as the build suffix.
|
||||
version: 1.0.0+1
|
||||
|
||||
environment:
|
||||
sdk: '>=2.18.2 <3.0.0'
|
||||
|
||||
# Dependencies specify other packages that your package needs in order to work.
|
||||
# To automatically upgrade your package dependencies to the latest versions
|
||||
# consider running `flutter pub upgrade --major-versions`. Alternatively,
|
||||
# dependencies can be manually updated by changing the version numbers below to
|
||||
# the latest version available on pub.dev. To see which dependencies have newer
|
||||
# versions available, run `flutter pub outdated`.
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
|
||||
# The following adds the Cupertino Icons font to your application.
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
cupertino_icons: ^1.0.2
|
||||
flutter_community_chat_view:
|
||||
path: ..
|
||||
cupertino_icons: ^1.0.2
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
# The "flutter_lints" package below contains a set of recommended lints to
|
||||
# encourage good coding practices. The lint set provided by the package is
|
||||
# activated in the `analysis_options.yaml` file located at the root of your
|
||||
# package. See that file for information about deactivating specific lint
|
||||
# rules and activating additional ones.
|
||||
flutter_lints: ^2.0.0
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
|
||||
# The following section is specific to Flutter packages.
|
||||
flutter:
|
||||
|
||||
# The following line ensures that the Material Icons font is
|
||||
# included with your application, so that you can use the icons in
|
||||
# the material Icons class.
|
||||
uses-material-design: true
|
||||
|
||||
# To add assets to your application, add an assets section, like this:
|
||||
# assets:
|
||||
# - images/a_dot_burr.jpeg
|
||||
# - images/a_dot_ham.jpeg
|
||||
|
||||
# An image asset can refer to one or more resolution-specific "variants", see
|
||||
# https://flutter.dev/assets-and-images/#resolution-aware
|
||||
|
||||
# For details regarding adding assets from package dependencies, see
|
||||
# https://flutter.dev/assets-and-images/#from-packages
|
||||
|
||||
# To add custom fonts to your application, add a fonts section here,
|
||||
# in this "flutter" section. Each entry in this list should have a
|
||||
# "family" key with the font family name, and a "fonts" key with a
|
||||
# list giving the asset and other descriptors for the font. For
|
||||
# example:
|
||||
# fonts:
|
||||
# - family: Schyler
|
||||
# fonts:
|
||||
# - asset: fonts/Schyler-Regular.ttf
|
||||
# - asset: fonts/Schyler-Italic.ttf
|
||||
# style: italic
|
||||
# - family: Trajan Pro
|
||||
# fonts:
|
||||
# - asset: fonts/TrajanPro.ttf
|
||||
# - asset: fonts/TrajanPro_Bold.ttf
|
||||
# weight: 700
|
||||
#
|
||||
# For details regarding fonts from package dependencies,
|
||||
# see https://flutter.dev/custom-fonts/#from-packages
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
// This is a basic Flutter widget test.
|
||||
//
|
||||
// To perform an interaction with a widget in your test, use the WidgetTester
|
||||
// utility in the flutter_test package. For example, you can send tap and scroll
|
||||
// gestures. You can also use WidgetTester to find child widgets in the widget
|
||||
// tree, read text, and verify that the values of widget properties are correct.
|
||||
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
test('blank test', () {
|
||||
expect(true, isTrue);
|
||||
});
|
||||
}
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
library flutter_community_chat_view;
|
||||
|
||||
export 'package:flutter_community_chat_interface/flutter_community_chat_interface.dart';
|
||||
|
||||
export 'src/components/chat_row.dart';
|
||||
export 'src/config/chat_options.dart';
|
||||
export 'src/config/chat_translations.dart';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
name: flutter_community_chat_view
|
||||
description: A standard flutter package.
|
||||
version: 0.0.1
|
||||
homepage:
|
||||
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
|
@ -36,33 +36,3 @@ dev_dependencies:
|
|||
# The following section is specific to Flutter packages.
|
||||
flutter:
|
||||
|
||||
# To add assets to your package, add an assets section, like this:
|
||||
# assets:
|
||||
# - images/a_dot_burr.jpeg
|
||||
# - images/a_dot_ham.jpeg
|
||||
#
|
||||
# For details regarding assets in packages, see
|
||||
# https://flutter.dev/assets-and-images/#from-packages
|
||||
#
|
||||
# An image asset can refer to one or more resolution-specific "variants", see
|
||||
# https://flutter.dev/assets-and-images/#resolution-aware
|
||||
|
||||
# To add custom fonts to your package, add a fonts section here,
|
||||
# in this "flutter" section. Each entry in this list should have a
|
||||
# "family" key with the font family name, and a "fonts" key with a
|
||||
# list giving the asset and other descriptors for the font. For
|
||||
# example:
|
||||
# fonts:
|
||||
# - family: Schyler
|
||||
# fonts:
|
||||
# - asset: fonts/Schyler-Regular.ttf
|
||||
# - asset: fonts/Schyler-Italic.ttf
|
||||
# style: italic
|
||||
# - family: Trajan Pro
|
||||
# fonts:
|
||||
# - asset: fonts/TrajanPro.ttf
|
||||
# - asset: fonts/TrajanPro_Bold.ttf
|
||||
# weight: 700
|
||||
#
|
||||
# For details regarding fonts in packages, see
|
||||
# https://flutter.dev/custom-fonts/#from-packages
|
||||
|
|
Loading…
Reference in a new issue