Skip to content

Commit

Permalink
1.1.0
Browse files Browse the repository at this point in the history
* update dependencies

* update README

* add youtube tutorial

* add emoji overview app example

* add emoji chat app example

* update CHANGELOG

* bump version to 1.1.0
  • Loading branch information
Nikoro committed Apr 17, 2024
1 parent 0a788da commit e4713bc
Show file tree
Hide file tree
Showing 276 changed files with 9,649 additions and 11 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## 1.1.0

- Updated dependencies
- Added 2 Flutter example apps:
- [Emoji Overview App Example](https://github.com/Nikoro/emoji_extension/tree/develop/flutter_examples/emoji_overview_app_example)
- [Emoji Chat App Example](https://github.com/Nikoro/emoji_extension/tree/develop/flutter_examples/emoji_chat_app_example)
- Created video tutorial on [YouTube](https://youtu.be/fLPVkksEpJw)

<p align="center">
<a href="https://youtu.be/fLPVkksEpJw"><img src="https://raw.githubusercontent.com/nikoro/emoji_extension/develop/images/youtube.webp" width="600"/></a>
</p>

## 1.0.0

**BREAKING CHANGES**:
Expand Down
54 changes: 50 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<a href="https://pub.dev/packages/emoji_extension"><img src="https://raw.githubusercontent.com/nikoro/emoji_extension/main/logo/logo.png" width="600"/></a>
<a href="https://pub.dev/packages/emoji_extension"><img src="https://raw.githubusercontent.com/nikoro/emoji_extension/main/images/logo.png" width="600"/></a>
</p>
<h2 align="center">
Emojis for Dart <a href="https://www.unicode.org/reports/tr51/">Unicode 15.1</a><br>
Expand All @@ -22,6 +22,9 @@ One, yet powerful <a href="#emojis-extension">emojis</a> String extension
<a href="https://www.unicode.org/reports/tr51/">
<img alt="Unicode 15.1" src="https://img.shields.io/badge/unicode-15.1-5555FF?logo=unicode&logoColor=white">
</a>
<a href="https://youtu.be/fLPVkksEpJw">
<img alt="YouTube Tutorial" src="https://tinyurl.com/2amvfxbu">
</a>
</p>

---
Expand Down Expand Up @@ -86,6 +89,11 @@ Emoji('😃').hasFace; // true
... // and many more
```
## [Tutorial](https://youtu.be/fLPVkksEpJw)

<p align="center">
<a href="https://youtu.be/fLPVkksEpJw"><img src="https://raw.githubusercontent.com/nikoro/emoji_extension/main/images/youtube.webp" width="600"/></a>
</p>

## Table of contents

Expand Down Expand Up @@ -652,7 +660,7 @@ Emojis.animalBird; // [Emoji(value: 🦃, ...), Emoji(value: 🐔, ...), ...]

```dart
Emojis.byVersion(Version.v6_0); // [Emoji(value: 😃, ...), Emoji(value: 😄, ...), ...]
Emojis.byVersion(Version.v15_0 // [Emoji(value: 🫨, ...), Emoji(value: 🩷, ...), ...]
Emojis.byVersion(Version.v15_0); // [Emoji(value: 🫨, ...), Emoji(value: 🩷, ...), ...]
//or use convenient getters:
Emojis.v6_0; // [Emoji(value: 😃, ...), Emoji(value: 😄, ...), ...]
Expand Down Expand Up @@ -704,8 +712,8 @@ Emojis.hairStyles // [HairStyle.blond, HairStyle.red, HairStyle.curly, ...]
.fourth // HairStyle.white
.fifth // HairStyle.bald
.sixthOrNull // null
.penultimate // HairStyle.grey
.last // HairStyle.white
.penultimate // HairStyle.white
.last // HairStyle.bald
.values // [1F471, 1F9B0, 1F9B1, 1F9B3, 1F9B2]
.first // 1F471
.second // 1F9B0
Expand Down Expand Up @@ -873,11 +881,28 @@ Emoji('🦊')
.discordShortcodes // [:fox:, :fox_face:]
.first // :fox:
.second // :fox_face:
.version // Version.v9_0
.value // 9.0
.isAnimal // true
.isFlag // false
.isFlower // false
.isFruit // false
.isGeometric // false
.isMan // false
.isWoman // false
.isVegetable // false
.isPerson // false
.isMultiPerson // false
.isSymbol // false
.isV9_0 // true
.hasBeard // false
.hasFace // true
.hasHairStyle // false
.hasSkinTone // false
.hasColor // false
.color // null
.skinTone // null
.hairStyle // null
```
<div align="center"><a href="#table-of-contents">↑ Table of contents ↑</a></div>

Expand Down Expand Up @@ -2108,3 +2133,24 @@ onNonMatch: (s) => s.toUpperCase(),
'🤦🏾‍♀️text😀text🤦🏻‍♀️'.emojis.whereNotIndexed((i, e) => i == 0 && e.name.contains('Woman')); // [Emoji(value: 😀, ...), Emoji(value: 🤦🏻‍♀️, ...)]
```
<div align="center"><a href="#table-of-contents">↑ Table of contents ↑</a></div>

<h2 align="center"><a href="https://github.com/Nikoro/emoji_extension/tree/main/flutter_examples">Example Flutter Apps</a></h2>

<table align="center">
<tr>
<td align="center">
<a href="https://github.com/Nikoro/emoji_extension/tree/main/flutter_examples/emoji_overview_app_example">Emoji Overview App Example</a></br></br>
<a href="https://github.com/Nikoro/emoji_extension/tree/main/flutter_examples/emoji_overview_app_example">
<img src="https://raw.githubusercontent.com/nikoro/emoji_extension/main/flutter_examples/emoji_overview_app_example/demo.gif" alt="Emoji overview app demo GIF" width="300"/>
</a>
</td>
<td align="center">
<a href="https://github.com/Nikoro/emoji_extension/tree/main/flutter_examples/emoji_chat_app_example">Emoji Chat App Example</a></br></br>
<a href="https://github.com/Nikoro/emoji_extension/tree/main/flutter_examples/emoji_chat_app_example">
<img src="https://raw.githubusercontent.com/nikoro/emoji_extension/main/flutter_examples/emoji_chat_app_example/demo.gif" alt="Emoji chat app demo GIF" width="300"/>
</a>
</td>
</tr>
</table>

<div align="center"><a href="#table-of-contents">↑ Table of contents ↑</a></div>
4 changes: 3 additions & 1 deletion analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
include: package:flutter_lints/flutter.yaml

analyzer:
exclude: [example/**]
exclude:
- example/**
- flutter_examples/**

linter:
rules:
Expand Down
4 changes: 2 additions & 2 deletions example/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# emoji_extensions_example
# emoji_extension_example

Demonstrates how to use the emoji_extensions package.
Demonstrates how to use the emoji_extension package.
2 changes: 1 addition & 1 deletion example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ packages:
path: ".."
relative: true
source: path
version: "1.0.0"
version: "1.1.0"
sdks:
dart: ">=2.19.6 <4.0.0"
43 changes: 43 additions & 0 deletions flutter_examples/emoji_chat_app_example/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
migrate_working_dir/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/

# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.pub-cache/
.pub/
/build/

# Symbolication related
app.*.symbols

# Obfuscation related
app.*.map.json

# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
45 changes: 45 additions & 0 deletions flutter_examples/emoji_chat_app_example/.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 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 and should not be manually edited.

version:
revision: "300451adae589accbece3490f4396f10bdf15e6e"
channel: "stable"

project_type: app

# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: android
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: ios
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: linux
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: macos
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: web
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: windows
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e

# 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'
16 changes: 16 additions & 0 deletions flutter_examples/emoji_chat_app_example/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Emoji Chat App Example
<img align="right" src="https://raw.githubusercontent.com/nikoro/emoji_extension/main/flutter_examples/emoji_chat_app_example/demo.gif" alt="A demo illustrating the UI of the app" width="288" height="624" style="display: inline; float: right"/>

The Emoji Chat App Example is a Flutter application showcasing the integration of the
[emoji_extension](https://pub.dev/packages/emoji_extension) package to create a basic chat screen resembling popular messenger apps.

Run the below command in the terminal to start the app:
```shell script
flutter run
```

<h2 align="center"><a href="https://youtu.be/fLPVkksEpJw">Tutorial</a></h2>

<p align="center">
<a href="https://youtu.be/fLPVkksEpJw"><img src="https://raw.githubusercontent.com/nikoro/emoji_extension/main/images/youtube.webp" width="600"/></a>
</p>
28 changes: 28 additions & 0 deletions flutter_examples/emoji_chat_app_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
13 changes: 13 additions & 0 deletions flutter_examples/emoji_chat_app_example/android/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java

# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
**/*.keystore
**/*.jks
67 changes: 67 additions & 0 deletions flutter_examples/emoji_chat_app_example/android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
plugins {
id "com.android.application"
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}

android {
namespace "com.example.emoji_chat_app_example"
compileSdk flutter.compileSdkVersion
ndkVersion flutter.ndkVersion

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

kotlinOptions {
jvmTarget = '1.8'
}

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.emoji_chat_app_example"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}

buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}

flutter {
source '../..'
}

dependencies {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
Loading

0 comments on commit e4713bc

Please sign in to comment.