first commit
6
.buckconfig
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
[android]
|
||||
target = Google Inc.:Google APIs:23
|
||||
|
||||
[maven_repositories]
|
||||
central = https://repo1.maven.org/maven2
|
4
.eslintrc.js
Normal file
@@ -0,0 +1,4 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
extends: '@react-native-community',
|
||||
};
|
73
.flowconfig
Normal file
@@ -0,0 +1,73 @@
|
||||
[ignore]
|
||||
; We fork some components by platform
|
||||
.*/*[.]android.js
|
||||
|
||||
; Ignore "BUCK" generated dirs
|
||||
<PROJECT_ROOT>/\.buckd/
|
||||
|
||||
; Ignore polyfills
|
||||
node_modules/react-native/Libraries/polyfills/.*
|
||||
|
||||
; These should not be required directly
|
||||
; require from fbjs/lib instead: require('fbjs/lib/warning')
|
||||
node_modules/warning/.*
|
||||
|
||||
; Flow doesn't support platforms
|
||||
.*/Libraries/Utilities/LoadingView.js
|
||||
|
||||
[untyped]
|
||||
.*/node_modules/@react-native-community/cli/.*/.*
|
||||
|
||||
[include]
|
||||
|
||||
[libs]
|
||||
node_modules/react-native/interface.js
|
||||
node_modules/react-native/flow/
|
||||
|
||||
[options]
|
||||
emoji=true
|
||||
|
||||
esproposal.optional_chaining=enable
|
||||
esproposal.nullish_coalescing=enable
|
||||
|
||||
module.file_ext=.js
|
||||
module.file_ext=.json
|
||||
module.file_ext=.ios.js
|
||||
|
||||
munge_underscores=true
|
||||
|
||||
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
|
||||
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
|
||||
|
||||
suppress_type=$FlowIssue
|
||||
suppress_type=$FlowFixMe
|
||||
suppress_type=$FlowFixMeProps
|
||||
suppress_type=$FlowFixMeState
|
||||
|
||||
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
|
||||
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
|
||||
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
|
||||
|
||||
[lints]
|
||||
sketchy-null-number=warn
|
||||
sketchy-null-mixed=warn
|
||||
sketchy-number=warn
|
||||
untyped-type-import=warn
|
||||
nonstrict-import=warn
|
||||
deprecated-type=warn
|
||||
unsafe-getters-setters=warn
|
||||
unnecessary-invariant=warn
|
||||
signature-verification-failure=warn
|
||||
deprecated-utility=error
|
||||
|
||||
[strict]
|
||||
deprecated-type
|
||||
nonstrict-import
|
||||
sketchy-null
|
||||
unclear-type
|
||||
unsafe-getters-setters
|
||||
untyped-import
|
||||
untyped-type-import
|
||||
|
||||
[version]
|
||||
^0.122.0
|
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.pbxproj -text
|
59
.gitignore
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
# OSX
|
||||
#
|
||||
.DS_Store
|
||||
|
||||
# Xcode
|
||||
#
|
||||
build/
|
||||
*.pbxuser
|
||||
!default.pbxuser
|
||||
*.mode1v3
|
||||
!default.mode1v3
|
||||
*.mode2v3
|
||||
!default.mode2v3
|
||||
*.perspectivev3
|
||||
!default.perspectivev3
|
||||
xcuserdata
|
||||
*.xccheckout
|
||||
*.moved-aside
|
||||
DerivedData
|
||||
*.hmap
|
||||
*.ipa
|
||||
*.xcuserstate
|
||||
|
||||
# Android/IntelliJ
|
||||
#
|
||||
build/
|
||||
.idea
|
||||
.gradle
|
||||
local.properties
|
||||
*.iml
|
||||
|
||||
# node.js
|
||||
#
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
|
||||
# BUCK
|
||||
buck-out/
|
||||
\.buckd/
|
||||
*.keystore
|
||||
!debug.keystore
|
||||
|
||||
# fastlane
|
||||
#
|
||||
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
||||
# screenshots whenever they are needed.
|
||||
# For more information about the recommended setup visit:
|
||||
# https://docs.fastlane.tools/best-practices/source-control/
|
||||
|
||||
*/fastlane/report.xml
|
||||
*/fastlane/Preview.html
|
||||
*/fastlane/screenshots
|
||||
|
||||
# Bundle artifact
|
||||
*.jsbundle
|
||||
|
||||
# CocoaPods
|
||||
/ios/Pods/
|
6
.prettierrc.js
Normal file
@@ -0,0 +1,6 @@
|
||||
module.exports = {
|
||||
bracketSpacing: false,
|
||||
jsxBracketSameLine: true,
|
||||
singleQuote: true,
|
||||
trailingComma: 'all',
|
||||
};
|
1
.watchmanconfig
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
254
App.js
Normal file
@@ -0,0 +1,254 @@
|
||||
//ios Certificates key : rentchatYs962816
|
||||
|
||||
// twilio
|
||||
// FRIENDLY NAME : rentchat
|
||||
// SID : SKd9452f332bc79084af9b03b8098c18cd
|
||||
// KEY TYPE : Standard
|
||||
// SECRET : ImrUyVKfoQqGxC7xuBbhCcIfCePBIlU0
|
||||
import React, {Component} from 'react';
|
||||
import {StatusBar, Platform, Text, TextInput} from 'react-native';
|
||||
import {
|
||||
SafeAreaView,
|
||||
createStackNavigator,
|
||||
createAppContainer,
|
||||
} from 'react-navigation';
|
||||
import Router from './src/router';
|
||||
import JMessage from 'jmessage-react-plugin';
|
||||
import {colors} from './src/assets/styles/colors-theme';
|
||||
import {handleNavigationChange} from './src/common/history';
|
||||
import LoadingView from './src/common/loading';
|
||||
import {Provider, observer} from 'mobx-react';
|
||||
import NavigationService from './src/services/NavigationService';
|
||||
import JPush from 'jpush-react-native';
|
||||
import stores from './src/store';
|
||||
import {
|
||||
checkNotifications,
|
||||
requestNotifications,
|
||||
} from 'react-native-permissions';
|
||||
//import * as stores from './src/stores/index';
|
||||
import {handleErrors} from './src/common/global-error-handler';
|
||||
import Event from './src/common/event';
|
||||
import PushService from './src/common/PushService';
|
||||
import NotifService from './src/common/NotifService';
|
||||
|
||||
@observer
|
||||
export default class App extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
Text.defaultProps = Text.defaultProps || {};
|
||||
TextInput.defaultProps = TextInput.defaultProps || {};
|
||||
// Ignore dynamic type scaling on iOS
|
||||
Text.defaultProps.allowFontScaling = false;
|
||||
TextInput.defaultProps.allowFontScaling = false;
|
||||
this.timer = null;
|
||||
this.state = {
|
||||
loadingCount: 0,
|
||||
};
|
||||
//this.notif = new NotifService(this.onRegister.bind(this));
|
||||
// require('promise/setimmediate/rejection-tracking').enable({
|
||||
// allRejections: true,
|
||||
// onUnhandled: (id, error) => {
|
||||
// handleErrors(error);
|
||||
// }
|
||||
// })
|
||||
|
||||
// this._handleGlobalError = this.handleGlobalError.bind(this)
|
||||
// this._handleShowLoading = this.handleShowLoading.bind(this)
|
||||
// this._handleHideLoading = this.handleHideLoading.bind(this)
|
||||
}
|
||||
|
||||
checkPermission() {
|
||||
checkNotifications().then(({status, settings}) => {
|
||||
console.log(status);
|
||||
if (status == 'DENIED') {
|
||||
this.requestNotifications();
|
||||
}
|
||||
});
|
||||
}
|
||||
requestNotifications() {
|
||||
requestNotifications([
|
||||
'alert',
|
||||
'sound',
|
||||
'badge',
|
||||
]).then(({status, settings}) => {});
|
||||
}
|
||||
|
||||
async componentWillMount() {}
|
||||
|
||||
notificationClickAction(data) {
|
||||
console.log(data);
|
||||
if (data.hasOwnProperty('extras')) {
|
||||
console.log('oh...');
|
||||
if (data.extras.hasOwnProperty('_j_type')) {
|
||||
if (data.extras._j_type == 'jmessage') {
|
||||
if (data.notificationEventType == 'notificationOpened') {
|
||||
console.log(data.extras.custom.id);
|
||||
console.log(data.extras.custom.type);
|
||||
console.log(data.extras.custom.nickname);
|
||||
if (data.extras.custom.type == 'group') {
|
||||
var data = {
|
||||
id: data.extras.custom.id,
|
||||
type: 'group',
|
||||
nickname: 'Helper',
|
||||
};
|
||||
try {
|
||||
NavigationService.navigate('chat', {conversation: data});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
} else {
|
||||
var data = {
|
||||
username: data.extras.custom.id,
|
||||
type: 'single',
|
||||
nickname: data.extras.custom.nickname,
|
||||
};
|
||||
try {
|
||||
NavigationService.navigate('chat', {conversation: data});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async componentDidMount() {
|
||||
await this.checkPermission();
|
||||
var params = {
|
||||
appkey: '89d24c00f8f896623e0bccef',
|
||||
isOpenMessageRoaming: false,
|
||||
isProduction: true,
|
||||
channel: '',
|
||||
};
|
||||
await JMessage.init(params);
|
||||
await JPush.init();
|
||||
JMessage.getUserInfo(
|
||||
{
|
||||
username: '4dbc5b294f184772a043573d7ad9b8c8',
|
||||
appKey: '89d24c00f8f896623e0bccef',
|
||||
},
|
||||
userInfo => {
|
||||
// do something.
|
||||
console.log(userInfo);
|
||||
},
|
||||
error => {
|
||||
var code = error.code;
|
||||
var desc = error.description;
|
||||
},
|
||||
);
|
||||
JMessage.setDebugMode({enable: false});
|
||||
JMessage.setBadge(0, success => {});
|
||||
JMessage.getMyInfo(myInfo => {
|
||||
if (myInfo.username) {
|
||||
} else {
|
||||
console.log(myInfo);
|
||||
}
|
||||
});
|
||||
JMessage.addSyncOfflineMessageListener(message => {
|
||||
console.log(
|
||||
'| JIGUANG |===addSyncOfflineMessageListener====' +
|
||||
JSON.stringify(message),
|
||||
);
|
||||
});
|
||||
|
||||
this.connectListener = result => {
|
||||
console.log('connectListener:' + JSON.stringify(result));
|
||||
};
|
||||
|
||||
JPush.addNotificationListener(result => {
|
||||
console.log(`notificationListener: ${JSON.stringify(result)}`);
|
||||
this.notificationClickAction(result);
|
||||
});
|
||||
JPush.addCustomMessagegListener(result => {
|
||||
console.log(`customMessageListener: ${JSON.stringify(result)}`);
|
||||
});
|
||||
//PushService.configure()
|
||||
// 监听全局报错
|
||||
// Event.listen('GLOBAL_ERROR', this._handleGlobalError, this)
|
||||
|
||||
// 显示加载动画
|
||||
// Event.listen('SHOW_LOADING', this._handleShowLoading, this)
|
||||
|
||||
// 隐藏加载动画
|
||||
// Event.listen('HIDE_LOADING', this._handleHideLoading, this)
|
||||
}
|
||||
|
||||
//组件卸载之前移除监听
|
||||
componentWillUnmount() {
|
||||
// Event.remove('GLOBAL_ERROR', this)
|
||||
//Event.remove('SHOW_LOADING', this)
|
||||
// Event.remove('HIDE_LOADING', this)
|
||||
// JPush.removeListener(result => {
|
||||
// console.log(`remove listener: ${JSON.stringify(result)}`);
|
||||
// });
|
||||
}
|
||||
|
||||
onRegister(token) {
|
||||
console.log(token);
|
||||
}
|
||||
|
||||
onNotif(notif) {
|
||||
console.log(notif);
|
||||
}
|
||||
render() {
|
||||
return (
|
||||
<Provider {...stores}>
|
||||
<SafeAreaView
|
||||
style={{flex: 1, backgroundColor: colors.mainColor}}
|
||||
forceInset={{
|
||||
top: 'always',
|
||||
bottom: 'always',
|
||||
}}>
|
||||
<StatusBar
|
||||
animated={true}
|
||||
barStyle={'light-content'}
|
||||
backgroundColor={colors.mainColor}
|
||||
translucent={true}
|
||||
/>
|
||||
<Router
|
||||
onNavigationStateChange={handleNavigationChange}
|
||||
ref={navigatorRef => {
|
||||
NavigationService.setTopLevelNavigator(navigatorRef);
|
||||
}}
|
||||
/>
|
||||
<LoadingView visible={this.state.loadingCount > 0} />
|
||||
</SafeAreaView>
|
||||
</Provider>
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* showLoading
|
||||
*/
|
||||
handleShowLoading() {
|
||||
if (this.timer) {
|
||||
clearTimeout(this.timer);
|
||||
}
|
||||
|
||||
this.timer = setTimeout(() => {
|
||||
this.setState({
|
||||
loadingCount: this.state.loadingCount + 1,
|
||||
});
|
||||
}, 50);
|
||||
}
|
||||
|
||||
/**
|
||||
* hideLoading
|
||||
* @param bForece
|
||||
*/
|
||||
handleHideLoading(bForece) {
|
||||
if (this.timer) {
|
||||
clearTimeout(this.timer);
|
||||
}
|
||||
|
||||
this.timer = setTimeout(() => {
|
||||
if (this.state.loadingCount > 0) {
|
||||
this.setState({
|
||||
loadingCount: bForece ? 0 : this.state.loadingCount - 1,
|
||||
});
|
||||
}
|
||||
}, 50);
|
||||
}
|
||||
}
|
6
AuthKey_B6LJQ88G44.p8
Normal file
@@ -0,0 +1,6 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgRdoZOqwblY00OEmY
|
||||
c0Yoo74RwTBSvzLmRiuO1rUBWb+gCgYIKoZIzj0DAQehRANCAASa37Z5ZdZ2w9YZ
|
||||
tFoOkqGNbN+TrkRuJ03qggxpC1D5S2eQtJJ2iWf42JR+jHXb5HuOCQRxpQPsa3Cr
|
||||
kdTNynO3
|
||||
-----END PRIVATE KEY-----
|
16
CertificateSigningRequest.certSigningRequest
Normal file
@@ -0,0 +1,16 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIICjDCCAXQCAQAwRzEnMCUGCSqGSIb3DQEJARYYcGhpbGlwLmNoZXVuZ0BuaXJv
|
||||
bnMuY29tMQ8wDQYDVQQDDAZwaGlsaXAxCzAJBgNVBAYTAkhLMIIBIjANBgkqhkiG
|
||||
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqFjySinOVdAYMKcaUN6bqBssHQbqbDC/oknV
|
||||
hgS2YnJd2PmRwrVgx9v3/RucnVHxFkjtcT3JbZgnS4AUo3uGKU7tDkM39ZGWBqun
|
||||
lWeFC5a3t7anZjlk38fwftBg99HZPkQ3kVrZVQtKraKtzETLngHOKKlCvcNWT0+o
|
||||
L+Dv+HWKalbNt9u9TK8bEhZQKKoqknjyueHPxjEfBN79eLhjFCAlVl0VkcJngW4V
|
||||
kCyl+csEQvnmncvQBotU5VVJlD5kFU799VscdMRq+GQ03SFYam/zC9atfR7gEiaD
|
||||
lU4223jB1mTD2WoDnDwgBoUXypR9wZfQQUe2fcrhRCYBMj8nPwIDAQABoAAwDQYJ
|
||||
KoZIhvcNAQELBQADggEBACPSAG0udA1y93TgtDmSMA3TeoMZvLUL4uQyGPRbp/uW
|
||||
89nyn9zUVEpBcWxUFqcDevpDRP7yczNxT2a8VmJ/efNE0WkGPgCtZBfjsegdEJNa
|
||||
NoPhqpVFn7TrS+Zk9frFXJHq7MLeuTowLZ8DCUFQ5YdiunvdcwHbMAyQxN/7J5t1
|
||||
2fHUTQLZFIi8WMNI2TLcelOoZjJM8FWfxuUTaAmwnDhogNFo05bbEH1/6aUE7TW2
|
||||
a2WzRTk7tDKIrKaZZcPBKTj8ItxIVf85lEKFa9T6mfIAU/bDcLH77pqdDPqR8aYf
|
||||
QwnJvH1KmEl3OdsPjd9sghNE/ef7hi7EmMq58uXPCVE=
|
||||
-----END CERTIFICATE REQUEST-----
|
98
README.md
Normal file
@@ -0,0 +1,98 @@
|
||||
## Rent Chat
|
||||
|
||||
## Description
|
||||
This mobile application is primarily designed for communication between tenants and landlords. Users can input their property information within the app, and tenants can connect with landlords using an invitation code to facilitate communication. The main features of the app include online chat, intelligent lease agreements, property listings, rent reminders, feedback on property issues to landlords, online payments, and renovation services.
|
||||
|
||||
### Screenshot
|
||||
<img src="./src/assets/screenshot/1.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/2.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/3.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/4.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/5.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/6.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/7.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/8.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/9.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/10.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/11.jpeg" width="40%" height="40%">
|
||||
<img src="./src/assets/screenshot/banner.png" >
|
||||
|
||||
This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).
|
||||
|
||||
# Getting Started
|
||||
|
||||
>**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding.
|
||||
|
||||
## Step 1: Start the Metro Server
|
||||
|
||||
First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native.
|
||||
|
||||
To start Metro, run the following command from the _root_ of your React Native project:
|
||||
|
||||
```bash
|
||||
# using npm
|
||||
npm start
|
||||
|
||||
# OR using Yarn
|
||||
yarn start
|
||||
```
|
||||
|
||||
## Step 2: Start your Application
|
||||
|
||||
Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app:
|
||||
|
||||
### For Android
|
||||
|
||||
```bash
|
||||
# using npm
|
||||
npm run android
|
||||
|
||||
# OR using Yarn
|
||||
yarn android
|
||||
```
|
||||
|
||||
### For iOS
|
||||
|
||||
```bash
|
||||
# using npm
|
||||
npm run ios
|
||||
|
||||
# OR using Yarn
|
||||
yarn ios
|
||||
```
|
||||
|
||||
If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly.
|
||||
|
||||
This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.
|
||||
|
||||
## Step 3: Modifying your App
|
||||
|
||||
Now that you have successfully run the app, let's modify it.
|
||||
|
||||
1. Open `App.tsx` in your text editor of choice and edit some lines.
|
||||
2. For **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Developer Menu** (<kbd>Ctrl</kbd> + <kbd>M</kbd> (on Window and Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (on macOS)) to see your changes!
|
||||
|
||||
For **iOS**: Hit <kbd>Cmd ⌘</kbd> + <kbd>R</kbd> in your iOS Simulator to reload the app and see your changes!
|
||||
|
||||
## Congratulations! :tada:
|
||||
|
||||
You've successfully run and modified your React Native App. :partying_face:
|
||||
|
||||
### Now what?
|
||||
|
||||
- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps).
|
||||
- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started).
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
|
||||
|
||||
# Learn More
|
||||
|
||||
To learn more about React Native, take a look at the following resources:
|
||||
|
||||
- [React Native Website](https://reactnative.dev) - learn more about React Native.
|
||||
- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.
|
||||
- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.
|
||||
- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.
|
||||
- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.
|
14
__tests__/App-test.js
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* @format
|
||||
*/
|
||||
|
||||
import 'react-native';
|
||||
import React from 'react';
|
||||
import App from '../App';
|
||||
|
||||
// Note: test renderer must be required after react-native.
|
||||
import renderer from 'react-test-renderer';
|
||||
|
||||
it('renders correctly', () => {
|
||||
renderer.create(<App />);
|
||||
});
|
BIN
aps_development.cer
Executable file
8
babel.config copy.js
Normal file
@@ -0,0 +1,8 @@
|
||||
module.exports = {
|
||||
presets: ['module:metro-react-native-babel-preset'],
|
||||
plugins: [
|
||||
['@babel/plugin-transform-flow-strip-types'],
|
||||
['@babel/plugin-proposal-decorators', {legacy: true}],
|
||||
['@babel/plugin-proposal-class-properties', {loose: true}],
|
||||
],
|
||||
};
|
3
babel.config.js
Normal file
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
presets: ['module:metro-react-native-babel-preset'],
|
||||
};
|
BIN
base-2.6.1.301.aar
Normal file
10
index copy.js
Executable file
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* @format
|
||||
*/
|
||||
import 'react-native-gesture-handler';
|
||||
import {AppRegistry} from 'react-native';
|
||||
import App from './App';
|
||||
import {name as appName} from './app.json';
|
||||
console.disableYellowBox = true;
|
||||
|
||||
AppRegistry.registerComponent(appName, () => App);
|
9
index.js
Normal file
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* @format
|
||||
*/
|
||||
|
||||
import {AppRegistry} from 'react-native';
|
||||
import App from './App';
|
||||
import {name as appName} from './app.json';
|
||||
|
||||
AppRegistry.registerComponent(appName, () => App);
|
20
metro.config copy.js
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Metro configuration for React Native
|
||||
* https://github.com/facebook/react-native
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
transformer: {
|
||||
getTransformOptions: async () => ({
|
||||
transform: {
|
||||
experimentalImportSupport: false,
|
||||
inlineRequires: false,
|
||||
babelTransformerPath: require.resolve(
|
||||
'react-native-typescript-transformer',
|
||||
),
|
||||
},
|
||||
}),
|
||||
},
|
||||
};
|
17
metro.config.js
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Metro configuration for React Native
|
||||
* https://github.com/facebook/react-native
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
transformer: {
|
||||
getTransformOptions: async () => ({
|
||||
transform: {
|
||||
experimentalImportSupport: false,
|
||||
inlineRequires: false,
|
||||
},
|
||||
}),
|
||||
},
|
||||
};
|
14944
package-lock.json
generated
Normal file
127
package.json
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"name": "rentchat",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"rnpm": {
|
||||
"assets": [
|
||||
"./src/assets/"
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
"android": "react-native run-android",
|
||||
"ios": "react-native run-ios",
|
||||
"start": "react-native start",
|
||||
"test": "jest",
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-proposal-decorators": "^7.12.1",
|
||||
"@invertase/react-native-apple-authentication": "^2.1.0",
|
||||
"@react-native-community/async-storage": "^1.12.1",
|
||||
"@react-native-community/cameraroll": "^4.0.1",
|
||||
"@react-native-community/datetimepicker": "^3.0.4",
|
||||
"@react-native-community/google-signin": "^5.0.0",
|
||||
"@react-native-community/image-editor": "^2.3.0",
|
||||
"@react-native-community/masked-view": "^0.1.10",
|
||||
"@react-native-community/netinfo": "^5.9.7",
|
||||
"@react-native-community/push-notification-ios": "^1.7.3",
|
||||
"@react-native-community/toolbar-android": "0.1.0-rc.2",
|
||||
"@react-native-community/viewpager": "^4.2.0",
|
||||
"aurora-imui-react-native": "^0.14.0",
|
||||
"axios": "^0.21.0",
|
||||
"babel-plugin-transform-decorators-legacy": "^1.3.5",
|
||||
"fetch-intercept": "^2.3.1",
|
||||
"jcore-react-native": "^1.9.0",
|
||||
"jmessage-react-plugin": "^3.1.8",
|
||||
"jpush-react-native": "^2.8.1",
|
||||
"lodash": "^4.17.20",
|
||||
"lottie-react-native": "^3.5.0",
|
||||
"mobx": "^6.0.3",
|
||||
"mobx-persist": "^0.4.1",
|
||||
"mobx-react": "^7.0.4",
|
||||
"mobx-react-form": "^2.0.9",
|
||||
"moment": "^2.29.1",
|
||||
"react": "16.13.1",
|
||||
"react-native": "0.63.3",
|
||||
"react-native-amazing-cropper": "^0.1.4",
|
||||
"react-native-app-intro-slider": "^4.0.4",
|
||||
"react-native-autocomplete-input": "^4.2.0",
|
||||
"react-native-blink-view": "0.0.6",
|
||||
"react-native-check-box": "^2.1.7",
|
||||
"react-native-country-picker-modal": "^2.0.0",
|
||||
"react-native-credit-card-input": "^0.4.1",
|
||||
"react-native-dark-mode": "^0.2.2",
|
||||
"react-native-device-info": "^7.0.2",
|
||||
"react-native-document-picker": "^4.1.0",
|
||||
"react-native-easy-toast": "^1.2.0",
|
||||
"react-native-elements": "^3.0.0-alpha.1",
|
||||
"react-native-fast-image": "^8.3.3",
|
||||
"react-native-fbsdk": "^2.0.0",
|
||||
"react-native-fs": "^2.16.6",
|
||||
"react-native-gesture-handler": "^1.8.0",
|
||||
"react-native-html-to-pdf": "^0.8.0",
|
||||
"react-native-htmlview": "^0.16.0",
|
||||
"react-native-image-crop-picker": "^0.35.1",
|
||||
"react-native-image-pan-zoom": "^2.1.12",
|
||||
"react-native-image-rotate": "^2.1.0",
|
||||
"react-native-image-to-pdf": "^1.2.0",
|
||||
"react-native-image-viewing": "^0.2.0",
|
||||
"react-native-keyboard-aware-scroll-view": "^0.9.3",
|
||||
"react-native-linear-gradient": "^2.5.6",
|
||||
"react-native-md5": "^1.0.0",
|
||||
"react-native-modal-datetime-picker": "^9.0.0",
|
||||
"react-native-modals": "^0.19.9",
|
||||
"react-native-paper": "^4.3.1",
|
||||
"react-native-pdf": "^6.2.2",
|
||||
"react-native-permissions": "^2.2.2",
|
||||
"react-native-picker-js": "^1.1.2",
|
||||
"react-native-picker-select": "^8.0.2",
|
||||
"react-native-popup-menu": "^0.15.9",
|
||||
"react-native-push-notification": "^6.1.3",
|
||||
"react-native-reanimated": "^1.13.1",
|
||||
"react-native-render-html": "^4.2.4",
|
||||
"react-native-rss-parser": "^1.5.1",
|
||||
"react-native-safe-area-context": "^3.1.8",
|
||||
"react-native-safe-area-view": "^1.1.1",
|
||||
"react-native-screens": "^2.14.0",
|
||||
"react-native-share": "^4.1.0",
|
||||
"react-native-signature-capture": "^0.4.10",
|
||||
"react-native-simple-radio-button": "^2.7.4",
|
||||
"react-native-size-matters": "^0.3.1",
|
||||
"react-native-sound": "^0.11.0",
|
||||
"react-native-step-indicator": "^1.0.3",
|
||||
"react-native-svg": "^12.1.0",
|
||||
"react-native-swiper": "^1.6.0",
|
||||
"react-native-switch-pro": "^1.0.5",
|
||||
"react-native-tab-view": "^2.15.2",
|
||||
"react-native-typescript-transformer": "^1.2.13",
|
||||
"react-native-uuid": "^1.4.9",
|
||||
"react-native-vector-icons": "^7.1.0",
|
||||
"react-native-video": "^5.1.0-alpha8",
|
||||
"react-native-view-shot": "^3.1.2",
|
||||
"react-native-webview": "^10.10.2",
|
||||
"react-native-wechat": "^1.9.12",
|
||||
"react-navigation": "^4.4.3",
|
||||
"react-navigation-material-bottom-tabs": "^2.3.3",
|
||||
"react-navigation-stack": "^2.10.1",
|
||||
"react-navigation-tabs": "^2.10.1",
|
||||
"react-navigation-transitions": "^1.0.12",
|
||||
"rn-countdown": "^1.0.0",
|
||||
"rn-fetch-blob": "^0.12.0",
|
||||
"valid-url": "^1.0.9",
|
||||
"validatorjs": "^3.20.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.8.4",
|
||||
"@babel/runtime": "^7.8.4",
|
||||
"@react-native-community/eslint-config": "^1.1.0",
|
||||
"babel-jest": "^25.1.0",
|
||||
"eslint": "^6.5.1",
|
||||
"jest": "^25.1.0",
|
||||
"metro-react-native-babel-preset": "^0.59.0",
|
||||
"react-test-renderer": "16.13.1"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "react-native"
|
||||
}
|
||||
}
|
BIN
push-2.6.1.301.aar
Normal file
11
react-native.config.js
Normal file
@@ -0,0 +1,11 @@
|
||||
module.exports = {
|
||||
dependencies: {
|
||||
'jmessage-react-plugin': {
|
||||
platforms: {
|
||||
android: {
|
||||
packageInstance: 'new JMessageReactPackage(false)',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
BIN
rentChatNotificationCert.p12
Executable file
116
rentChatNotificationCert.pem
Executable file
@@ -0,0 +1,116 @@
|
||||
Bag Attributes
|
||||
friendlyName: 7788 dev key
|
||||
localKeyID: 21 47 E5 7F FE 5A 1D 4B 63 22 DA C1 14 0E 5B 65 E0 AE DD 67
|
||||
subject=/CN=7788 dev key/C=HK/emailAddress=philip.cheung@nirons.com
|
||||
issuer=/CN=7788 dev key/C=HK/emailAddress=philip.cheung@nirons.com
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDZDCCAkygAwIBAgIBATANBgkqhkiG9w0BAQsFADBNMRUwEwYDVQQDDAw3Nzg4
|
||||
IGRldiBrZXkxCzAJBgNVBAYTAkhLMScwJQYJKoZIhvcNAQkBFhhwaGlsaXAuY2hl
|
||||
dW5nQG5pcm9ucy5jb20wHhcNMTkxMTA0MDIwODI0WhcNMjAxMTAzMDIwODI0WjBN
|
||||
MRUwEwYDVQQDDAw3Nzg4IGRldiBrZXkxCzAJBgNVBAYTAkhLMScwJQYJKoZIhvcN
|
||||
AQkBFhhwaGlsaXAuY2hldW5nQG5pcm9ucy5jb20wggEiMA0GCSqGSIb3DQEBAQUA
|
||||
A4IBDwAwggEKAoIBAQClR8euadir+78GoN0JRitD59H3tm5M+PpdJiWw/7gsyckN
|
||||
nYosF9Wu1oRKsIO8Z8FZAfOT2NAMNOMmfXsS7H29XhHU0A/c4UkBUXmi8BlHqsIm
|
||||
ULncrge3IVZ8RcLhVkIKWy/fzaIjZNtsI2A4EHA/Y1U3sHVHBfHPdG0STouERpDg
|
||||
/+qUz734zTsPqhyCsB4YfEiLjacjkj9hPjAXgLLHTv9urkOXT0F14CtDWAA8fbDT
|
||||
fox9kwQIf5J4hGa6iPgNw9IwMD0eObwCpPCqg9iHs8mLWObLv5NJ7jz2WzicJpM5
|
||||
xiZb+PfNbo+pOuEAFlIQRhs7xXYTjx7QCY+WiWkLAgMBAAGjTzBNMA4GA1UdDwEB
|
||||
/wQEAwIFoDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDBDAjBgNVHREEHDAagRhwaGls
|
||||
aXAuY2hldW5nQG5pcm9ucy5jb20wDQYJKoZIhvcNAQELBQADggEBAIrRiHsH61Z/
|
||||
UgnxoQBFVKG1+IWm/1GENhizlPslkKsysHqX5StAPYNBZIwCd6muG8rd5GDNXv+2
|
||||
xsZ+BX+YCb6j1o+0xz77J2NHJXYaxT8tmXHJCO8ustMc6Nj+pYEuTWbOE6ljbRsB
|
||||
VCGjeihk1l/ljYn0cD2ALcxUJm/1rar4udZNkXN+zWf68W5/sfMOLnhxNaImVQpI
|
||||
Jvx67G1cs6kM3sFwnnMbYkJRdyFs+RWlopq43ylYifo2g5MLAMv3ra3Fn8BWuT9O
|
||||
eopd3dO9ALyi70iZ7fZGdYYHI9oJqIodZ644o3Lf6WxIF35+8jIrL6iLNc0E2ZO4
|
||||
zWqYBNJS+v8=
|
||||
-----END CERTIFICATE-----
|
||||
Bag Attributes
|
||||
friendlyName: 7788 dev key
|
||||
localKeyID: 21 47 E5 7F FE 5A 1D 4B 63 22 DA C1 14 0E 5B 65 E0 AE DD 67
|
||||
subject=/CN=7788 dev key/C=HK/emailAddress=philip.cheung@nirons.com
|
||||
issuer=/CN=7788 dev key/C=HK/emailAddress=philip.cheung@nirons.com
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDZDCCAkygAwIBAgIBATANBgkqhkiG9w0BAQsFADBNMRUwEwYDVQQDDAw3Nzg4
|
||||
IGRldiBrZXkxCzAJBgNVBAYTAkhLMScwJQYJKoZIhvcNAQkBFhhwaGlsaXAuY2hl
|
||||
dW5nQG5pcm9ucy5jb20wHhcNMTkxMTA0MDIwODI0WhcNMjAxMTAzMDIwODI0WjBN
|
||||
MRUwEwYDVQQDDAw3Nzg4IGRldiBrZXkxCzAJBgNVBAYTAkhLMScwJQYJKoZIhvcN
|
||||
AQkBFhhwaGlsaXAuY2hldW5nQG5pcm9ucy5jb20wggEiMA0GCSqGSIb3DQEBAQUA
|
||||
A4IBDwAwggEKAoIBAQClR8euadir+78GoN0JRitD59H3tm5M+PpdJiWw/7gsyckN
|
||||
nYosF9Wu1oRKsIO8Z8FZAfOT2NAMNOMmfXsS7H29XhHU0A/c4UkBUXmi8BlHqsIm
|
||||
ULncrge3IVZ8RcLhVkIKWy/fzaIjZNtsI2A4EHA/Y1U3sHVHBfHPdG0STouERpDg
|
||||
/+qUz734zTsPqhyCsB4YfEiLjacjkj9hPjAXgLLHTv9urkOXT0F14CtDWAA8fbDT
|
||||
fox9kwQIf5J4hGa6iPgNw9IwMD0eObwCpPCqg9iHs8mLWObLv5NJ7jz2WzicJpM5
|
||||
xiZb+PfNbo+pOuEAFlIQRhs7xXYTjx7QCY+WiWkLAgMBAAGjTzBNMA4GA1UdDwEB
|
||||
/wQEAwIFoDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDBDAjBgNVHREEHDAagRhwaGls
|
||||
aXAuY2hldW5nQG5pcm9ucy5jb20wDQYJKoZIhvcNAQELBQADggEBAIrRiHsH61Z/
|
||||
UgnxoQBFVKG1+IWm/1GENhizlPslkKsysHqX5StAPYNBZIwCd6muG8rd5GDNXv+2
|
||||
xsZ+BX+YCb6j1o+0xz77J2NHJXYaxT8tmXHJCO8ustMc6Nj+pYEuTWbOE6ljbRsB
|
||||
VCGjeihk1l/ljYn0cD2ALcxUJm/1rar4udZNkXN+zWf68W5/sfMOLnhxNaImVQpI
|
||||
Jvx67G1cs6kM3sFwnnMbYkJRdyFs+RWlopq43ylYifo2g5MLAMv3ra3Fn8BWuT9O
|
||||
eopd3dO9ALyi70iZ7fZGdYYHI9oJqIodZ644o3Lf6WxIF35+8jIrL6iLNc0E2ZO4
|
||||
zWqYBNJS+v8=
|
||||
-----END CERTIFICATE-----
|
||||
Bag Attributes
|
||||
friendlyName: 7788 dev key
|
||||
localKeyID: 21 47 E5 7F FE 5A 1D 4B 63 22 DA C1 14 0E 5B 65 E0 AE DD 67
|
||||
Key Attributes: <No Attributes>
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQClR8euadir+78G
|
||||
oN0JRitD59H3tm5M+PpdJiWw/7gsyckNnYosF9Wu1oRKsIO8Z8FZAfOT2NAMNOMm
|
||||
fXsS7H29XhHU0A/c4UkBUXmi8BlHqsImULncrge3IVZ8RcLhVkIKWy/fzaIjZNts
|
||||
I2A4EHA/Y1U3sHVHBfHPdG0STouERpDg/+qUz734zTsPqhyCsB4YfEiLjacjkj9h
|
||||
PjAXgLLHTv9urkOXT0F14CtDWAA8fbDTfox9kwQIf5J4hGa6iPgNw9IwMD0eObwC
|
||||
pPCqg9iHs8mLWObLv5NJ7jz2WzicJpM5xiZb+PfNbo+pOuEAFlIQRhs7xXYTjx7Q
|
||||
CY+WiWkLAgMBAAECggEBAIrdl0jUR6agOmyARZZgLUO9h21gCqaDXh9bSLnA8OY4
|
||||
l8LnxUqsr+1Y8Qer7NMkPY/iEtv6gzpuSRdywDAzIKY1Xjf2pA1J/0OrR859ek/7
|
||||
iWoV00M1uOfFi9uX5VfcWFpJKR0ZsYuZVr4xrssMDLNFazkB+lc1CGjsAiQqeBAm
|
||||
u/N8Vfsqgfl1tVu5LryWy/8gReg39vF8oDDr/dksNPfmGbHysX06X1SCgG4AP/X8
|
||||
LpbAb9v+itP3jJulhR8TVIOx3aTWS9zjWwMr4VXtHkBkJPyk5qvjksSIbOEJ+fTc
|
||||
z+xopaGEhJRKs6kV9qQ/8eahKVoRh9lQsSs0lO9MfIkCgYEA1dTqUiZF2L8N284G
|
||||
lEhhkEns+19qWvoO1t67n6X9tthI+RLQulQqfuJxNDenevLqnlrjf5Hf9YVqsi0u
|
||||
wlQbtTZNQQD1r9yUpswiN/u7UbA9zzcIN0eWhzPzKdLq4Sso+THl9Y2HRpqolQDg
|
||||
z5dbmph+zD+8b4GnXXghuotIysUCgYEAxd/MmIqBjwd47F4VuWFgXMRrJ1NSdVyH
|
||||
/T2OfGP7b3nBhT2QidWhwaMnO4RcjR/4/Vv8JYbqmzymFSLrFBhH1jeX4vJx8aj9
|
||||
ySnG4/yKFj1kpgC2owsaUfCdNID0M+h7Nx4Z3AD+kCcOVv37oAEcBi5gWgVMC2fl
|
||||
psv73EKV4Y8CgYA+yrhIiV6naGs8acK61op34Y2Kv5kuwBGNfXihSBA6GkdLhP/w
|
||||
R3j3K63MhK9UxnKpL81wj7ixk40iZ2w8upAsZZbICO0cyGyKkpVV1UFLmrJ74BA0
|
||||
k3wbleDJHlvE5XSxwLpjojzgOdhZcRmTPEI1IqTRe8HtCKjKJNXavr4QdQKBgBsg
|
||||
CtP+aLRKufDtFN1M1ADjjCzf5zXfcWTtw1KaAiXN8xFo1x+OAZah3wbxph5Se7d/
|
||||
nJkoXZDaR4ouNzuR+IcNJ+0cfzI5kFC7QWCPhf52fA2lm2POadVBvssrwk47WGi9
|
||||
352hJURtljGmr4/Hlyfhw6OThlEp9PlgjS4sko9RAoGABQtBIg9kqv7Q7iRwtn5C
|
||||
zD7zpuxY91tU5QDgDkMNknrE39o2TGrhGJq/bEIIMhrXBY2CnAIhZgO5nIiXjNbq
|
||||
gqCDHnU3fCqcpxH5SFyVa1W+ONzBhg4orr64vXzd1fO6BINPFCiLzclUnn+/sBP4
|
||||
LJGpwr0pEqBHmdhz4tWwv84=
|
||||
-----END PRIVATE KEY-----
|
||||
Bag Attributes
|
||||
friendlyName: 7788 dev key
|
||||
localKeyID: 21 47 E5 7F FE 5A 1D 4B 63 22 DA C1 14 0E 5B 65 E0 AE DD 67
|
||||
Key Attributes: <No Attributes>
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQClR8euadir+78G
|
||||
oN0JRitD59H3tm5M+PpdJiWw/7gsyckNnYosF9Wu1oRKsIO8Z8FZAfOT2NAMNOMm
|
||||
fXsS7H29XhHU0A/c4UkBUXmi8BlHqsImULncrge3IVZ8RcLhVkIKWy/fzaIjZNts
|
||||
I2A4EHA/Y1U3sHVHBfHPdG0STouERpDg/+qUz734zTsPqhyCsB4YfEiLjacjkj9h
|
||||
PjAXgLLHTv9urkOXT0F14CtDWAA8fbDTfox9kwQIf5J4hGa6iPgNw9IwMD0eObwC
|
||||
pPCqg9iHs8mLWObLv5NJ7jz2WzicJpM5xiZb+PfNbo+pOuEAFlIQRhs7xXYTjx7Q
|
||||
CY+WiWkLAgMBAAECggEBAIrdl0jUR6agOmyARZZgLUO9h21gCqaDXh9bSLnA8OY4
|
||||
l8LnxUqsr+1Y8Qer7NMkPY/iEtv6gzpuSRdywDAzIKY1Xjf2pA1J/0OrR859ek/7
|
||||
iWoV00M1uOfFi9uX5VfcWFpJKR0ZsYuZVr4xrssMDLNFazkB+lc1CGjsAiQqeBAm
|
||||
u/N8Vfsqgfl1tVu5LryWy/8gReg39vF8oDDr/dksNPfmGbHysX06X1SCgG4AP/X8
|
||||
LpbAb9v+itP3jJulhR8TVIOx3aTWS9zjWwMr4VXtHkBkJPyk5qvjksSIbOEJ+fTc
|
||||
z+xopaGEhJRKs6kV9qQ/8eahKVoRh9lQsSs0lO9MfIkCgYEA1dTqUiZF2L8N284G
|
||||
lEhhkEns+19qWvoO1t67n6X9tthI+RLQulQqfuJxNDenevLqnlrjf5Hf9YVqsi0u
|
||||
wlQbtTZNQQD1r9yUpswiN/u7UbA9zzcIN0eWhzPzKdLq4Sso+THl9Y2HRpqolQDg
|
||||
z5dbmph+zD+8b4GnXXghuotIysUCgYEAxd/MmIqBjwd47F4VuWFgXMRrJ1NSdVyH
|
||||
/T2OfGP7b3nBhT2QidWhwaMnO4RcjR/4/Vv8JYbqmzymFSLrFBhH1jeX4vJx8aj9
|
||||
ySnG4/yKFj1kpgC2owsaUfCdNID0M+h7Nx4Z3AD+kCcOVv37oAEcBi5gWgVMC2fl
|
||||
psv73EKV4Y8CgYA+yrhIiV6naGs8acK61op34Y2Kv5kuwBGNfXihSBA6GkdLhP/w
|
||||
R3j3K63MhK9UxnKpL81wj7ixk40iZ2w8upAsZZbICO0cyGyKkpVV1UFLmrJ74BA0
|
||||
k3wbleDJHlvE5XSxwLpjojzgOdhZcRmTPEI1IqTRe8HtCKjKJNXavr4QdQKBgBsg
|
||||
CtP+aLRKufDtFN1M1ADjjCzf5zXfcWTtw1KaAiXN8xFo1x+OAZah3wbxph5Se7d/
|
||||
nJkoXZDaR4ouNzuR+IcNJ+0cfzI5kFC7QWCPhf52fA2lm2POadVBvssrwk47WGi9
|
||||
352hJURtljGmr4/Hlyfhw6OThlEp9PlgjS4sko9RAoGABQtBIg9kqv7Q7iRwtn5C
|
||||
zD7zpuxY91tU5QDgDkMNknrE39o2TGrhGJq/bEIIMhrXBY2CnAIhZgO5nIiXjNbq
|
||||
gqCDHnU3fCqcpxH5SFyVa1W+ONzBhg4orr64vXzd1fO6BINPFCiLzclUnn+/sBP4
|
||||
LJGpwr0pEqBHmdhz4tWwv84=
|
||||
-----END PRIVATE KEY-----
|
BIN
rentchat.mobileprovision
Executable file
BIN
rentchat_char/Tenant.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
rentchat_char/Tenant@2x.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
rentchat_char/Tenant@3x.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
rentchat_char/free.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
rentchat_char/free@2x.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
rentchat_char/free@3x.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
rentchat_char/owner.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
rentchat_char/owner@2x.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
rentchat_char/owner@3x.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
6
rentchatapplelogin.p8
Normal file
@@ -0,0 +1,6 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgFg+OneGGIEhXZT85
|
||||
uTDuAzOJSCQ6H0La7mYT9oS61kWgCgYIKoZIzj0DAQehRANCAARGi78fvWkdb4q7
|
||||
27dSU13aXIFJtbq5FhExGliJUMayFtYdfJw97sysB2WcK0mDmih76Zrjzox0Zc7p
|
||||
UUscgRTL
|
||||
-----END PRIVATE KEY-----
|
BIN
rentchatkeystore
Normal file
9478
src/assets/building.csv
Normal file
BIN
src/assets/fonts/ubuntu/Ubuntu-B.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-BI.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-C.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-L.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-LI.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-M.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-MI.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-R.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-RI.ttf
Executable file
BIN
src/assets/fonts/ubuntu/Ubuntu-Th.ttf
Executable file
BIN
src/assets/fonts/ubuntu/UbuntuMono-B.ttf
Executable file
BIN
src/assets/fonts/ubuntu/UbuntuMono-BI.ttf
Executable file
BIN
src/assets/fonts/ubuntu/UbuntuMono-R.ttf
Executable file
BIN
src/assets/fonts/ubuntu/UbuntuMono-RI.ttf
Executable file
BIN
src/assets/images/Indicator@2x.png
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/assets/images/Indicator@3x.png
Executable file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/assets/images/apartment.png
Normal file
After Width: | Height: | Size: 692 KiB |
BIN
src/assets/images/chat/discuss_logo@2x.png
Executable file
After Width: | Height: | Size: 7.9 KiB |
BIN
src/assets/images/chat/discuss_logo@3x.png
Executable file
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/chat/head@2x.png
Executable file
After Width: | Height: | Size: 3.2 KiB |
BIN
src/assets/images/chat/head@3x.png
Executable file
After Width: | Height: | Size: 4.8 KiB |
BIN
src/assets/images/chat/iconAdd@2x.png
Executable file
After Width: | Height: | Size: 240 B |
BIN
src/assets/images/chat/iconAdd@3x.png
Executable file
After Width: | Height: | Size: 368 B |
BIN
src/assets/images/chat/iconDel@2x.png
Executable file
After Width: | Height: | Size: 764 B |
BIN
src/assets/images/chat/iconDel@3x.png
Executable file
After Width: | Height: | Size: 1.0 KiB |
BIN
src/assets/images/chat/session_team@2x.png
Executable file
After Width: | Height: | Size: 1.5 KiB |
BIN
src/assets/images/chat/session_team@3x.png
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/assets/images/commercialbuilding.png
Normal file
After Width: | Height: | Size: 571 KiB |
BIN
src/assets/images/contract.png
Normal file
After Width: | Height: | Size: 617 KiB |
BIN
src/assets/images/demohouse.png
Normal file
After Width: | Height: | Size: 914 KiB |
BIN
src/assets/images/econnews.png
Normal file
After Width: | Height: | Size: 514 KiB |
BIN
src/assets/images/free@2x.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
src/assets/images/free@3x.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
src/assets/images/freefurniture.png
Normal file
After Width: | Height: | Size: 491 KiB |
BIN
src/assets/images/furniture.png
Normal file
After Width: | Height: | Size: 787 KiB |
BIN
src/assets/images/logo@2x.png
Executable file
After Width: | Height: | Size: 5.6 KiB |
BIN
src/assets/images/logo@3x.png
Executable file
After Width: | Height: | Size: 8.9 KiB |
BIN
src/assets/images/manage.png
Normal file
After Width: | Height: | Size: 636 KiB |
BIN
src/assets/images/newowner@2x.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
src/assets/images/newowner@3x.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
src/assets/images/news.png
Normal file
After Width: | Height: | Size: 800 KiB |
BIN
src/assets/images/newtenant@2x.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
src/assets/images/newtenant@3x.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
src/assets/images/owner@2x.png
Executable file
After Width: | Height: | Size: 4.7 KiB |
BIN
src/assets/images/owner@3x.png
Executable file
After Width: | Height: | Size: 8.9 KiB |
BIN
src/assets/images/ownertut1.png
Normal file
After Width: | Height: | Size: 994 KiB |
BIN
src/assets/images/ownertut2.png
Normal file
After Width: | Height: | Size: 199 KiB |
BIN
src/assets/images/ownertut3.png
Normal file
After Width: | Height: | Size: 522 KiB |
BIN
src/assets/images/ownertut4.png
Normal file
After Width: | Height: | Size: 563 KiB |
BIN
src/assets/images/ownertut5.png
Normal file
After Width: | Height: | Size: 547 KiB |
BIN
src/assets/images/ownertut6.png
Normal file
After Width: | Height: | Size: 420 KiB |
BIN
src/assets/images/ownertut7.png
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
src/assets/images/rentdoc.png
Normal file
After Width: | Height: | Size: 356 KiB |
BIN
src/assets/images/renthistory.png
Normal file
After Width: | Height: | Size: 535 KiB |
BIN
src/assets/images/repair.png
Normal file
After Width: | Height: | Size: 717 KiB |
BIN
src/assets/images/services.png
Normal file
After Width: | Height: | Size: 664 KiB |
BIN
src/assets/images/tenant@2x.png
Executable file
After Width: | Height: | Size: 4.0 KiB |
BIN
src/assets/images/tenant@3x.png
Executable file
After Width: | Height: | Size: 7.5 KiB |
BIN
src/assets/images/tenanttut1.png
Normal file
After Width: | Height: | Size: 1.1 MiB |