diff --git a/README.md b/README.md
index fd1ade4..7927fac 100644
--- a/README.md
+++ b/README.md
@@ -1,45 +1,46 @@

-**ESSE** (Encrypted Symmetrical Session Engine) An open source encrypted peer-to-peer system for data security, would allow data to be sent securely from one terminal to another without going through third-party services.
+**ESSE** (Encrypted Symmetrical Session Engine) An open source encrypted peer-to-peer system for data security, and allow data to be sent securely from one terminal to another without going through third-party services. Also provides data visualization and interactive entry. With a friendly interface for users, it transforms abstract data concepts into software that everyone can actually experience.
-**Your place, your rules.**
+Slogan: **My place, my rules.**

-ESSE, stands for Encrypted Symmetrical Session Engine, positioned as an engine. The engine is coded in [**Rust**](https://github.com/rust-lang/rust) language based on [**TDN**](https://github.com/cypherlink/TDN) framework, and the cross-platform user interface is built using [**Flutter**](https://github.com/flutter/flutter).
+ESSE, positioned as an engine. The engine is coded in [**Rust**](https://github.com/rust-lang/rust) language based on [**TDN**](https://github.com/cympletech/TDN) framework, and the cross-platform user interface is built using [**Flutter**](https://github.com/flutter/flutter).
## Features
-- Data Security Fortress
- Encryption Everywhere
- Distributed Identity
- Distributed Devices
- Distributed Notes & Files
- Distributed Storage & Synchronization
-- Built-in IM Application
-- Built-in Group Chat Application
-- Built-in Domain Application
-- Built-in Wallet Application (Support ETH/ERC20/ERC721)
-- Built-in Robot assistant Application
+- Built-in Chat with friend application
+- Built-in Group Chat application
+- Built-in Personal Domain application
+- Built-in Wallet application (Support ETH/ERC20/ERC721)
+- Built-in Robot assistant application
- Multi-identity System
- Multi-platform Support: Android, iOS, iPadOS, MacOS, Windows, Linux, etc.
[Screenshots](https://github.com/CympleTech/esse/wiki/Screenshots)
-## Usage
-### 1. Use Binary executable
+[Document](https://docs.cympletech.com/docs/introduction)
+
+## Install
+### Use pre-compiled executable
[Download](https://github.com/cympletech/esse/releases)
-### 2. Compile
-#### 2.1. Pre-installed
+### Compile from souce
+#### 1. Pre-installed
- Rustup [install](https://rustup.rs/)
- Rust (Lastest Stable version)
- Flutter (Lastest Stable channel)
-#### 2.2. Compile Rust code to dynamic link library (FFI)
-##### 2.2.1. Auto-compile script
+#### 2. Compile Rust code to dynamic link library (FFI)
+##### 2.1. Auto-compile script
It is recommended to use [rust.sh](./rust.sh) to auto-compile the Rust code
-##### 2.2.2. Manually compile
+##### 2.2. Manually compile
##### Linux / MacOS / Windows
- `cargo build --release`
@@ -71,7 +72,7 @@ It is recommended to use [rust.sh](./rust.sh) to auto-compile the Rust code
2. `cargo lipo --release`
3. `cp target/universal/release/libesse.a core/ios/share/libesse.a`
-#### 2.3. Run flutter to build binary
+#### 3. Run flutter to build binary
- Run `flutter run` or `flutter run --release` in terminal, or
- for Android, run `flutter build apk`, or
- for Linux, run `flutter build linux`, or
diff --git a/lib/apps/dao/detail.dart b/lib/apps/dao/detail.dart
index 568fd69..f340ce0 100644
--- a/lib/apps/dao/detail.dart
+++ b/lib/apps/dao/detail.dart
@@ -45,15 +45,14 @@ class _DaoDetailState extends State {
return Scaffold(
key: _scaffoldKey,
- drawer: _ChannelScreen(),
+ drawer: _ChannelScreen(padding: 20.0),
endDrawer: _MemberScreen(),
drawerScrimColor: const Color(0x26ADB0BB),
- drawerEnableOpenDragGesture: false,
appBar: AppBar(
automaticallyImplyLeading: false,
leading: reallyDesktop ? null : IconButton(icon: Icon(Icons.arrow_back),
onPressed: () => Navigator.pop(context)),
- title: Text('ESSE', maxLines: 1, overflow: TextOverflow.ellipsis),
+ title: Text('ESSE ' + lang.wip, maxLines: 1, overflow: TextOverflow.ellipsis),
bottom: isDesktop ? PreferredSize(
child: Container(color: const Color(0x40ADB0BB), height: 1.0),
preferredSize: Size.fromHeight(1.0)): null,
@@ -77,7 +76,7 @@ class _DaoDetailState extends State {
child: isDesktop
? Row(children: [
Expanded(child: _MainScreen()),
- _ChannelScreen(),
+ _ChannelScreen(padding: 5.0),
])
: _MainScreen()
)
@@ -170,13 +169,6 @@ class _MainScreenState extends State<_MainScreen> {
}
}
-class _ChannelScreen extends StatefulWidget {
- _ChannelScreen({Key? key}) : super(key: key);
-
- @override
- _ChannelScreenState createState() => _ChannelScreenState();
-}
-
class Channel {
String name = '';
bool public = true;
@@ -193,6 +185,14 @@ class Category {
Category(this.channels, this.name);
}
+class _ChannelScreen extends StatefulWidget {
+ final double padding;
+ _ChannelScreen({Key? key, required this.padding}) : super(key: key);
+
+ @override
+ _ChannelScreenState createState() => _ChannelScreenState();
+}
+
class _ChannelScreenState extends State<_ChannelScreen> {
List _categories = [
Category([Channel('general'), Channel('esse'), Channel('privary', false)], 'common'),
@@ -285,6 +285,7 @@ class _ChannelScreenState extends State<_ChannelScreen> {
return SafeArea(
child: Container(
width: 200.0,
+ padding: EdgeInsets.symmetric(vertical: widget.padding),
decoration: BoxDecoration(color: color.secondary),
child: ListView(
children: _categories.map((category) =>
@@ -324,6 +325,7 @@ class _MemberScreenState extends State<_MemberScreen> {
return SafeArea(
child: Container(
width: 200.0,
+ padding: const EdgeInsets.symmetric(vertical: 20.0),
decoration: BoxDecoration(color: color.secondary),
child: ListView(
children: [
diff --git a/lib/apps/service/models.dart b/lib/apps/service/models.dart
index 85dbc8e..71cc931 100644
--- a/lib/apps/service/models.dart
+++ b/lib/apps/service/models.dart
@@ -15,9 +15,9 @@ const List INNER_SERVICES = [
InnerService.Chat,
InnerService.GroupChat,
InnerService.Dao,
- InnerService.Jarvis,
InnerService.Domain,
InnerService.Cloud,
+ InnerService.Jarvis,
];
enum InnerService {