Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions example/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# 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

linter:
# 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.dev/lints.
#
# 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:
# 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
69 changes: 69 additions & 0 deletions example/main.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import 'dart:developer';

import 'package:chatview_models/chatview_models.dart';

void main() {
// Create sample users
const currentUser = ChatUser(
id: '1',
name: 'Flutter',
profilePhoto: Constants.profileImage,
);

log(currentUser.toString(), name: 'ChatView Models');

const otherUsers = [
ChatUser(
id: '2',
name: 'Simform',
profilePhoto: Constants.profileImage,
),
];

log(otherUsers.map((e) => e.toString()).toString(), name: 'ChatView Models');

// Create some initial messages
final messages = [
Message(
id: '1',
message: 'Hello!',
createdAt: DateTime.now().subtract(const Duration(minutes: 5)),
sentBy: '1',
status: MessageStatus.delivered,
),
Message(
id: '2',
message: 'Hi there!',
createdAt: DateTime.now().subtract(const Duration(minutes: 4)),
sentBy: '2',
status: MessageStatus.read,
),
];

log(messages.map((e) => e.toString()).toString(), name: 'ChatView Models');

// Demonstrate reaction
final reaction = Reaction(
reactedUserIds: [currentUser.id],
reactions: ['👍'],
);

log(reaction.toString(), name: 'ChatView Models');

// Demonstrate reply
final replyMessage = Message(
id: '4',
message: 'I am good!',
createdAt: DateTime.now(),
sentBy: currentUser.id,
status: MessageStatus.pending,
replyMessage: ReplyMessage(
message: 'How are you?',
messageId: '3',
messageType: MessageType.text,
replyTo: 'other_user_1',
replyBy: currentUser.id,
),
);
log(replyMessage.toString(), name: 'ChatView Models');
}
46 changes: 46 additions & 0 deletions example/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: example
description: "A new Flutter project."
# 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: '>=3.4.0 <4.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

chatview_models:
path: ..

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