mirror of
https://github.com/ecency/ecency-mobile.git
synced 2024-12-20 20:01:56 +03:00
commit
cff1e209bf
9
.vscode/settings.json
vendored
9
.vscode/settings.json
vendored
@ -2,5 +2,12 @@
|
||||
"eslint.validate": [
|
||||
"javascript",
|
||||
"javascriptreact"
|
||||
]
|
||||
],
|
||||
"java.configuration.updateBuildConfiguration": "interactive",
|
||||
"files.exclude": {
|
||||
"**/.classpath": true,
|
||||
"**/.project": true,
|
||||
"**/.settings": true,
|
||||
"**/.factorypath": true
|
||||
}
|
||||
}
|
@ -143,7 +143,7 @@ android {
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode versionMajor * 10000 + versionMinor * 100 + versionPatch
|
||||
versionName "3.0.12"
|
||||
versionName "3.0.13"
|
||||
resValue "string", "build_config_package", "app.esteem.mobile.android"
|
||||
multiDexEnabled true
|
||||
// react-native-image-crop-picker
|
||||
@ -194,7 +194,6 @@ android {
|
||||
output.versionCodeOverride =
|
||||
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -208,7 +207,7 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||
implementation "com.facebook.react:react-native:+" // From node_modules
|
||||
implementation 'com.facebook.react:react-native:+' // From node_modules
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
|
||||
implementation 'com.android.support:multidex:2.0.1'
|
||||
@ -232,4 +231,4 @@ task copyDownloadableDepsToLibs(type: Copy) {
|
||||
}
|
||||
|
||||
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
||||
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
|
||||
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
|
||||
|
@ -27,8 +27,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath('com.android.tools.build:gradle:3.5.2')
|
||||
|
||||
classpath('com.android.tools.build:gradle:4.0.1')
|
||||
classpath 'com.google.gms:google-services:4.3.3'
|
||||
classpath 'com.bugsnag:bugsnag-android-gradle-plugin:4.+'
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
@ -15,11 +15,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.12</string>
|
||||
<string>3.0.13</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2562</string>
|
||||
<string>2563</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true />
|
||||
<key>NSAppTransportSecurity</key>
|
||||
|
@ -15,10 +15,10 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.12</string>
|
||||
<string>3.0.13</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2562</string>
|
||||
<string>2563</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -454,6 +454,7 @@
|
||||
53FB8F8B28F502EE3B240FD6 /* [CP] Copy Pods Resources */,
|
||||
4436D72554B718932B21C9FD /* [CP-User] [RNFB] Core Configuration */,
|
||||
58C9F50524CE017800A026DD /* Embed App Extensions */,
|
||||
05BAAAEE25BF43F80072EA01 /* ShellScript */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@ -692,6 +693,23 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n";
|
||||
};
|
||||
05BAAAEE25BF43F80072EA01 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n";
|
||||
};
|
||||
180EA60986CD4BBD6C799872 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -752,7 +770,7 @@
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Ecency/Pods-Ecency-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/QBImagePickerController/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf",
|
||||
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf",
|
||||
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf",
|
||||
@ -769,7 +787,7 @@
|
||||
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf",
|
||||
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf",
|
||||
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf",
|
||||
"${PODS_ROOT}/RSKImageCropper/RSKImageCropper/RSKImageCropperStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
@ -790,7 +808,7 @@
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RSKImageCropperStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
@ -809,7 +827,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||
shellScript = "export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||
};
|
||||
777B3928177A0EE7EA1ABCF9 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
@ -1101,10 +1119,10 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Ecency/EcencyDebug.entitlements;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
CODE_SIGN_IDENTITY = "iPhone Distribution";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 2562;
|
||||
CURRENT_PROJECT_VERSION = 2792;
|
||||
DEAD_CODE_STRIPPING = NO;
|
||||
DEVELOPMENT_TEAM = 75B6RXTKGT;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
@ -1180,7 +1198,7 @@
|
||||
CODE_SIGN_ENTITLEMENTS = Ecency/Ecency.entitlements;
|
||||
CODE_SIGN_IDENTITY = "iPhone Distribution";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 2562;
|
||||
CURRENT_PROJECT_VERSION = 2792;
|
||||
DEAD_CODE_STRIPPING = NO;
|
||||
DEVELOPMENT_TEAM = 75B6RXTKGT;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
|
@ -19,7 +19,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.12</string>
|
||||
<string>3.0.13</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
@ -15,10 +15,10 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.12</string>
|
||||
<string>3.0.13</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2562</string>
|
||||
<string>2563</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -145,7 +145,6 @@ PODS:
|
||||
- nanopb/encode (1.30905.0)
|
||||
- PromisesObjC (1.2.9)
|
||||
- Protobuf (3.12.0)
|
||||
- QBImagePickerController (3.4.0)
|
||||
- RCTRequired (0.61.5)
|
||||
- RCTTypeSafety (0.61.5):
|
||||
- FBLazyVector (= 0.61.5)
|
||||
@ -324,6 +323,10 @@ PODS:
|
||||
- React
|
||||
- react-native-receive-sharing-intent (1.0.4):
|
||||
- React
|
||||
- react-native-restart (0.0.17):
|
||||
- React
|
||||
- react-native-safe-area-context (3.1.9):
|
||||
- React-Core
|
||||
- react-native-splash-screen (3.2.0):
|
||||
- React
|
||||
- react-native-version-number (0.3.6):
|
||||
@ -398,11 +401,15 @@ PODS:
|
||||
- React
|
||||
- RNIap (3.4.15):
|
||||
- React
|
||||
- RNImageCropPicker (0.26.2):
|
||||
- QBImagePickerController
|
||||
- RNImageCropPicker (0.35.2):
|
||||
- React-Core
|
||||
- React-RCTImage
|
||||
- RSKImageCropper
|
||||
- RNImageCropPicker/QBImagePickerController (= 0.35.2)
|
||||
- TOCropViewController
|
||||
- RNImageCropPicker/QBImagePickerController (0.35.2):
|
||||
- React-Core
|
||||
- React-RCTImage
|
||||
- TOCropViewController
|
||||
- RNReanimated (1.13.2):
|
||||
- React-Core
|
||||
- RNScreens (2.10.1):
|
||||
@ -411,13 +418,13 @@ PODS:
|
||||
- React
|
||||
- RNVectorIcons (6.7.0):
|
||||
- React
|
||||
- RSKImageCropper (2.2.3)
|
||||
- SDWebImage (5.8.4):
|
||||
- SDWebImage/Core (= 5.8.4)
|
||||
- SDWebImage/Core (5.8.4)
|
||||
- SDWebImageWebPCoder (0.6.1):
|
||||
- libwebp (~> 1.0)
|
||||
- SDWebImage/Core (~> 5.7)
|
||||
- TOCropViewController (2.6.0)
|
||||
- toolbar-android (0.1.0-rc.2):
|
||||
- React
|
||||
- Yoga (1.14.0)
|
||||
@ -452,6 +459,8 @@ DEPENDENCIES:
|
||||
- react-native-matomo-sdk (from `../node_modules/react-native-matomo-sdk`)
|
||||
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
|
||||
- react-native-receive-sharing-intent (from `../node_modules/react-native-receive-sharing-intent`)
|
||||
- react-native-restart (from `../node_modules/react-native-restart`)
|
||||
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
|
||||
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
|
||||
- react-native-version-number (from `../node_modules/react-native-version-number`)
|
||||
- react-native-webview (from `../node_modules/react-native-webview`)
|
||||
@ -506,10 +515,9 @@ SPEC REPOS:
|
||||
- nanopb
|
||||
- PromisesObjC
|
||||
- Protobuf
|
||||
- QBImagePickerController
|
||||
- RSKImageCropper
|
||||
- SDWebImage
|
||||
- SDWebImageWebPCoder
|
||||
- TOCropViewController
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
appcenter-analytics:
|
||||
@ -566,6 +574,10 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/@react-native-community/netinfo"
|
||||
react-native-receive-sharing-intent:
|
||||
:path: "../node_modules/react-native-receive-sharing-intent"
|
||||
react-native-restart:
|
||||
:path: "../node_modules/react-native-restart"
|
||||
react-native-safe-area-context:
|
||||
:path: "../node_modules/react-native-safe-area-context"
|
||||
react-native-splash-screen:
|
||||
:path: "../node_modules/react-native-splash-screen"
|
||||
react-native-version-number:
|
||||
@ -661,7 +673,6 @@ SPEC CHECKSUMS:
|
||||
nanopb: c43f40fadfe79e8b8db116583945847910cbabc9
|
||||
PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75
|
||||
Protobuf: 2793fcd0622a00b546c60e7cbbcc493e043e9bb9
|
||||
QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022
|
||||
RCTRequired: b153add4da6e7dbc44aebf93f3cf4fcae392ddf1
|
||||
RCTTypeSafety: 9aa1b91d7f9310fc6eadc3cf95126ffe818af320
|
||||
React: b6a59ef847b2b40bb6e0180a97d0ca716969ac78
|
||||
@ -677,6 +688,8 @@ SPEC CHECKSUMS:
|
||||
react-native-matomo-sdk: 025c54f92e1e26a4d0acee7c3f28cb0fc7e4729c
|
||||
react-native-netinfo: a53b00d949b6456913aaf507d9dba90c4008c611
|
||||
react-native-receive-sharing-intent: feba0a332a07977549a85aa58b496eb44368366a
|
||||
react-native-restart: d19a0f8d053d065fe64cd2baebb6487111c77149
|
||||
react-native-safe-area-context: b6e0e284002381d2ff29fa4fff42b4d8282e3c94
|
||||
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
|
||||
react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f
|
||||
react-native-webview: 160ac8d6bb974e2933f2de6bb7464a8e934ff31d
|
||||
@ -701,17 +714,17 @@ SPEC CHECKSUMS:
|
||||
RNFBMessaging: 3bb7dcf398789ce359a9f6b97b83472a3090f65a
|
||||
RNGestureHandler: b6b359bb800ae399a9c8b27032bdbf7c18f08a08
|
||||
RNIap: b4c77c8bc4501203f4b743126a05da23f10f40b4
|
||||
RNImageCropPicker: 9d1a7eea4f8368fc479cbd2bf26459bd3c74d9aa
|
||||
RNImageCropPicker: 9e0bf18cf4184a846fed55747c8e622208b39947
|
||||
RNReanimated: e03f7425cb7a38dcf1b644d680d1bfc91c3337ad
|
||||
RNScreens: b748efec66e095134c7166ca333b628cd7e6f3e2
|
||||
RNSVG: 8ba35cbeb385a52fd960fd28db9d7d18b4c2974f
|
||||
RNVectorIcons: 368d6d8b8301224e5ffb6254191f4f8876c2be0d
|
||||
RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a
|
||||
SDWebImage: cf6922231e95550934da2ada0f20f2becf2ceba9
|
||||
SDWebImageWebPCoder: d0dac55073088d24b2ac1b191a71a8f8d0adac21
|
||||
TOCropViewController: 3105367e808b7d3d886a74ff59bf4804e7d3ab38
|
||||
toolbar-android: 85f3ef4d691469f2d304e7dee4bca013aa1ba1ff
|
||||
Yoga: f2a7cd4280bfe2cca5a7aed98ba0eb3d1310f18b
|
||||
|
||||
PODFILE CHECKSUM: 1f30c7da5061dbc47185442a6ab4a3c95ac48c04
|
||||
|
||||
COCOAPODS: 1.10.0
|
||||
COCOAPODS: 1.9.3
|
||||
|
@ -17,9 +17,9 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.12</string>
|
||||
<string>3.0.13</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2562</string>
|
||||
<string>2563</string>
|
||||
<key>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionAttributes</key>
|
||||
|
13
package.json
13
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ecency",
|
||||
"version": "3.0.12",
|
||||
"version": "3.0.13",
|
||||
"displayName": "Ecency",
|
||||
"private": true,
|
||||
"rnpm": {
|
||||
@ -27,13 +27,14 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.5.5",
|
||||
"@ecency/render-helper": "^2.0.11",
|
||||
"@ecency/render-helper": "^2.0.15",
|
||||
"@esteemapp/dhive": "0.15.0",
|
||||
"@esteemapp/react-native-autocomplete-input": "^4.2.1",
|
||||
"@esteemapp/react-native-modal-popover": "^0.0.15",
|
||||
"@esteemapp/react-native-multi-slider": "^1.1.0",
|
||||
"@esteemapp/react-native-render-html": "^4.1.5",
|
||||
"@esteemapp/react-native-slider": "^0.12.0",
|
||||
"@gorhom/bottom-sheet": "^2",
|
||||
"@hiveio/dhive": "^0.14.12",
|
||||
"@react-native-community/async-storage": "^1.11.0",
|
||||
"@react-native-community/cameraroll": "^1.3.0",
|
||||
@ -50,7 +51,7 @@
|
||||
"appcenter-crashes": "^3.1.0",
|
||||
"axios": "^0.18.0",
|
||||
"buffer": "^5.4.3",
|
||||
"bugsnag-react-native": "^2.23.4",
|
||||
"bugsnag-react-native": "^2.23.10",
|
||||
"core-js": "3.6.4",
|
||||
"crypto-js": "^3.1.9-1",
|
||||
"currency-symbol-map": "^4.0.4",
|
||||
@ -73,8 +74,10 @@
|
||||
"react-native-extended-stylesheet": "^0.10.0",
|
||||
"react-native-fast-image": "^8.3.2",
|
||||
"react-native-gesture-handler": "^1.4.1",
|
||||
"react-native-highlight-words": "^1.0.1",
|
||||
"react-native-iap": "3.4.15",
|
||||
"react-native-image-crop-picker": "^0.26.1",
|
||||
"react-native-image-crop-picker": "^0.35.2",
|
||||
"react-native-image-size": "^1.1.3",
|
||||
"react-native-image-zoom-viewer": "^2.2.27",
|
||||
"react-native-keyboard-aware-scroll-view": "^0.9.1",
|
||||
"react-native-linear-gradient": "^2.4.2",
|
||||
@ -87,6 +90,8 @@
|
||||
"react-native-qrcode-svg": "^6.0.3",
|
||||
"react-native-reanimated": "^1.3.0",
|
||||
"react-native-receive-sharing-intent": "ecency/react-native-receive-sharing-intent",
|
||||
"react-native-restart": "0.0.17",
|
||||
"react-native-safe-area-context": "^3.1.9",
|
||||
"react-native-screens": "^2.9.0",
|
||||
"react-native-scrollable-tab-view": "ecency/react-native-scrollable-tab-view",
|
||||
"react-native-snap-carousel": "^3.8.0",
|
||||
|
1
src/assets/animations/empty_screen.json
Normal file
1
src/assets/animations/empty_screen.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 5.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 8.3 KiB |
@ -0,0 +1,94 @@
|
||||
import React, { useEffect, useRef, useState } from 'react';
|
||||
import { useSelector, useDispatch } from 'react-redux';
|
||||
|
||||
import { navigate } from '../../../navigation/service';
|
||||
|
||||
import { updateCurrentAccount } from '../../../redux/actions/accountAction';
|
||||
import { isRenderRequired } from '../../../redux/actions/applicationActions';
|
||||
|
||||
import { getUserDataWithUsername } from '../../../realm/realm';
|
||||
import { switchAccount } from '../../../providers/hive/auth';
|
||||
|
||||
import AccountsBottomSheet from '../view/accountsBottomSheetView';
|
||||
import { toggleAccountsBottomSheet } from '../../../redux/actions/uiAction';
|
||||
|
||||
const AccountsBottomSheetContainer = ({ navigation }) => {
|
||||
const dispatch = useDispatch();
|
||||
const accountsBottomSheetViewRef = useRef();
|
||||
|
||||
const isVisibleAccountsBottomSheet = useSelector(
|
||||
(state) => state.ui.isVisibleAccountsBottomSheet,
|
||||
);
|
||||
const currentAccount = useSelector((state) => state.account.currentAccount);
|
||||
const accounts = useSelector((state) => state.account.otherAccounts);
|
||||
|
||||
useEffect(() => {
|
||||
if (isVisibleAccountsBottomSheet) {
|
||||
accountsBottomSheetViewRef.current?.showAccountsBottomSheet();
|
||||
}
|
||||
}, [isVisibleAccountsBottomSheet]);
|
||||
|
||||
const _navigateToRoute = (routeName = null) => {
|
||||
if (routeName) {
|
||||
accountsBottomSheetViewRef.current?.closeAccountsBottomSheet();
|
||||
navigate({ routeName });
|
||||
}
|
||||
};
|
||||
|
||||
const _switchAccount = async (account = {}) => {
|
||||
if (account.username !== currentAccount.name) {
|
||||
_handleSwitch(account);
|
||||
} else {
|
||||
accountsBottomSheetViewRef.current?.closeAccountsBottomSheet();
|
||||
}
|
||||
};
|
||||
|
||||
const _handleSwitch = async (switchingAccount = {}) => {
|
||||
// Call this dispatch because when we make request, onDismiss is not working
|
||||
// =========================================================================
|
||||
accountsBottomSheetViewRef.current?.closeAccountsBottomSheet();
|
||||
dispatch(toggleAccountsBottomSheet());
|
||||
// =========================================================================
|
||||
|
||||
const accountData = accounts.filter(
|
||||
(account) => account.username === switchingAccount.username,
|
||||
)[0];
|
||||
|
||||
// control user persist whole data or just username
|
||||
if (accountData.name) {
|
||||
accountData.username = accountData.name;
|
||||
|
||||
dispatch(updateCurrentAccount(accountData));
|
||||
dispatch(isRenderRequired(true));
|
||||
|
||||
const upToDateCurrentAccount = await switchAccount(accountData.name);
|
||||
const realmData = await getUserDataWithUsername(accountData.name);
|
||||
|
||||
upToDateCurrentAccount.username = upToDateCurrentAccount.name;
|
||||
upToDateCurrentAccount.local = realmData[0];
|
||||
|
||||
dispatch(updateCurrentAccount(upToDateCurrentAccount));
|
||||
} else {
|
||||
const _currentAccount = await switchAccount(accountData.username);
|
||||
const realmData = await getUserDataWithUsername(accountData.username);
|
||||
|
||||
_currentAccount.username = _currentAccount.name;
|
||||
_currentAccount.local = realmData[0];
|
||||
|
||||
dispatch(updateCurrentAccount(_currentAccount));
|
||||
dispatch(isRenderRequired(true));
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<AccountsBottomSheet
|
||||
ref={accountsBottomSheetViewRef}
|
||||
accounts={accounts}
|
||||
currentAccount={currentAccount}
|
||||
navigateToRoute={_navigateToRoute}
|
||||
switchAccount={_switchAccount}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default AccountsBottomSheetContainer;
|
5
src/components/accountsBottomSheet/index.js
Normal file
5
src/components/accountsBottomSheet/index.js
Normal file
@ -0,0 +1,5 @@
|
||||
import AccountsBottomSheetContainer from './container/accountsBottomSheetContainer';
|
||||
import AccountsBottomSheet from './view/accountsBottomSheetView';
|
||||
|
||||
export { AccountsBottomSheet, AccountsBottomSheetContainer };
|
||||
export default AccountsBottomSheetContainer;
|
@ -0,0 +1,144 @@
|
||||
import EStyleSheet from 'react-native-extended-stylesheet';
|
||||
|
||||
export default EStyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
padding: 24,
|
||||
justifyContent: 'center',
|
||||
backgroundColor: 'grey',
|
||||
},
|
||||
contentContainer: {
|
||||
flex: 1,
|
||||
alignItems: 'center',
|
||||
},
|
||||
backdrop: {
|
||||
position: 'absolute',
|
||||
height: '$deviceHeight',
|
||||
width: '$deviceWidth',
|
||||
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
||||
},
|
||||
otherUserAvatar: {
|
||||
borderWidth: 0.1,
|
||||
borderColor: '$borderColor',
|
||||
marginLeft: -7,
|
||||
marginRight: 10,
|
||||
},
|
||||
userInfoWrapper: {
|
||||
alignSelf: 'center',
|
||||
marginLeft: 15,
|
||||
width: 120,
|
||||
},
|
||||
listItem: {
|
||||
marginVertical: 15,
|
||||
},
|
||||
listItemIcon: {
|
||||
color: '$iconColor',
|
||||
fontSize: 20,
|
||||
marginRight: 5,
|
||||
width: 20,
|
||||
},
|
||||
listItemText: {
|
||||
color: '$primaryDarkGray',
|
||||
marginLeft: 12,
|
||||
alignSelf: 'center',
|
||||
fontWeight: '500',
|
||||
fontSize: 14,
|
||||
flex: 1,
|
||||
},
|
||||
buttonText: {
|
||||
fontSize: 18,
|
||||
fontFamily: '$primaryFont',
|
||||
textAlign: 'center',
|
||||
margin: 10,
|
||||
color: '$white',
|
||||
backgroundColor: 'transparent',
|
||||
},
|
||||
addAccountWrapper: {
|
||||
alignSelf: 'flex-end',
|
||||
justifyContent: 'center',
|
||||
flex: 1,
|
||||
flexDirection: 'row',
|
||||
},
|
||||
itemWrapper: {
|
||||
flexDirection: 'row',
|
||||
marginLeft: 55,
|
||||
},
|
||||
versionText: {
|
||||
textAlign: 'center',
|
||||
color: '$iconColor',
|
||||
},
|
||||
imageBackground: {
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
flexDirection: 'row',
|
||||
},
|
||||
iconWrapper: {
|
||||
width: 32,
|
||||
height: 32,
|
||||
borderRadius: 16,
|
||||
borderColor: 'white',
|
||||
borderWidth: 1,
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
},
|
||||
optionIcon: {
|
||||
height: 16,
|
||||
width: 16,
|
||||
},
|
||||
accountTile: {
|
||||
height: 60,
|
||||
flexDirection: 'row',
|
||||
paddingHorizontal: 16,
|
||||
alignItems: 'center',
|
||||
flex: 1,
|
||||
justifyContent: 'space-between',
|
||||
},
|
||||
nameContainer: {
|
||||
marginLeft: 8,
|
||||
},
|
||||
displayName: {
|
||||
fontWeight: '600',
|
||||
fontSize: 16,
|
||||
color: '$primaryBlack',
|
||||
},
|
||||
name: {
|
||||
color: '$primaryDarkGray',
|
||||
},
|
||||
accountsModal: {
|
||||
backgroundColor: '$primaryBackgroundColor',
|
||||
flex: 1,
|
||||
},
|
||||
handleComponent: {
|
||||
backgroundColor: '$primaryBackgroundColor',
|
||||
height: 20,
|
||||
borderTopLeftRadius: 10,
|
||||
borderTopRightRadius: 10,
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
},
|
||||
handle: {
|
||||
height: 3,
|
||||
width: 24,
|
||||
backgroundColor: '$darkIconColor',
|
||||
borderRadius: 12,
|
||||
},
|
||||
textButton: {
|
||||
color: '$primaryBlue',
|
||||
},
|
||||
buttonContainer: {
|
||||
height: 50,
|
||||
justifyContent: 'center',
|
||||
paddingHorizontal: 16,
|
||||
},
|
||||
separator: {
|
||||
backgroundColor: '$darkIconColor',
|
||||
height: 0.5,
|
||||
},
|
||||
avatarAndNameContainer: {
|
||||
flexDirection: 'row',
|
||||
alignItems: 'center',
|
||||
},
|
||||
checkIcon: {
|
||||
color: '$successColor',
|
||||
},
|
||||
});
|
@ -0,0 +1,119 @@
|
||||
import React, { useCallback, useMemo, useRef, forwardRef, useImperativeHandle } from 'react';
|
||||
import { View, Text, TouchableOpacity } from 'react-native';
|
||||
import { useDispatch } from 'react-redux';
|
||||
import { useIntl } from 'react-intl';
|
||||
import {
|
||||
BottomSheetModal,
|
||||
BottomSheetModalProvider,
|
||||
BottomSheetFlatList,
|
||||
} from '@gorhom/bottom-sheet';
|
||||
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
||||
|
||||
import { toggleAccountsBottomSheet } from '../../../redux/actions/uiAction';
|
||||
|
||||
import { UserAvatar, Icon, TextButton, Separator } from '../../index';
|
||||
|
||||
import { default as ROUTES } from '../../../constants/routeNames';
|
||||
|
||||
import styles from './accountsBottomSheetStyles';
|
||||
import { switchAccount } from '../../../providers/hive/auth';
|
||||
|
||||
const AccountsBottomSheet = forwardRef(
|
||||
({ accounts, currentAccount, navigateToRoute, switchAccount }, ref) => {
|
||||
const dispatch = useDispatch();
|
||||
const bottomSheetModalRef = useRef();
|
||||
const insets = useSafeAreaInsets();
|
||||
const intl = useIntl();
|
||||
|
||||
const snapPoints = [accounts.length <= 4 ? accounts.length * 60 + 150 : 405];
|
||||
|
||||
useImperativeHandle(ref, () => ({
|
||||
showAccountsBottomSheet() {
|
||||
bottomSheetModalRef.current?.present();
|
||||
},
|
||||
closeAccountsBottomSheet() {
|
||||
_handleCloseBottomSheet();
|
||||
},
|
||||
}));
|
||||
|
||||
const _handleCloseBottomSheet = () => {
|
||||
bottomSheetModalRef.current?.dismiss();
|
||||
};
|
||||
|
||||
const _handleDispatchDismissBottomSheet = () => {
|
||||
dispatch(toggleAccountsBottomSheet());
|
||||
};
|
||||
|
||||
//_handlePressAccountTile(item)
|
||||
const _renderAccountTile = (item) => (
|
||||
<TouchableOpacity style={styles.accountTile} onPress={() => switchAccount(item)}>
|
||||
<View style={styles.avatarAndNameContainer}>
|
||||
<UserAvatar username={item.username} />
|
||||
<View style={styles.nameContainer}>
|
||||
<Text style={styles.name}>{`@${item.username}`}</Text>
|
||||
</View>
|
||||
</View>
|
||||
{currentAccount.name === item.name && (
|
||||
<Icon iconType="AntDesign" name="checkcircle" style={styles.checkIcon} size={24} />
|
||||
)}
|
||||
</TouchableOpacity>
|
||||
);
|
||||
|
||||
const renderHandleComponent = () => (
|
||||
<View style={styles.handleComponent}>
|
||||
<View style={styles.handle} />
|
||||
</View>
|
||||
);
|
||||
|
||||
return (
|
||||
<BottomSheetModalProvider>
|
||||
<BottomSheetModal
|
||||
backdropComponent={() => (
|
||||
<TouchableOpacity
|
||||
style={styles.backdrop}
|
||||
activeOpacity={1}
|
||||
onPress={_handleCloseBottomSheet}
|
||||
/>
|
||||
)}
|
||||
ref={bottomSheetModalRef}
|
||||
index={0}
|
||||
snapPoints={snapPoints}
|
||||
onDismiss={_handleDispatchDismissBottomSheet}
|
||||
shouldMeasureContentHeight={true}
|
||||
handleComponent={renderHandleComponent}
|
||||
>
|
||||
<View style={styles.accountsModal}>
|
||||
<BottomSheetFlatList
|
||||
data={accounts}
|
||||
scrollEnabled
|
||||
keyExtractor={(item) => item.name}
|
||||
renderItem={({ item }) => _renderAccountTile(item)}
|
||||
//contentContainerStyle={styles.contentContainer}
|
||||
/>
|
||||
<Separator style={styles.separator} />
|
||||
<View style={{ paddingBottom: insets.bottom }}>
|
||||
<View style={styles.buttonContainer}>
|
||||
<TextButton
|
||||
text={intl.formatMessage({ id: 'side_menu.create_a_new_account' })}
|
||||
textStyle={styles.textButton}
|
||||
onPress={() => navigateToRoute(ROUTES.SCREENS.REGISTER)}
|
||||
/>
|
||||
</View>
|
||||
<Separator style={styles.separator} />
|
||||
<View style={styles.buttonContainer}>
|
||||
<TextButton
|
||||
text={intl.formatMessage({ id: 'side_menu.add_an_existing_account' })}
|
||||
textStyle={styles.textButton}
|
||||
onPress={() => navigateToRoute(ROUTES.SCREENS.LOGIN)}
|
||||
/>
|
||||
</View>
|
||||
<Separator style={styles.separator} />
|
||||
</View>
|
||||
</View>
|
||||
</BottomSheetModal>
|
||||
</BottomSheetModalProvider>
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
export default AccountsBottomSheet;
|
@ -84,4 +84,9 @@ export default EStyleSheet.create({
|
||||
backgroundColor: '$primaryBackgroundColor',
|
||||
alignItems: 'center',
|
||||
},
|
||||
beneficiaryModal: {
|
||||
flex: 1,
|
||||
backgroundColor: '$modalBackground',
|
||||
margin: 0,
|
||||
},
|
||||
});
|
||||
|
@ -27,6 +27,7 @@ const BasicHeaderView = ({
|
||||
intl,
|
||||
isDraftSaved,
|
||||
isDraftSaving,
|
||||
isDraft,
|
||||
isFormValid,
|
||||
isHasDropdown,
|
||||
isHasIcons,
|
||||
@ -264,10 +265,12 @@ const BasicHeaderView = ({
|
||||
handleOnModalClose={() => setBeneficiaryModal(false)}
|
||||
title={intl.formatMessage({ id: 'editor.beneficiaries' })}
|
||||
animationType="slide"
|
||||
style={styles.beneficiaryModal}
|
||||
>
|
||||
<BeneficiaryModal
|
||||
username={username}
|
||||
handleOnSaveBeneficiaries={_handleOnSaveBeneficiaries}
|
||||
isDraft={isDraft}
|
||||
/>
|
||||
</Modal>
|
||||
<Modal
|
||||
|
@ -11,6 +11,7 @@ import UserListItem from './view/userListItem/userListItem';
|
||||
import WalletLineItem from './view/walletLineItem/walletLineItemView';
|
||||
import CommunityListItem from './view/communityListItem/communityListItem';
|
||||
import Separator from './view/separator/separatorView';
|
||||
import EmptyScreen from './view/emptyScreen/emptyScreenView';
|
||||
|
||||
// Placeholders
|
||||
import ListItemPlaceHolder from './view/placeHolder/listItemPlaceHolderView';
|
||||
@ -48,4 +49,5 @@ export {
|
||||
WalletUnclaimedPlaceHolder,
|
||||
CommunitiesPlaceHolder,
|
||||
Separator,
|
||||
EmptyScreen,
|
||||
};
|
||||
|
@ -0,0 +1,7 @@
|
||||
import EStyleSheet from 'react-native-extended-stylesheet';
|
||||
|
||||
export default EStyleSheet.create({
|
||||
text: {
|
||||
color: '$primaryBlack',
|
||||
},
|
||||
});
|
@ -0,0 +1,27 @@
|
||||
import React from 'react';
|
||||
import { View, Text } from 'react-native';
|
||||
import LottieView from 'lottie-react-native';
|
||||
import { useIntl } from 'react-intl';
|
||||
|
||||
import styles from './emptyScreenStyles';
|
||||
import globalStyles from '../../../../globalStyles';
|
||||
|
||||
const EmptyScreenView = ({ style, textStyle, text }) => {
|
||||
const intl = useIntl();
|
||||
|
||||
return (
|
||||
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
|
||||
<LottieView
|
||||
style={[{ width: 150, height: 150, marginBottom: 12 }, style]}
|
||||
source={require('../../../../assets/animations/empty_screen.json')}
|
||||
autoPlay
|
||||
loop={true}
|
||||
/>
|
||||
<Text style={[globalStyles.title, styles.text, textStyle]}>
|
||||
{text || intl.formatMessage({ id: 'empty_screen.nothing_here' })}
|
||||
</Text>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
export default EmptyScreenView;
|
@ -28,35 +28,33 @@ const TagContainer = ({
|
||||
style,
|
||||
textStyle,
|
||||
disabled,
|
||||
communityTitle,
|
||||
}) => {
|
||||
const [label, setLabel] = useState(value);
|
||||
const [isCommunity, setIsCommunity] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
let isCancelled = false;
|
||||
if (value && /^hive-\d+/.test(value)) {
|
||||
getCommunityTitle(value)
|
||||
.then((r) => {
|
||||
if (!isCancelled) {
|
||||
if (value && /hive-[1-3]\d{4,6}$/.test(value)) {
|
||||
if (communityTitle) {
|
||||
setLabel(communityTitle);
|
||||
setIsCommunity(true);
|
||||
} else {
|
||||
getCommunityTitle(value)
|
||||
.then((r) => {
|
||||
setLabel(r);
|
||||
setIsCommunity(value !== r);
|
||||
return r;
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
if (!isCancelled) {
|
||||
})
|
||||
.catch((e) => {
|
||||
setLabel(value);
|
||||
setIsCommunity(/^hive-\d+/.test(value));
|
||||
setIsCommunity(/hive-[1-3]\d{4,6}$/.test(value));
|
||||
return value;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
} else {
|
||||
setLabel(value);
|
||||
setIsCommunity(false);
|
||||
}
|
||||
return () => {
|
||||
isCancelled = true;
|
||||
};
|
||||
});
|
||||
|
||||
// Component Functions
|
||||
|
@ -14,7 +14,7 @@ export default EStyleSheet.create({
|
||||
backgroundColor: '$tagColor',
|
||||
},
|
||||
textWrapper: {
|
||||
paddingHorizontal: Platform.OS === 'android' ? 20 : 10,
|
||||
paddingHorizontal: Platform.OS === 'android' ? 16 : 8,
|
||||
justifyContent: 'center',
|
||||
marginRight: 8,
|
||||
marginLeft: 8,
|
||||
|
@ -35,7 +35,7 @@ const Tag = ({
|
||||
textStyle,
|
||||
]}
|
||||
>
|
||||
{label}
|
||||
{` ${label} `}
|
||||
</Text>
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
|
@ -1,5 +1,6 @@
|
||||
import React from 'react';
|
||||
import { ActivityIndicator, View, Text, TouchableOpacity } from 'react-native';
|
||||
import Highlighter from 'react-native-highlight-words';
|
||||
|
||||
import { UserAvatar } from '../../../userAvatar';
|
||||
import Tag from '../tag/tagView';
|
||||
@ -8,6 +9,7 @@ import styles from './userListItemStyles';
|
||||
const UserListItem = ({
|
||||
rightText,
|
||||
description,
|
||||
descriptionStyle,
|
||||
username,
|
||||
subRightText,
|
||||
index,
|
||||
@ -25,6 +27,7 @@ const UserListItem = ({
|
||||
isFollowing = false,
|
||||
isLoadingRightAction = false,
|
||||
isLoggedIn,
|
||||
searchValue,
|
||||
}) => {
|
||||
const _handleSubscribeButtonPress = () => {
|
||||
const _data = {};
|
||||
@ -43,8 +46,27 @@ const UserListItem = ({
|
||||
{itemIndex && <Text style={styles.itemIndex}>{itemIndex}</Text>}
|
||||
<UserAvatar noAction={true} style={styles.avatar} username={username} />
|
||||
<View style={styles.userDescription}>
|
||||
<Text style={styles.name}>{text || username}</Text>
|
||||
{description && <Text style={styles.date}>{description}</Text>}
|
||||
{!searchValue && <Text style={styles.name}>{text || username}</Text>}
|
||||
{!!searchValue && (
|
||||
<Highlighter
|
||||
highlightStyle={{ backgroundColor: 'yellow' }}
|
||||
searchWords={[searchValue]}
|
||||
textToHighlight={text || username}
|
||||
style={styles.name}
|
||||
/>
|
||||
)}
|
||||
{!!searchValue && (
|
||||
<Highlighter
|
||||
highlightStyle={{ backgroundColor: 'yellow' }}
|
||||
searchWords={[searchValue]}
|
||||
textToHighlight={description}
|
||||
style={styles.summary}
|
||||
numberOfLines={3}
|
||||
/>
|
||||
)}
|
||||
{description && !searchValue && (
|
||||
<Text style={[styles.date, descriptionStyle]}>{description}</Text>
|
||||
)}
|
||||
</View>
|
||||
{middleText && (
|
||||
<View style={styles.middleWrapper}>
|
||||
|
@ -1,6 +1,8 @@
|
||||
import React, { useState, useCallback } from 'react';
|
||||
import React, { useState, useCallback, useEffect } from 'react';
|
||||
import { View, FlatList, Text } from 'react-native';
|
||||
import { useIntl } from 'react-intl';
|
||||
import AsyncStorage from '@react-native-community/async-storage';
|
||||
import { isArray, remove } from 'lodash';
|
||||
|
||||
import { lookupAccounts } from '../../providers/hive/dhive';
|
||||
|
||||
@ -8,13 +10,32 @@ import { FormInput, MainButton, Tag } from '..';
|
||||
|
||||
import styles from './beneficiaryModalStyles';
|
||||
|
||||
const BeneficiaryModal = ({ username, handleOnSaveBeneficiaries }) => {
|
||||
const BeneficiaryModal = ({ username, handleOnSaveBeneficiaries, isDraft }) => {
|
||||
const intl = useIntl();
|
||||
|
||||
const [beneficiaries, setBeneficiaries] = useState([
|
||||
{ account: username, weight: 10000, isValid: true },
|
||||
]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!isDraft) {
|
||||
readTempBeneficiaries();
|
||||
}
|
||||
}, []);
|
||||
|
||||
const readTempBeneficiaries = async () => {
|
||||
const tempBeneficiariesString = await AsyncStorage.getItem('temp-beneficiaries');
|
||||
const tempBeneficiaries = JSON.parse(tempBeneficiariesString);
|
||||
|
||||
if (isArray(tempBeneficiaries)) {
|
||||
tempBeneficiaries.forEach((item) => {
|
||||
item.isValid = true;
|
||||
});
|
||||
|
||||
setBeneficiaries(tempBeneficiaries);
|
||||
}
|
||||
};
|
||||
|
||||
const _addAccount = () => {
|
||||
setBeneficiaries([...beneficiaries, { account: '', weight: 0, isValid: false }]);
|
||||
};
|
||||
@ -48,43 +69,53 @@ const BeneficiaryModal = ({ username, handleOnSaveBeneficiaries }) => {
|
||||
return beneficiaries.every((item) => item.isValid);
|
||||
};
|
||||
|
||||
const renderInputs = useCallback(
|
||||
({ item, index }) => {
|
||||
const _isCurrentUser = item.account === username;
|
||||
const _onBlur = (item, index) => {
|
||||
if (item.weight === 0) {
|
||||
const newBeneficiaries = [...beneficiaries];
|
||||
remove(newBeneficiaries, (current) => {
|
||||
return current.account === item.account;
|
||||
});
|
||||
|
||||
return (
|
||||
<View style={styles.inputWrapper}>
|
||||
<View style={styles.weightInput}>
|
||||
<FormInput
|
||||
isValid={_isCurrentUser || (item.weight !== 0 && item.weight <= 10000)}
|
||||
isEditable={!_isCurrentUser}
|
||||
value={`${item.weight / 100}`}
|
||||
inputStyle={styles.weightFormInput}
|
||||
wrapperStyle={styles.weightFormInputWrapper}
|
||||
onChange={(value) => _onWeightInputChange(value, index)}
|
||||
/>
|
||||
</View>
|
||||
<View style={styles.usernameInput}>
|
||||
<FormInput
|
||||
rightIconName="at"
|
||||
iconType="MaterialCommunityIcons"
|
||||
isValid={_isCurrentUser || item.isValid}
|
||||
//isEditable={!_isCurrentUser}
|
||||
onChange={(value) => _onUsernameInputChange(value, index)}
|
||||
placeholder={intl.formatMessage({
|
||||
id: 'login.username',
|
||||
})}
|
||||
type="username"
|
||||
isFirstImage
|
||||
value={item.account}
|
||||
wrapperStyle={styles.usernameFormInputWrapper}
|
||||
/>
|
||||
</View>
|
||||
setBeneficiaries(newBeneficiaries);
|
||||
}
|
||||
};
|
||||
|
||||
const renderInputs = ({ item, index }) => {
|
||||
const _isCurrentUser = item.account === username;
|
||||
|
||||
return (
|
||||
<View style={styles.inputWrapper}>
|
||||
<View style={styles.weightInput}>
|
||||
<FormInput
|
||||
isValid={_isCurrentUser || (item.weight !== 0 && item.weight <= 10000)}
|
||||
isEditable={!_isCurrentUser}
|
||||
value={`${item.weight / 100}`}
|
||||
inputStyle={styles.weightFormInput}
|
||||
wrapperStyle={styles.weightFormInputWrapper}
|
||||
onChange={(value) => _onWeightInputChange(value, index)}
|
||||
onBlur={() => _onBlur(item, index)}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
},
|
||||
[beneficiaries],
|
||||
);
|
||||
<View style={styles.usernameInput}>
|
||||
<FormInput
|
||||
rightIconName="at"
|
||||
iconType="MaterialCommunityIcons"
|
||||
isValid={_isCurrentUser || item.isValid}
|
||||
//isEditable={!_isCurrentUser}
|
||||
onChange={(value) => _onUsernameInputChange(value, index)}
|
||||
placeholder={intl.formatMessage({
|
||||
id: 'beneficiary_modal.username',
|
||||
})}
|
||||
type="username"
|
||||
isFirstImage
|
||||
value={item.account}
|
||||
inputStyle={styles.usernameInput}
|
||||
wrapperStyle={styles.usernameFormInputWrapper}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
@ -95,17 +126,27 @@ const BeneficiaryModal = ({ username, handleOnSaveBeneficiaries }) => {
|
||||
ListHeaderComponent={() => (
|
||||
<View style={styles.inputWrapper}>
|
||||
<View style={[styles.weightInput, { alignItems: 'center' }]}>
|
||||
<Text>Weight(%)</Text>
|
||||
<Text style={styles.text}>
|
||||
{intl.formatMessage({
|
||||
id: 'beneficiary_modal.percent',
|
||||
})}
|
||||
</Text>
|
||||
</View>
|
||||
<View style={[styles.usernameInput, { alignItems: 'center' }]}>
|
||||
<Text>Username</Text>
|
||||
<Text style={styles.text}>
|
||||
{intl.formatMessage({
|
||||
id: 'beneficiary_modal.username',
|
||||
})}
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
)}
|
||||
ListFooterComponent={() => (
|
||||
<View style={{ alignItems: 'flex-end', marginTop: 20 }}>
|
||||
<Tag
|
||||
value="Add Account"
|
||||
value={intl.formatMessage({
|
||||
id: 'beneficiary_modal.addAccount',
|
||||
})}
|
||||
isFilter
|
||||
disabled={!_isValid()}
|
||||
isPin={_isValid()}
|
||||
@ -120,7 +161,9 @@ const BeneficiaryModal = ({ username, handleOnSaveBeneficiaries }) => {
|
||||
style={styles.saveButton}
|
||||
isDisable={!_isValid()}
|
||||
onPress={() => handleOnSaveBeneficiaries(beneficiaries)}
|
||||
text="Save"
|
||||
text={intl.formatMessage({
|
||||
id: 'beneficiary_modal.save',
|
||||
})}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
|
@ -1,13 +1,18 @@
|
||||
import EStyleSheet from 'react-native-extended-stylesheet';
|
||||
|
||||
export default EStyleSheet.create({
|
||||
container: { flex: 1, justifyContent: 'space-between' },
|
||||
container: {
|
||||
flex: 1,
|
||||
justifyContent: 'space-between',
|
||||
padding: 16,
|
||||
},
|
||||
bodyWrapper: { flex: 3, paddingTop: 20 },
|
||||
inputWrapper: { flexDirection: 'row', alignItems: 'center' },
|
||||
text: { color: '$primaryBlack', marginBottom: 8 },
|
||||
weightInput: { flex: 1 },
|
||||
weightFormInput: { textAlign: 'center' },
|
||||
weightFormInput: { textAlign: 'center', color: '$primaryBlack' },
|
||||
weightFormInputWrapper: { marginTop: 0 },
|
||||
usernameInput: { flex: 4 },
|
||||
usernameInput: { flex: 3, color: '$primaryBlack', marginLeft: 16 },
|
||||
usernameFormInputWrapper: { marginTop: 0, marginLeft: 10 },
|
||||
footerWrapper: { flex: 1 },
|
||||
saveButton: {
|
||||
|
3
src/components/communitiesList/index.js
Normal file
3
src/components/communitiesList/index.js
Normal file
@ -0,0 +1,3 @@
|
||||
import CommunitiesList from './view/communitiesList';
|
||||
|
||||
export default CommunitiesList;
|
@ -2,23 +2,22 @@ import React from 'react';
|
||||
import { SafeAreaView, FlatList } from 'react-native';
|
||||
|
||||
// Components
|
||||
import CommunitiesListItem from './CommunitiesListItem';
|
||||
import { CommunitiesPlaceHolder } from '../../../components/basicUIElements';
|
||||
import { CommunitiesPlaceHolder } from '../../basicUIElements';
|
||||
import CommunitiesListItem from './communitiesListItem';
|
||||
|
||||
// Styles
|
||||
import styles from './communitiesListStyles';
|
||||
|
||||
const CommunitiesList = ({
|
||||
votes,
|
||||
data,
|
||||
subscribingCommunities,
|
||||
handleOnPress,
|
||||
handleSubscribeButtonPress,
|
||||
allSubscriptions,
|
||||
isLoggedIn,
|
||||
noResult,
|
||||
screen,
|
||||
}) => {
|
||||
const _renderItem = ({ item, index }) => {
|
||||
const isSubscribed = allSubscriptions.some((sub) => sub[0] === item.name);
|
||||
|
||||
return (
|
||||
<CommunitiesListItem
|
||||
index={index}
|
||||
@ -33,8 +32,13 @@ const CommunitiesList = ({
|
||||
name={item.name}
|
||||
handleOnPress={handleOnPress}
|
||||
handleSubscribeButtonPress={handleSubscribeButtonPress}
|
||||
isSubscribed={isSubscribed}
|
||||
isSubscribed={item.isSubscribed}
|
||||
isLoggedIn={isLoggedIn}
|
||||
loading={
|
||||
subscribingCommunities.hasOwnProperty(item.name) &&
|
||||
subscribingCommunities[item.name].loading
|
||||
}
|
||||
screen={screen}
|
||||
/>
|
||||
);
|
||||
};
|
||||
@ -57,8 +61,8 @@ const CommunitiesList = ({
|
||||
<SafeAreaView style={styles.container}>
|
||||
{!noResult && (
|
||||
<FlatList
|
||||
data={votes}
|
||||
keyExtractor={(item) => item.id && item.id.toString()}
|
||||
data={data}
|
||||
keyExtractor={(item, index) => index.toString()}
|
||||
renderItem={_renderItem}
|
||||
ListEmptyComponent={_renderEmptyContent}
|
||||
/>
|
@ -0,0 +1,3 @@
|
||||
import CommunitiesListItem from './view/CommunitiesListItem';
|
||||
|
||||
export default CommunitiesListItem;
|
@ -1,12 +1,12 @@
|
||||
import React, { useState } from 'react';
|
||||
import { View, Text, TouchableOpacity } from 'react-native';
|
||||
import { View, Text, TouchableOpacity, ActivityIndicator } from 'react-native';
|
||||
import { useIntl } from 'react-intl';
|
||||
|
||||
import styles from './communitiesListItemStyles';
|
||||
|
||||
import { Tag } from '../../../components/basicUIElements';
|
||||
import { Tag } from '../../../../basicUIElements';
|
||||
|
||||
const UserListItem = ({
|
||||
const CommunitiesListItem = ({
|
||||
index,
|
||||
handleOnPress,
|
||||
handleOnLongPress,
|
||||
@ -22,14 +22,13 @@ const UserListItem = ({
|
||||
handleSubscribeButtonPress,
|
||||
isSubscribed,
|
||||
isLoggedIn,
|
||||
loading,
|
||||
screen,
|
||||
}) => {
|
||||
const [subscribed, setSubscribed] = useState(isSubscribed);
|
||||
const intl = useIntl();
|
||||
|
||||
const _handleSubscribeButtonPress = () => {
|
||||
handleSubscribeButtonPress({ subscribed: !subscribed, communityId: name }).then(() => {
|
||||
setSubscribed(!subscribed);
|
||||
});
|
||||
handleSubscribeButtonPress({ isSubscribed: isSubscribed, communityId: name }, screen);
|
||||
};
|
||||
|
||||
return (
|
||||
@ -41,24 +40,29 @@ const UserListItem = ({
|
||||
<View style={styles.content}>
|
||||
<View style={styles.header}>
|
||||
<Text style={styles.title}>{title}</Text>
|
||||
{isLoggedIn && (
|
||||
<Tag
|
||||
style={styles.subscribeButton}
|
||||
textStyle={subscribed && styles.subscribeButtonText}
|
||||
value={
|
||||
!subscribed
|
||||
? intl.formatMessage({
|
||||
id: 'search_result.communities.subscribe',
|
||||
})
|
||||
: intl.formatMessage({
|
||||
id: 'search_result.communities.unsubscribe',
|
||||
})
|
||||
}
|
||||
isPin={!subscribed}
|
||||
isFilter
|
||||
onPress={_handleSubscribeButtonPress}
|
||||
/>
|
||||
)}
|
||||
{isLoggedIn &&
|
||||
(loading ? (
|
||||
<View style={styles.indicatorView}>
|
||||
<ActivityIndicator />
|
||||
</View>
|
||||
) : (
|
||||
<Tag
|
||||
style={styles.subscribeButton}
|
||||
textStyle={isSubscribed && styles.subscribeButtonText}
|
||||
value={
|
||||
!isSubscribed
|
||||
? intl.formatMessage({
|
||||
id: 'search_result.communities.subscribe',
|
||||
})
|
||||
: intl.formatMessage({
|
||||
id: 'search_result.communities.unsubscribe',
|
||||
})
|
||||
}
|
||||
isPin={!isSubscribed}
|
||||
isFilter
|
||||
onPress={_handleSubscribeButtonPress}
|
||||
/>
|
||||
))}
|
||||
</View>
|
||||
{!!about && <Text style={styles.about}>{about}</Text>}
|
||||
<View style={styles.separator} />
|
||||
@ -77,4 +81,4 @@ const UserListItem = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default UserListItem;
|
||||
export default CommunitiesListItem;
|
@ -59,4 +59,9 @@ export default EStyleSheet.create({
|
||||
flexDirection: 'row',
|
||||
justifyContent: 'space-between',
|
||||
},
|
||||
indicatorView: {
|
||||
width: 65,
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
},
|
||||
});
|
@ -4,7 +4,6 @@ export default EStyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
padding: 8,
|
||||
marginBottom: 40,
|
||||
flexDirection: 'row',
|
||||
backgroundColor: '$primaryBackgroundColor',
|
||||
},
|
@ -37,7 +37,7 @@ const SelectCommunityModalView = ({
|
||||
renderItem={({ item, index, separators }) => (
|
||||
<CommunityCard
|
||||
community={item}
|
||||
key={index}
|
||||
key={index.toString()}
|
||||
onPress={onPressCommunity}
|
||||
separators={separators}
|
||||
/>
|
||||
|
@ -23,6 +23,7 @@ export default EStyleSheet.create({
|
||||
flex: 6,
|
||||
},
|
||||
filterBarWrapper: {
|
||||
flex: 1,
|
||||
flexDirection: 'row',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'space-between',
|
||||
|
@ -28,6 +28,7 @@ const FormInputView = ({
|
||||
onChange,
|
||||
isValid,
|
||||
value,
|
||||
onBlur,
|
||||
}) => {
|
||||
const [_value, setValue] = useState(value || '');
|
||||
const [inputBorderColor, setInputBorderColor] = useState('#e7e7e7');
|
||||
@ -47,6 +48,14 @@ const FormInputView = ({
|
||||
setInputBorderColor('#357ce6');
|
||||
};
|
||||
|
||||
const _handleOnBlur = () => {
|
||||
setInputBorderColor('#e7e7e7');
|
||||
|
||||
if (onBlur) {
|
||||
onBlur();
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
setValue(value);
|
||||
}, [value]);
|
||||
@ -97,7 +106,7 @@ const FormInputView = ({
|
||||
<TextInput
|
||||
style={inputStyle}
|
||||
onFocus={_handleOnFocus}
|
||||
onBlur={() => setInputBorderColor('#e7e7e7')}
|
||||
onBlur={_handleOnBlur}
|
||||
autoCapitalize="none"
|
||||
secureTextEntry={secureTextEntry}
|
||||
height={height}
|
||||
|
@ -21,6 +21,7 @@ import { LoginHeader } from './loginHeader';
|
||||
import { MainButton } from './mainButton';
|
||||
import { MarkdownEditor } from './markdownEditor';
|
||||
import { Modal } from './modal';
|
||||
import AccountsBottomSheet from './accountsBottomSheet';
|
||||
import { NotificationLine } from './notificationLine';
|
||||
import { NumericKeyboard } from './numericKeyboard';
|
||||
import { ParentPost } from './parentPost';
|
||||
@ -33,6 +34,7 @@ import { PostForm } from './postForm';
|
||||
import { PostHeaderDescription, PostBody, Tags } from './postElements';
|
||||
import { PostListItem } from './postListItem';
|
||||
import { ProfileSummary } from './profileSummary';
|
||||
import { ProgressiveImage } from './progressiveImage';
|
||||
|
||||
import { SearchInput } from './searchInput';
|
||||
import { SearchModal } from './searchModal';
|
||||
@ -63,6 +65,8 @@ import ScaleSlider from './scaleSlider/scaleSliderView';
|
||||
import { ProductItemLine } from './productItemLine/productItemLineView';
|
||||
import { HorizontalIconList } from './horizontalIconList/horizontalIconListView';
|
||||
import { PopoverWrapper } from './popoverWrapper/popoverWrapperView';
|
||||
import CommunitiesList from './communitiesList';
|
||||
import SubscribedCommunitiesList from './subscribedCommunitiesList';
|
||||
|
||||
// View
|
||||
import { Comment } from './comment';
|
||||
@ -103,6 +107,7 @@ import {
|
||||
WalletLineItem,
|
||||
WalletUnclaimedPlaceHolder,
|
||||
Separator,
|
||||
EmptyScreen,
|
||||
} from './basicUIElements';
|
||||
|
||||
export {
|
||||
@ -140,6 +145,7 @@ export {
|
||||
Logo,
|
||||
MainButton,
|
||||
MarkdownEditor,
|
||||
AccountsBottomSheet,
|
||||
Modal,
|
||||
NoInternetConnection,
|
||||
NoPost,
|
||||
@ -205,6 +211,9 @@ export {
|
||||
WalletLineItem,
|
||||
WalletUnclaimedPlaceHolder,
|
||||
Separator,
|
||||
EmptyScreen,
|
||||
HorizontalIconList,
|
||||
PopoverWrapper,
|
||||
CommunitiesList,
|
||||
SubscribedCommunitiesList,
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ export default EStyleSheet.create({
|
||||
color: '$primaryBlack',
|
||||
backgroundColor: '$primaryBackgroundColor',
|
||||
// fontFamily: '$editorFont',
|
||||
//textAlignVertical: 'top',
|
||||
// textAlignVertical: 'top',
|
||||
},
|
||||
previewContainer: {
|
||||
flex: 1,
|
||||
|
@ -44,6 +44,7 @@ const MarkdownEditorView = ({
|
||||
const [text, setText] = useState(draftBody || '');
|
||||
const [selection, setSelection] = useState({ start: 0, end: 0 });
|
||||
const [editable, setEditable] = useState(true);
|
||||
const [height, setHeight] = useState(0);
|
||||
|
||||
const inputRef = useRef(null);
|
||||
const galleryRef = useRef(null);
|
||||
@ -260,7 +261,7 @@ const MarkdownEditorView = ({
|
||||
<TextInput
|
||||
multiline
|
||||
autoCorrect={true}
|
||||
autoFocus={false}
|
||||
autoFocus={isReply ? true : false}
|
||||
onChangeText={_changeText}
|
||||
onSelectionChange={_handleOnSelectionChange}
|
||||
placeholder={intl.formatMessage({
|
||||
|
@ -39,25 +39,25 @@ const PostCardContainer = ({
|
||||
}, [isRefresh]);
|
||||
|
||||
useEffect(() => {
|
||||
if (content) {
|
||||
setActiveVotes(get(content, 'active_votes', []));
|
||||
if (_content) {
|
||||
setActiveVotes(get(_content, 'active_votes', []));
|
||||
|
||||
getPostReblogs(content).then((result) => {
|
||||
getPostReblogs(_content).then((result) => {
|
||||
setReblogs(result);
|
||||
});
|
||||
setContent(content);
|
||||
setContent(_content);
|
||||
}
|
||||
}, [content]);
|
||||
}, [_content]);
|
||||
|
||||
const _handleOnUserPress = () => {
|
||||
if (content && get(currentAccount, 'name') !== get(content, 'author')) {
|
||||
if (_content && get(currentAccount, 'name') !== get(_content, 'author')) {
|
||||
navigation.navigate({
|
||||
routeName: ROUTES.SCREENS.PROFILE,
|
||||
params: {
|
||||
username: get(content, 'author'),
|
||||
reputation: get(content, 'author_reputation'),
|
||||
username: get(_content, 'author'),
|
||||
reputation: get(_content, 'author_reputation'),
|
||||
},
|
||||
key: get(content, 'author'),
|
||||
key: get(_content, 'author'),
|
||||
});
|
||||
}
|
||||
};
|
||||
@ -79,9 +79,9 @@ const PostCardContainer = ({
|
||||
routeName: ROUTES.SCREENS.VOTERS,
|
||||
params: {
|
||||
activeVotes,
|
||||
content,
|
||||
content: _content,
|
||||
},
|
||||
key: get(content, 'permlink'),
|
||||
key: get(_content, 'permlink'),
|
||||
});
|
||||
};
|
||||
|
||||
@ -91,12 +91,16 @@ const PostCardContainer = ({
|
||||
params: {
|
||||
reblogs,
|
||||
},
|
||||
key: get(content, 'permlink', get(content, 'author', '')),
|
||||
key: get(_content, 'permlink', get(_content, 'author', '')),
|
||||
});
|
||||
};
|
||||
|
||||
const _fetchPost = async () => {
|
||||
await getPost(get(content, 'author'), get(content, 'permlink'), get(currentAccount, 'username'))
|
||||
await getPost(
|
||||
get(_content, 'author'),
|
||||
get(_content, 'permlink'),
|
||||
get(currentAccount, 'username'),
|
||||
)
|
||||
.then((result) => {
|
||||
if (result) {
|
||||
setContent(result);
|
||||
|
@ -32,8 +32,8 @@ export default EStyleSheet.create({
|
||||
margin: 0,
|
||||
alignItems: 'center',
|
||||
alignSelf: 'center',
|
||||
height: 200,
|
||||
width: '$deviceWidth - 16',
|
||||
//height: 200,
|
||||
//width: '$deviceWidth - 16',
|
||||
borderRadius: 8,
|
||||
backgroundColor: '$primaryLightGray',
|
||||
},
|
||||
|
@ -1,8 +1,8 @@
|
||||
import React, { Component, useState, useEffect } from 'react';
|
||||
import get from 'lodash/get';
|
||||
import { TouchableOpacity, Text, View } from 'react-native';
|
||||
import FastImage from 'react-native-fast-image';
|
||||
import { TouchableOpacity, Text, View, Dimensions } from 'react-native';
|
||||
import { injectIntl } from 'react-intl';
|
||||
import ImageSize from 'react-native-image-size';
|
||||
|
||||
// Utils
|
||||
import { getTimeFromNow } from '../../../utils/time';
|
||||
@ -18,8 +18,13 @@ import { Upvote } from '../../upvote';
|
||||
import styles from './postCardStyles';
|
||||
|
||||
// Defaults
|
||||
import DEFAULT_IMAGE from '../../../assets/no_image.png';
|
||||
import NSFW_IMAGE from '../../../assets/nsfw.png';
|
||||
import ProgressiveImage from '../../progressiveImage';
|
||||
|
||||
const dim = Dimensions.get('window');
|
||||
const DEFAULT_IMAGE =
|
||||
'https://images.ecency.com/DQmT8R33geccEjJfzZEdsRHpP3VE8pu3peRCnQa1qukU4KR/no_image_3x.png';
|
||||
const NSFW_IMAGE =
|
||||
'https://images.ecency.com/DQmZ1jW4p7o5GyoqWyCib1fSLE2ftbewsMCt2GvbmT9kmoY/nsfw_3x.png';
|
||||
|
||||
const PostCardView = ({
|
||||
handleOnUserPress,
|
||||
@ -36,6 +41,7 @@ const PostCardView = ({
|
||||
}) => {
|
||||
const [rebloggedBy, setRebloggedBy] = useState(get(content, 'reblogged_by[0]', null));
|
||||
const [activeVot, setActiveVot] = useState(activeVotes);
|
||||
const [calcImgHeight, setCalcImgHeight] = useState(300);
|
||||
//console.log(activeVotes);
|
||||
// Component Functions
|
||||
|
||||
@ -60,13 +66,18 @@ const PostCardView = ({
|
||||
};
|
||||
|
||||
const _getPostImage = (content, isNsfwPost) => {
|
||||
if (content && content.image) {
|
||||
if (content && content.thumbnail) {
|
||||
if (isNsfwPost && content.nsfw) {
|
||||
return NSFW_IMAGE;
|
||||
return { image: NSFW_IMAGE, thumbnail: NSFW_IMAGE };
|
||||
}
|
||||
return { uri: content.image, priority: FastImage.priority.high };
|
||||
//console.log(content)
|
||||
ImageSize.getSize(content.thumbnail).then((size) => {
|
||||
setCalcImgHeight(Math.floor((size.height / size.width) * dim.width));
|
||||
});
|
||||
return { image: content.image, thumbnail: content.thumbnail };
|
||||
} else {
|
||||
return { image: DEFAULT_IMAGE, thumbnail: DEFAULT_IMAGE };
|
||||
}
|
||||
return DEFAULT_IMAGE;
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
@ -91,7 +102,7 @@ const PostCardView = ({
|
||||
profileOnPress={_handleOnUserPress}
|
||||
reputation={get(content, 'author_reputation')}
|
||||
size={36}
|
||||
tag={content.category}
|
||||
content={content}
|
||||
rebloggedBy={rebloggedBy}
|
||||
isPromoted={get(content, 'is_promoted')}
|
||||
/>
|
||||
@ -102,11 +113,13 @@ const PostCardView = ({
|
||||
<View style={styles.postBodyWrapper}>
|
||||
<TouchableOpacity style={styles.hiddenImages} onPress={_handleOnContentPress}>
|
||||
{!isHideImage && (
|
||||
<FastImage
|
||||
source={_image}
|
||||
resizeMode={FastImage.resizeMode.contain}
|
||||
style={styles.thumbnail}
|
||||
defaultSource={DEFAULT_IMAGE}
|
||||
<ProgressiveImage
|
||||
source={{ uri: _image.image }}
|
||||
thumbnailSource={{ uri: _image.thumbnail }}
|
||||
style={[
|
||||
styles.thumbnail,
|
||||
{ width: dim.width - 18, height: Math.min(calcImgHeight, dim.height) },
|
||||
]}
|
||||
/>
|
||||
)}
|
||||
<View style={[styles.postDescripton]}>
|
||||
|
@ -208,7 +208,7 @@ const CommentBody = ({
|
||||
author,
|
||||
permlink,
|
||||
},
|
||||
key: permlink,
|
||||
key: `@${author}/${permlink}`,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
@ -46,6 +46,7 @@ class PostHeaderDescription extends PureComponent {
|
||||
reputation,
|
||||
size,
|
||||
tag,
|
||||
content,
|
||||
tagOnPress,
|
||||
isShowOwnerIndicator,
|
||||
isPromoted,
|
||||
@ -90,6 +91,16 @@ class PostHeaderDescription extends PureComponent {
|
||||
</View>
|
||||
</View>
|
||||
<View style={styles.rightContainer}>
|
||||
{!!content && (
|
||||
<TouchableOpacity onPress={() => tagOnPress && tagOnPress()}>
|
||||
<Tag
|
||||
isPostCardTag={!isPromoted}
|
||||
isPin
|
||||
value={content.category}
|
||||
communityTitle={content.community_title}
|
||||
/>
|
||||
</TouchableOpacity>
|
||||
)}
|
||||
{!!tag && (
|
||||
<TouchableOpacity onPress={() => tagOnPress && tagOnPress()}>
|
||||
<Tag isPostCardTag={!isPromoted} isPin value={tag} />
|
||||
|
@ -18,8 +18,8 @@ export default EStyleSheet.create({
|
||||
margin: 0,
|
||||
alignItems: 'center',
|
||||
alignSelf: 'center',
|
||||
height: 200,
|
||||
width: '$deviceWidth - 16',
|
||||
//height: 200,
|
||||
//width: '$deviceWidth - 16',
|
||||
borderRadius: 8,
|
||||
backgroundColor: '$primaryLightGray',
|
||||
// paddingVertical: 10,
|
||||
|
@ -1,8 +1,8 @@
|
||||
import React, { useRef, Fragment } from 'react';
|
||||
import React, { useRef, useState, useEffect, Fragment } from 'react';
|
||||
import ActionSheet from 'react-native-actionsheet';
|
||||
import { View, Text, TouchableOpacity } from 'react-native';
|
||||
import { View, Text, TouchableOpacity, Dimensions } from 'react-native';
|
||||
import { injectIntl } from 'react-intl';
|
||||
import FastImage from 'react-native-fast-image';
|
||||
import ImageSize from 'react-native-image-size';
|
||||
|
||||
// Utils
|
||||
import { getTimeFromNow } from '../../../utils/time';
|
||||
@ -10,13 +10,17 @@ import { getTimeFromNow } from '../../../utils/time';
|
||||
// Components
|
||||
import { PostHeaderDescription } from '../../postElements';
|
||||
import { IconButton } from '../../iconButton';
|
||||
|
||||
// Defaults
|
||||
import DEFAULT_IMAGE from '../../../assets/no_image.png';
|
||||
import ProgressiveImage from '../../progressiveImage';
|
||||
|
||||
// Styles
|
||||
import styles from './postListItemStyles';
|
||||
|
||||
// Defaults
|
||||
const DEFAULT_IMAGE =
|
||||
'https://images.ecency.com/DQmT8R33geccEjJfzZEdsRHpP3VE8pu3peRCnQa1qukU4KR/no_image_3x.png';
|
||||
|
||||
const dim = Dimensions.get('window');
|
||||
|
||||
const PostListItemView = ({
|
||||
title,
|
||||
summary,
|
||||
@ -25,6 +29,7 @@ const PostListItemView = ({
|
||||
reputation,
|
||||
created,
|
||||
image,
|
||||
thumbnail,
|
||||
handleOnPressItem,
|
||||
handleOnRemoveItem,
|
||||
id,
|
||||
@ -32,9 +37,21 @@ const PostListItemView = ({
|
||||
isFormatedDate,
|
||||
}) => {
|
||||
const actionSheet = useRef(null);
|
||||
|
||||
const [calcImgHeight, setCalcImgHeight] = useState(300);
|
||||
// Component Life Cycles
|
||||
|
||||
useEffect(() => {
|
||||
let _isMounted = false;
|
||||
if (image) {
|
||||
if (!_isMounted) {
|
||||
ImageSize.getSize(thumbnail.uri).then((size) => {
|
||||
setCalcImgHeight(Math.floor((size.height / size.width) * dim.width));
|
||||
});
|
||||
}
|
||||
}
|
||||
return () => {
|
||||
_isMounted = true;
|
||||
};
|
||||
}, []);
|
||||
// Component Functions
|
||||
|
||||
return (
|
||||
@ -60,7 +77,14 @@ const PostListItemView = ({
|
||||
</View>
|
||||
<View style={styles.body}>
|
||||
<TouchableOpacity onPress={() => handleOnPressItem(id)}>
|
||||
<FastImage source={image} style={styles.image} defaultSource={DEFAULT_IMAGE} />
|
||||
<ProgressiveImage
|
||||
source={image}
|
||||
thumbnailSource={thumbnail}
|
||||
style={[
|
||||
styles.thumbnail,
|
||||
{ width: dim.width - 16, height: Math.min(calcImgHeight, dim.height) },
|
||||
]}
|
||||
/>
|
||||
<View style={[styles.postDescripton]}>
|
||||
<Text style={styles.title}>{title}</Text>
|
||||
<Text style={styles.summary}>{summary}</Text>
|
||||
|
@ -198,7 +198,7 @@ const PostDisplayView = ({
|
||||
name={author || post.author}
|
||||
currentAccountUsername={name}
|
||||
reputation={post.author_reputation}
|
||||
tag={post.category}
|
||||
content={post}
|
||||
size={36}
|
||||
/>
|
||||
<PostBody body={post.body} />
|
||||
|
@ -255,7 +255,7 @@ const PostsContainer = ({
|
||||
const filter = type || selectedFilterValue;
|
||||
const subfilter = selectedFeedSubfilterValue;
|
||||
let options = {};
|
||||
const limit = 7;
|
||||
const limit = 5;
|
||||
let func = null;
|
||||
|
||||
if (
|
||||
@ -319,7 +319,7 @@ const PostsContainer = ({
|
||||
_posts = unionBy(posts, _posts, 'permlink');
|
||||
}
|
||||
}
|
||||
if (posts.length <= 7 && pageType !== 'profiles') {
|
||||
if (posts.length <= 5 && pageType !== 'profiles') {
|
||||
_setFeedPosts(_posts);
|
||||
}
|
||||
|
||||
@ -462,7 +462,9 @@ const PostsContainer = ({
|
||||
});
|
||||
}
|
||||
|
||||
dispatch(subscribeAction(currentAccount, pinCode, data, successToastText, failToastText));
|
||||
dispatch(
|
||||
subscribeAction(currentAccount, pinCode, data, successToastText, failToastText, 'feedScreen'),
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
|
@ -319,7 +319,7 @@ const PostsView = ({
|
||||
removeClippedSubviews
|
||||
refreshing={refreshing}
|
||||
onRefresh={handleOnRefreshPosts}
|
||||
onEndReachedThreshold={2}
|
||||
onEndReachedThreshold={0.5}
|
||||
ListFooterComponent={_renderFooter}
|
||||
onScrollEndDrag={_handleOnScroll}
|
||||
ListEmptyComponent={_renderEmptyContent}
|
||||
|
62
src/components/progressiveImage/index.js
Normal file
62
src/components/progressiveImage/index.js
Normal file
@ -0,0 +1,62 @@
|
||||
import React from 'react';
|
||||
import { View, StyleSheet, Animated } from 'react-native';
|
||||
import FastImage from 'react-native-fast-image';
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
imageOverlay: {
|
||||
position: 'absolute',
|
||||
left: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
top: 0,
|
||||
borderRadius: 8,
|
||||
},
|
||||
container: {
|
||||
backgroundColor: '#f6f6f6',
|
||||
borderRadius: 8,
|
||||
},
|
||||
});
|
||||
|
||||
const AnimatedFastImage = Animated.createAnimatedComponent(FastImage);
|
||||
|
||||
class ProgressiveImage extends React.Component {
|
||||
thumbnailAnimated = new Animated.Value(0);
|
||||
|
||||
imageAnimated = new Animated.Value(0);
|
||||
|
||||
handleThumbnailLoad = () => {
|
||||
Animated.timing(this.thumbnailAnimated, {
|
||||
toValue: 1,
|
||||
}).start();
|
||||
};
|
||||
|
||||
onImageLoad = () => {
|
||||
Animated.timing(this.imageAnimated, {
|
||||
toValue: 1,
|
||||
}).start();
|
||||
};
|
||||
|
||||
render() {
|
||||
const { thumbnailSource, source, style, ...props } = this.props;
|
||||
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<AnimatedFastImage
|
||||
{...props}
|
||||
source={thumbnailSource}
|
||||
style={[style, { opacity: this.thumbnailAnimated }]}
|
||||
onLoad={this.handleThumbnailLoad}
|
||||
blurRadius={1}
|
||||
/>
|
||||
<AnimatedFastImage
|
||||
{...props}
|
||||
source={source}
|
||||
style={[styles.imageOverlay, { opacity: this.imageAnimated }, style]}
|
||||
onLoad={this.onImageLoad}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default ProgressiveImage;
|
@ -2,11 +2,9 @@ import React, { Component } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
// Actions
|
||||
import { getUserDataWithUsername } from '../../../realm/realm';
|
||||
import { switchAccount } from '../../../providers/hive/auth';
|
||||
import { updateCurrentAccount } from '../../../redux/actions/accountAction';
|
||||
import { toggleAccountsBottomSheet } from '../../../redux/actions/uiAction';
|
||||
|
||||
import { logout, isRenderRequired } from '../../../redux/actions/applicationActions';
|
||||
import { logout } from '../../../redux/actions/applicationActions';
|
||||
|
||||
// Component
|
||||
import SideMenuView from '../view/sideMenuView';
|
||||
@ -18,32 +16,6 @@ import SideMenuView from '../view/sideMenuView';
|
||||
*/
|
||||
|
||||
class SideMenuContainer extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
accounts: [],
|
||||
};
|
||||
}
|
||||
|
||||
// Component Life Cycle Functions
|
||||
|
||||
_createUserList = (otherAccounts) => {
|
||||
const { currentAccount } = this.props;
|
||||
|
||||
const accounts = [];
|
||||
|
||||
otherAccounts.forEach((element) => {
|
||||
accounts.push({
|
||||
name: `@${element.username}`,
|
||||
username: element.username,
|
||||
id: element.username,
|
||||
displayName: element.display_name,
|
||||
isCurrentAccount: element.username === currentAccount.name,
|
||||
});
|
||||
});
|
||||
this.setState({ accounts });
|
||||
};
|
||||
|
||||
// Component Functions
|
||||
|
||||
_navigateToRoute = (route = null) => {
|
||||
@ -53,70 +25,30 @@ class SideMenuContainer extends Component {
|
||||
}
|
||||
};
|
||||
|
||||
_switchAccount = async (switchingAccount = {}) => {
|
||||
const { dispatch, currentAccount, navigation, otherAccounts } = this.props;
|
||||
|
||||
if (switchingAccount.username !== currentAccount.name) {
|
||||
navigation.closeDrawer();
|
||||
|
||||
const accountData = otherAccounts.filter(
|
||||
(account) => account.username === switchingAccount.username,
|
||||
)[0];
|
||||
|
||||
// control user persist whole data or just username
|
||||
if (accountData.name) {
|
||||
accountData.username = accountData.name;
|
||||
|
||||
dispatch(updateCurrentAccount(accountData));
|
||||
dispatch(isRenderRequired(true));
|
||||
|
||||
const upToDateCurrentAccount = await switchAccount(accountData.name);
|
||||
const realmData = await getUserDataWithUsername(accountData.name);
|
||||
|
||||
upToDateCurrentAccount.username = upToDateCurrentAccount.name;
|
||||
upToDateCurrentAccount.local = realmData[0];
|
||||
|
||||
dispatch(updateCurrentAccount(upToDateCurrentAccount));
|
||||
} else {
|
||||
const _currentAccount = await switchAccount(accountData.username);
|
||||
const realmData = await getUserDataWithUsername(accountData.username);
|
||||
|
||||
_currentAccount.username = _currentAccount.name;
|
||||
_currentAccount.local = realmData[0];
|
||||
|
||||
dispatch(updateCurrentAccount(_currentAccount));
|
||||
dispatch(isRenderRequired(true));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_handleLogout = () => {
|
||||
const { dispatch } = this.props;
|
||||
const { logout, navigation } = this.props;
|
||||
|
||||
dispatch(logout());
|
||||
navigation.closeDrawer();
|
||||
logout();
|
||||
};
|
||||
|
||||
UNSAFE_componentWillReceiveProps(nextProps) {
|
||||
const { isLoggedIn } = this.props;
|
||||
_handlePressOptions = () => {
|
||||
const { toggleAccountsBottomSheet } = this.props;
|
||||
|
||||
if (isLoggedIn) {
|
||||
this._createUserList(nextProps.otherAccounts);
|
||||
}
|
||||
}
|
||||
toggleAccountsBottomSheet();
|
||||
};
|
||||
|
||||
render() {
|
||||
const { currentAccount, isLoggedIn } = this.props;
|
||||
const { accounts } = this.state;
|
||||
|
||||
return (
|
||||
<SideMenuView
|
||||
navigateToRoute={this._navigateToRoute}
|
||||
isLoggedIn={isLoggedIn}
|
||||
userAvatar={null}
|
||||
accounts={accounts}
|
||||
currentAccount={currentAccount}
|
||||
switchAccount={this._switchAccount}
|
||||
handleLogout={this._handleLogout}
|
||||
handlePressOptions={this._handlePressOptions}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -128,4 +60,9 @@ const mapStateToProps = (state) => ({
|
||||
otherAccounts: state.account.otherAccounts,
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps)(SideMenuContainer);
|
||||
const mapDispatchToProps = {
|
||||
toggleAccountsBottomSheet,
|
||||
logout,
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(SideMenuContainer);
|
||||
|
@ -1,35 +1,25 @@
|
||||
import React, { Component, useEffect, useState, useRef } from 'react';
|
||||
import {
|
||||
View,
|
||||
Text,
|
||||
ImageBackground,
|
||||
FlatList,
|
||||
TouchableOpacity,
|
||||
SafeAreaView,
|
||||
} from 'react-native';
|
||||
import React, { useEffect, useState, useRef } from 'react';
|
||||
import { View, Text, ImageBackground, FlatList, TouchableOpacity } from 'react-native';
|
||||
import { injectIntl, useIntl } from 'react-intl';
|
||||
import LinearGradient from 'react-native-linear-gradient';
|
||||
import ActionSheet from 'react-native-actionsheet';
|
||||
import VersionNumber from 'react-native-version-number';
|
||||
import { isEmpty } from 'lodash';
|
||||
import { getStorageType } from '../../../realm/realm';
|
||||
import Modal from '../../modal';
|
||||
|
||||
// Components
|
||||
import { Icon } from '../../icon';
|
||||
import { UserAvatar } from '../../userAvatar';
|
||||
import Separator from '../../basicUIElements/view/separator/separatorView';
|
||||
import { TextWithIcon } from '../../basicUIElements';
|
||||
|
||||
// Constants
|
||||
import MENU from '../../../constants/sideMenuItems';
|
||||
import { default as ROUTES } from '../../../constants/routeNames';
|
||||
|
||||
//Utils
|
||||
import { getVotingPower } from '../../../utils/manaBar';
|
||||
|
||||
// Styles
|
||||
import styles from './sideMenuStyles';
|
||||
import { TextButton } from '../../buttons';
|
||||
|
||||
// Images
|
||||
const SIDE_MENU_BACKGROUND = require('../../../assets/side_menu_background.png');
|
||||
@ -38,9 +28,8 @@ const SideMenuView = ({
|
||||
currentAccount,
|
||||
isLoggedIn,
|
||||
handleLogout,
|
||||
accounts,
|
||||
switchAccount,
|
||||
navigateToRoute,
|
||||
handlePressOptions,
|
||||
}) => {
|
||||
const intl = useIntl();
|
||||
const ActionSheetRef = useRef(null);
|
||||
@ -49,7 +38,6 @@ const SideMenuView = ({
|
||||
isLoggedIn ? MENU.AUTH_MENU_ITEMS : MENU.NO_AUTH_MENU_ITEMS,
|
||||
);
|
||||
const [storageT, setStorageT] = useState('R');
|
||||
const [isAccountsModalOpen, setIsAccountsModalOpen] = useState(false);
|
||||
const [upower, setUpower] = useState(0);
|
||||
|
||||
// Component Life Cycles
|
||||
@ -66,7 +54,7 @@ const SideMenuView = ({
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (isLoggedIn) {
|
||||
if (isLoggedIn && !isEmpty(currentAccount)) {
|
||||
setUpower(getVotingPower(currentAccount).toFixed(1));
|
||||
}
|
||||
});
|
||||
@ -81,10 +69,6 @@ const SideMenuView = ({
|
||||
navigateToRoute(item.route);
|
||||
};
|
||||
|
||||
const _toggleAccountsModalOpen = () => {
|
||||
setIsAccountsModalOpen(!isAccountsModalOpen);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
setMenuItems(isLoggedIn ? MENU.AUTH_MENU_ITEMS : MENU.NO_AUTH_MENU_ITEMS);
|
||||
}, [isLoggedIn]);
|
||||
@ -121,29 +105,6 @@ const SideMenuView = ({
|
||||
</TouchableOpacity>
|
||||
);
|
||||
|
||||
const _handlePressAccountTile = (item) => {
|
||||
if (!item.isCurrentAccount) {
|
||||
switchAccount(item);
|
||||
}
|
||||
|
||||
setIsAccountsModalOpen(false);
|
||||
};
|
||||
|
||||
const _renderAccountTile = (item) => (
|
||||
<TouchableOpacity style={styles.accountTile} onPress={() => _handlePressAccountTile(item)}>
|
||||
<View style={styles.avatarAndNameContainer}>
|
||||
<UserAvatar username={item.username} />
|
||||
<View style={styles.nameContainer}>
|
||||
{item.displayName && <Text style={styles.displayName}>{item.displayName}</Text>}
|
||||
<Text style={styles.name}>{item.name}</Text>
|
||||
</View>
|
||||
</View>
|
||||
{item.isCurrentAccount && (
|
||||
<Icon iconType="AntDesign" name="checkcircle" style={styles.checkIcon} size={24} />
|
||||
)}
|
||||
</TouchableOpacity>
|
||||
);
|
||||
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<LinearGradient
|
||||
@ -179,7 +140,7 @@ const SideMenuView = ({
|
||||
/>
|
||||
</View>
|
||||
|
||||
<TouchableOpacity style={styles.iconWrapper} onPress={_toggleAccountsModalOpen}>
|
||||
<TouchableOpacity style={styles.iconWrapper} onPress={handlePressOptions}>
|
||||
<Icon
|
||||
iconType="SimpleLineIcons"
|
||||
style={styles.optionIcon}
|
||||
@ -209,42 +170,6 @@ const SideMenuView = ({
|
||||
index === 0 ? handleLogout() : null;
|
||||
}}
|
||||
/>
|
||||
<Modal
|
||||
isFullScreen={false}
|
||||
isOpen={isAccountsModalOpen}
|
||||
isBottomModal
|
||||
isTransparent
|
||||
isRadius
|
||||
coverScreen={false}
|
||||
title={intl.formatMessage({ id: 'side_menu.accounts' })}
|
||||
onBackdropPress={_toggleAccountsModalOpen}
|
||||
>
|
||||
<SafeAreaView style={styles.accountModal}>
|
||||
<Separator style={styles.separator} />
|
||||
<FlatList
|
||||
data={accounts}
|
||||
ItemSeparatorComponent={() => <Separator style={styles.separator} />}
|
||||
renderItem={({ item }) => _renderAccountTile(item)}
|
||||
scrollEnabled
|
||||
/>
|
||||
<Separator style={styles.separator} />
|
||||
<View style={styles.buttonContainer}>
|
||||
<TextButton
|
||||
text={intl.formatMessage({ id: 'side_menu.create_a_new_account' })}
|
||||
textStyle={styles.textButton}
|
||||
onPress={() => navigateToRoute(ROUTES.SCREENS.REGISTER)}
|
||||
/>
|
||||
</View>
|
||||
<Separator style={styles.separator} />
|
||||
<View style={styles.buttonContainer}>
|
||||
<TextButton
|
||||
text={intl.formatMessage({ id: 'side_menu.add_an_existing_account' })}
|
||||
textStyle={styles.textButton}
|
||||
onPress={() => navigateToRoute(ROUTES.SCREENS.LOGIN)}
|
||||
/>
|
||||
</View>
|
||||
</SafeAreaView>
|
||||
</Modal>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
4
src/components/subscribedCommunitiesList/index.js
Normal file
4
src/components/subscribedCommunitiesList/index.js
Normal file
@ -0,0 +1,4 @@
|
||||
import SubscribedCommunitiesListView from './view/subscribedCommunitiesListView';
|
||||
import SubscribedCommunitiesList from './view/subscribedCommunitiesListView';
|
||||
|
||||
export default SubscribedCommunitiesList;
|
@ -0,0 +1,51 @@
|
||||
import EStyleSheet from 'react-native-extended-stylesheet';
|
||||
|
||||
export default EStyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: '$primaryBackgroundColor',
|
||||
},
|
||||
itemWrapper: {
|
||||
paddingHorizontal: 16,
|
||||
paddingTop: 16,
|
||||
paddingBottom: 8,
|
||||
borderRadius: 8,
|
||||
backgroundColor: '$primaryBackgroundColor',
|
||||
flexDirection: 'row',
|
||||
alignItems: 'center',
|
||||
},
|
||||
itemWrapperGray: {
|
||||
backgroundColor: '$primaryLightBackground',
|
||||
},
|
||||
username: {
|
||||
marginLeft: 10,
|
||||
color: '$primaryBlack',
|
||||
},
|
||||
communityWrapper: {
|
||||
paddingHorizontal: 16,
|
||||
paddingTop: 10,
|
||||
paddingBottom: 10,
|
||||
borderRadius: 8,
|
||||
backgroundColor: '$primaryBackgroundColor',
|
||||
flexDirection: 'row',
|
||||
alignItems: 'center',
|
||||
flex: 1,
|
||||
},
|
||||
subscribeButton: {
|
||||
maxWidth: 75,
|
||||
borderWidth: 1,
|
||||
borderColor: '$primaryBlue',
|
||||
},
|
||||
subscribeButtonText: {
|
||||
textAlign: 'center',
|
||||
color: '$primaryBlue',
|
||||
},
|
||||
community: {
|
||||
justifyContent: 'center',
|
||||
marginLeft: 15,
|
||||
color: '$primaryBlack',
|
||||
},
|
||||
tabbarItem: {
|
||||
flex: 1,
|
||||
},
|
||||
});
|
@ -0,0 +1,82 @@
|
||||
import React from 'react';
|
||||
import { View, FlatList, TouchableOpacity, Text, ActivityIndicator } from 'react-native';
|
||||
import { useIntl } from 'react-intl';
|
||||
|
||||
import { Tag, UserAvatar } from '../../index';
|
||||
import { ListPlaceHolder } from '../../basicUIElements';
|
||||
|
||||
import DEFAULT_IMAGE from '../../../assets/no_image.png';
|
||||
|
||||
import styles from './subscribedCommunitiesListStyles';
|
||||
|
||||
const SubscribedCommunitiesListView = ({
|
||||
data,
|
||||
subscribingCommunities,
|
||||
handleOnPress,
|
||||
handleSubscribeButtonPress,
|
||||
}) => {
|
||||
const intl = useIntl();
|
||||
|
||||
const _renderEmptyContent = () => {
|
||||
return (
|
||||
<>
|
||||
<ListPlaceHolder />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<FlatList
|
||||
data={data}
|
||||
keyExtractor={(item, index) => index.toString()}
|
||||
renderItem={({ item, index }) => (
|
||||
<View style={[styles.communityWrapper, index % 2 !== 0 && styles.itemWrapperGray]}>
|
||||
<View style={{ flex: 3, flexDirection: 'row', alignItems: 'center' }}>
|
||||
<TouchableOpacity onPress={() => handleOnPress(item[0])}>
|
||||
<UserAvatar username={item[0]} defaultSource={DEFAULT_IMAGE} noAction />
|
||||
</TouchableOpacity>
|
||||
<TouchableOpacity onPress={() => handleOnPress(item[0])}>
|
||||
<Text style={styles.community}>{item[1]}</Text>
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
<View>
|
||||
{subscribingCommunities.hasOwnProperty(item[0]) &&
|
||||
subscribingCommunities[item[0]].loading ? (
|
||||
<View style={{ width: 65, alignItems: 'center', justifyContent: 'center' }}>
|
||||
<ActivityIndicator />
|
||||
</View>
|
||||
) : (
|
||||
<Tag
|
||||
style={styles.subscribeButton}
|
||||
textStyle={item[4] && styles.subscribeButtonText}
|
||||
value={
|
||||
!item[4]
|
||||
? intl.formatMessage({
|
||||
id: 'search_result.communities.subscribe',
|
||||
})
|
||||
: intl.formatMessage({
|
||||
id: 'search_result.communities.unsubscribe',
|
||||
})
|
||||
}
|
||||
isPin={!item[4]}
|
||||
isFilter
|
||||
onPress={() =>
|
||||
handleSubscribeButtonPress(
|
||||
{
|
||||
isSubscribed: item[4],
|
||||
communityId: item[0],
|
||||
},
|
||||
'communitiesScreenJoinedTab',
|
||||
)
|
||||
}
|
||||
/>
|
||||
)}
|
||||
</View>
|
||||
</View>
|
||||
)}
|
||||
ListEmptyComponent={_renderEmptyContent}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default SubscribedCommunitiesListView;
|
@ -87,23 +87,22 @@ class UpvoteContainer extends PureComponent {
|
||||
const quote = get(globalProps, 'quote', 0);
|
||||
const sbdPrintRate = get(globalProps, 'sbdPrintRate', 0);
|
||||
const SBD_PRINT_RATE_MAX = 10000;
|
||||
const percent_steem_dollars =
|
||||
(content.percent_hbd || content.percent_steem_dollars || 10000) / 20000;
|
||||
const percent_steem_dollars = (content.percent_hbd || 10000) / 20000;
|
||||
|
||||
const pending_payout_sbd = pendingPayout * percent_steem_dollars;
|
||||
const pending_payout_hbd = pendingPayout * percent_steem_dollars;
|
||||
const price_per_steem = base / quote;
|
||||
|
||||
const pending_payout_sp = (pendingPayout - pending_payout_sbd) / price_per_steem;
|
||||
const pending_payout_printed_sbd = pending_payout_sbd * (sbdPrintRate / SBD_PRINT_RATE_MAX);
|
||||
const pending_payout_printed_steem =
|
||||
(pending_payout_sbd - pending_payout_printed_sbd) / price_per_steem;
|
||||
const pending_payout_hp = (pendingPayout - pending_payout_hbd) / price_per_steem;
|
||||
const pending_payout_printed_hbd = pending_payout_hbd * (sbdPrintRate / SBD_PRINT_RATE_MAX);
|
||||
const pending_payout_printed_hive =
|
||||
(pending_payout_hbd - pending_payout_printed_hbd) / price_per_steem;
|
||||
|
||||
const breakdownPayout =
|
||||
pending_payout_printed_sbd.toFixed(3) +
|
||||
pending_payout_printed_hbd.toFixed(3) +
|
||||
' HBD, ' +
|
||||
pending_payout_printed_steem.toFixed(3) +
|
||||
pending_payout_printed_hive.toFixed(3) +
|
||||
' HIVE, ' +
|
||||
pending_payout_sp.toFixed(3) +
|
||||
pending_payout_hp.toFixed(3) +
|
||||
' HP';
|
||||
|
||||
return (
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Jaduwal",
|
||||
"gallery": "Album",
|
||||
"settings": "Peungaturan",
|
||||
"communities": "Communities",
|
||||
"add_account": "Tamah akun",
|
||||
"logout": "Teubit",
|
||||
"cancel": "Batëu",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "جداول زمنية",
|
||||
"gallery": "معرض الصور",
|
||||
"settings": "إعدادات",
|
||||
"communities": "Communities",
|
||||
"add_account": "إضافة حساب",
|
||||
"logout": "تسجيل الخروج",
|
||||
"cancel": "إلغاء",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Cədvəllər",
|
||||
"gallery": "Qalereya",
|
||||
"settings": "Tənzimləmələr",
|
||||
"communities": "Communities",
|
||||
"add_account": "Hesab Əlavə et",
|
||||
"logout": "Çıxış",
|
||||
"cancel": "İmtina",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -159,7 +159,7 @@
|
||||
"voting_power": "Сила за гласуване",
|
||||
"login_to_see": "Влез в акаунта да видиш",
|
||||
"follow_people": "Последвайте хора да ви последват и те",
|
||||
"follow_communities": "Join some communities to fill your feed",
|
||||
"follow_communities": "Влез в някой общества за да изпълниш потока си",
|
||||
"havent_commented": "Все още няма коментари",
|
||||
"havent_posted": "Все още няма публикации",
|
||||
"steem_power": "Hive Сила/стойност",
|
||||
@ -241,8 +241,8 @@
|
||||
"new": "Нови",
|
||||
"blog": "Блог",
|
||||
"posts": "Публикации",
|
||||
"friends": "Friends",
|
||||
"communities": "Communities"
|
||||
"friends": "Приятели",
|
||||
"communities": "Общности"
|
||||
},
|
||||
"side_menu": {
|
||||
"profile": "Профил",
|
||||
@ -252,13 +252,14 @@
|
||||
"schedules": "Графици",
|
||||
"gallery": "Галерия",
|
||||
"settings": "Настройки",
|
||||
"communities": "Общности",
|
||||
"add_account": "Добавяне на профил",
|
||||
"logout": "Изход",
|
||||
"cancel": "Отказ",
|
||||
"logout_text": "Сигурни ли сте, че искате да излезете?",
|
||||
"create_a_new_account": "Create a new account",
|
||||
"add_an_existing_account": "Add an existing account",
|
||||
"accounts": "Accounts"
|
||||
"create_a_new_account": "Създаване на нов акаунт",
|
||||
"add_an_existing_account": "Добави съществуващ акаунт",
|
||||
"accounts": "Акаунти"
|
||||
},
|
||||
"header": {
|
||||
"title": "Влезте, за да персонализирате вашите постове",
|
||||
@ -287,18 +288,18 @@
|
||||
"limited_characters": "Използвайте само малки букви, цифри и едно тире",
|
||||
"limited_firstchar": "Тагът трябва да започва с буква!",
|
||||
"limited_lastchar": "Тагът трябва да завършва с буква или число",
|
||||
"setting_schedule": "Scheduling Time",
|
||||
"setting_reward": "Reward",
|
||||
"setting_beneficiary": "Beneficiary",
|
||||
"reward_default": "Default 50% / 50%",
|
||||
"reward_power_up": "Power Up 100%",
|
||||
"reward_decline": "Decline Payout",
|
||||
"beneficiaries": "Beneficiaries",
|
||||
"options": "Options",
|
||||
"my_blog": "My Blog",
|
||||
"my_communities": "My Communities",
|
||||
"top_communities": "Top Communities",
|
||||
"schedule_modal_title": "Schedule Post"
|
||||
"setting_schedule": "Насрочване за време",
|
||||
"setting_reward": "Награда",
|
||||
"setting_beneficiary": "Бенефициент",
|
||||
"reward_default": "По подразбиране 50% / 50%",
|
||||
"reward_power_up": "Намаляне на силата 100%",
|
||||
"reward_decline": "Откажи плащането",
|
||||
"beneficiaries": "Бенефициенти",
|
||||
"options": "Опции",
|
||||
"my_blog": "Моят блог",
|
||||
"my_communities": "Моите общества",
|
||||
"top_communities": "Топ Общности",
|
||||
"schedule_modal_title": "Насрочи пост"
|
||||
},
|
||||
"pincode": {
|
||||
"enter_text": "Вкарай Пин-код за отключване",
|
||||
@ -314,7 +315,7 @@
|
||||
"fail": "Провал!!",
|
||||
"move": "Премести",
|
||||
"move_question": "Сигурен ли сте да преместите към чернови?",
|
||||
"success_shared": "Success! Content submitted!",
|
||||
"success_shared": "Успех! Съдържанието е изпратено!",
|
||||
"success_moved": "Премено в чернови",
|
||||
"permission_denied": "Достъпът е отказан",
|
||||
"permission_text": "Моля, идете на Настройки на телефона и променете разрешенията към Ecency.",
|
||||
@ -324,15 +325,15 @@
|
||||
"success_favorite": "Добавено в любими!",
|
||||
"success_unfavorite": "Прамахнат от любими!",
|
||||
"success_follow": "Последван успешно!",
|
||||
"fail_follow": "Follow failed!",
|
||||
"success_subscribe": "Subscribe success!",
|
||||
"fail_subscribe": "Subscribe failed!",
|
||||
"success_leave": "Leave success!",
|
||||
"fail_leave": "Leave failed!",
|
||||
"fail_follow": "Последването се провали!",
|
||||
"success_subscribe": "Абонирането е успешно!",
|
||||
"fail_subscribe": "Абонирането се провали!",
|
||||
"success_leave": "Излизането е успешно!",
|
||||
"fail_leave": "Излизането се провали!",
|
||||
"success_mute": "Заглушаване успешно!",
|
||||
"success_unmute": "Заглушаване премахнато успешно!",
|
||||
"success_unfollow": "Отказ от следване!",
|
||||
"fail_unfollow": "Unfollow failed!",
|
||||
"fail_unfollow": "Отследването се провали!",
|
||||
"warning": "Внимание",
|
||||
"invalid_pincode": "Невалиден Пин-код,провери и опитай отново.",
|
||||
"remove_alert": "Сигорни ли сте за премахването?",
|
||||
@ -348,7 +349,7 @@
|
||||
"same_user": "Този потребител вече е добавен в листа.",
|
||||
"unknow_error": "Възникна грешка",
|
||||
"error": "Грешка",
|
||||
"fetch_error": "Connection issue, change server and restart",
|
||||
"fetch_error": "Проблем с връзката, сменете сървъра и рестартирайте",
|
||||
"connection_fail": "Връзката е неуспешна",
|
||||
"connection_success": "Успешно свързване.",
|
||||
"checking": "Проверка...",
|
||||
@ -359,10 +360,10 @@
|
||||
"payloadTooLarge": "Размерът на файла е твърде голям, моля преоразмерете или качете по-малко изображение",
|
||||
"qoutaExceeded": "Превишена квота за качване",
|
||||
"invalidImage": "Невалидна снимка,опитайте различен файл",
|
||||
"something_wrong": "Something went wrong.",
|
||||
"something_wrong_alt": "Try https://ecency.com",
|
||||
"something_wrong_reload": "Reload",
|
||||
"can_not_be_empty": "Title and body can not be empty!"
|
||||
"something_wrong": "Нещо се обърка.",
|
||||
"something_wrong_alt": "Опитай https://ecency.com",
|
||||
"something_wrong_reload": "Презареди",
|
||||
"can_not_be_empty": "Заглавитето и основата немогат да бъдат празни!"
|
||||
},
|
||||
"post": {
|
||||
"reblog_alert": "Сигорни ли сте,че искате да споделите?",
|
||||
@ -510,7 +511,7 @@
|
||||
"days": "дни",
|
||||
"user": "Потребител",
|
||||
"permlink": "Публикация",
|
||||
"permlinkPlaceholder": "username/permlink",
|
||||
"permlinkPlaceholder": "потребителско име/permlink",
|
||||
"information": "Сигурни ли сте, че искате да промотирате?"
|
||||
},
|
||||
"boostPost": {
|
||||
@ -538,28 +539,28 @@
|
||||
"more_replies": "още отговори"
|
||||
},
|
||||
"search_result": {
|
||||
"others": "Others",
|
||||
"others": "Други",
|
||||
"best": {
|
||||
"title": "Best"
|
||||
"title": "Най-добри"
|
||||
},
|
||||
"people": {
|
||||
"title": "People"
|
||||
"title": "Хора"
|
||||
},
|
||||
"topics": {
|
||||
"title": "Topics"
|
||||
"title": "Tеми"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Общности",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
"title": "Групи",
|
||||
"subscribe": "Присъединете се",
|
||||
"unsubscribe": "Напусни",
|
||||
"subscribers": "Членове",
|
||||
"posters": "Публикуващи",
|
||||
"posts": "Публикации"
|
||||
},
|
||||
"communities_filter": {
|
||||
"my": "My Communities",
|
||||
"my": "Моите общества",
|
||||
"rank": "Ранг",
|
||||
"subs": "Members",
|
||||
"subs": "Членове",
|
||||
"new": "Нови"
|
||||
},
|
||||
"post_result_filter": {
|
||||
@ -574,11 +575,24 @@
|
||||
},
|
||||
"community": {
|
||||
"new_post": "Нова публикация",
|
||||
"community": "community",
|
||||
"details": "Details"
|
||||
"community": "oбщество",
|
||||
"details": "Подробности"
|
||||
},
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
"follow": "Последвай",
|
||||
"unfollow": "Отследване"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Членство",
|
||||
"discover": "Открийте"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Няма нищо тук"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "সময়সূচীসমূহ",
|
||||
"gallery": "গ্যালারি",
|
||||
"settings": "সেটিংস",
|
||||
"communities": "Communities",
|
||||
"add_account": "একাউন্ট যোগ করুন",
|
||||
"logout": "লগআউট",
|
||||
"cancel": "বাতিল করুন",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "কমিউনিটি",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Zeitpläne",
|
||||
"gallery": "Galerie",
|
||||
"settings": "Einstellungen",
|
||||
"communities": "Communities",
|
||||
"add_account": "Konto hinzufügen",
|
||||
"logout": "Abmelden",
|
||||
"cancel": "Abbrechen",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Beitreten",
|
||||
"unsubscribe": "Austreten",
|
||||
"subscribers": "Mitglieder",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Folgen",
|
||||
"unfollow": "Nicht mehr folgen"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Horarios",
|
||||
"gallery": "Galería",
|
||||
"settings": "Ajustes",
|
||||
"communities": "Comunidades",
|
||||
"add_account": "Agregar cuenta",
|
||||
"logout": "Cerrar sesión",
|
||||
"cancel": "Cancelar",
|
||||
@ -538,7 +539,7 @@
|
||||
"more_replies": "mas comentarios"
|
||||
},
|
||||
"search_result": {
|
||||
"others": "Others",
|
||||
"others": "Otros",
|
||||
"best": {
|
||||
"title": "Mejor"
|
||||
},
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Temas"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Comunidades",
|
||||
"title": "Grupos",
|
||||
"subscribe": "Unirse",
|
||||
"unsubscribe": "Salir",
|
||||
"subscribers": "Participantes",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membresía",
|
||||
"discover": "Descubrir"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nada aquí"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Porcentaje",
|
||||
"username": "Nombre de Usuario",
|
||||
"addAccount": "Agregar cuenta",
|
||||
"save": "Guardar"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,10 @@
|
||||
"wallet": {
|
||||
"curation_reward": "Kuraatori tasu",
|
||||
"author_reward": "Autoritasu",
|
||||
"comment_benefactor_reward": "Benefactor Reward",
|
||||
"claim_reward_balance": "Claim Reward ",
|
||||
"comment_benefactor_reward": "Kasusaaja tasu",
|
||||
"claim_reward_balance": "Lunasta tasu ",
|
||||
"transfer": "Ülekanne",
|
||||
"transfer_to_vesting": "To Vesting",
|
||||
"transfer_to_vesting": "Teenimisse",
|
||||
"transfer_from_savings": "Hoiusest",
|
||||
"withdraw_vesting": "Väljaluülitus",
|
||||
"fill_order": "Täida Tellimus",
|
||||
@ -13,7 +13,7 @@
|
||||
"comment": "Kommenteeri",
|
||||
"checkin": "Kasutus",
|
||||
"vote": "Hääleta",
|
||||
"reblog": "Taaspostita",
|
||||
"reblog": "Jaga",
|
||||
"login": "Sisselogimine",
|
||||
"incoming_transfer_title": "Saabuv ülekanne",
|
||||
"outgoing_transfer_title": "Väljuv ülekanne",
|
||||
@ -21,36 +21,36 @@
|
||||
"delegation": "Volitus",
|
||||
"delegations": "Volitused",
|
||||
"delegation_title": "Volitustasu",
|
||||
"delegation_desc": "Earn Points everyday for delegation",
|
||||
"delegation_desc": "Teeni punkte igapäevaselt volitamisega",
|
||||
"post_title": "Punktid postitustest",
|
||||
"comment_title": "Punktid kommentaaridest",
|
||||
"vote_title": "Punktid hääletustest",
|
||||
"reblog_title": "Punktid taaspostitustest",
|
||||
"reblog_title": "Punktid jagamise eest",
|
||||
"login_title": "Punktid sisselogimisest",
|
||||
"checkin_title": "Punktid sisse logimise eest",
|
||||
"referral": "Soovitaja",
|
||||
"referral_title": "Referral rewards",
|
||||
"referral_desc": "Invite friends and earn Points",
|
||||
"referral_title": "Soovitaja tasu",
|
||||
"referral_desc": "Kutsu sõbrad ja kogu punkte",
|
||||
"checkin_extra_title": "Kasutusboonus",
|
||||
"no_activity": "No recent activity",
|
||||
"no_activity": "Hiljutised tegevused puuduvad",
|
||||
"outgoing_transfer_description": "",
|
||||
"incoming_transfer_description": "",
|
||||
"post_desc": "You can earn point by posting regularly. Posting gives you upto 15 points.",
|
||||
"comment_desc": "Each comment you make helps you to grow your audience and also earns you upto 5 points.",
|
||||
"checkin_desc": "Checking in regularly gives you 0.25 points.",
|
||||
"vote_desc": "By voting you give reward to other creators and also earn back upto 0.01 x vote weight points.",
|
||||
"reblog_desc": "Share what post you like with your friends and earn points.",
|
||||
"login_desc": "When you login into app first time you earn 100 points.",
|
||||
"checkin_extra_desc": "Consistent use of app gives you extra chances to earn more points, be more active and earn more.",
|
||||
"post_desc": "Teeni punkte regulaarselt postitamisega. Postitamine annab kuni 15 punkti.",
|
||||
"comment_desc": "Iga kirjutatud kommentaar aitab kasvatada sinu kogukonda ning teenid 5 punkti.",
|
||||
"checkin_desc": "Regulaarselt sisse logides saad 0,25 punkti.",
|
||||
"vote_desc": "Hääletades tasustate teisi loojaid ja teenite ka ise kuni 0,01 x hääle kaalupunkti.",
|
||||
"reblog_desc": "Jaga meeldivat postitust enda sõpradega ning teeni punkte.",
|
||||
"login_desc": "Esimest korda rakendusse sisse logides teenid 100 punkti.",
|
||||
"checkin_extra_desc": "Regulaarne rakenduse kasutamine annab lisavõimaluse teenida rohkem punkte, ole aktiivne ning teeni rohkem.",
|
||||
"dropdown_transfer": "Kingi",
|
||||
"dropdown_promote": "Reklaami",
|
||||
"dropdown_boost": "Võimenda",
|
||||
"from": "Kellelt",
|
||||
"to": "Kellele",
|
||||
"estimated_value_desc": "According to purchase value",
|
||||
"estimated_value": "Estimated value",
|
||||
"estimated_amount": "Vote value",
|
||||
"amount_information": "Drag the slider to adjust the amount",
|
||||
"estimated_value_desc": "Vastavalt ostu väärtusele",
|
||||
"estimated_value": "Hinnanguline väärtus",
|
||||
"estimated_amount": "Hääle väärtus",
|
||||
"amount_information": "Koguse muutmiseks liiguta liugurit",
|
||||
"amount": "Kogus",
|
||||
"memo": "Märge",
|
||||
"information": "Oled kindel, et soovid raha üle kanda?",
|
||||
@ -61,26 +61,26 @@
|
||||
"transfer_token": "Ülekanne",
|
||||
"purchase_estm": "OSTA PUNKTE",
|
||||
"points": "Kingi kellelegi punkte",
|
||||
"transfer_to_saving": "To Saving",
|
||||
"transfer_to_saving": "Hoiusesse",
|
||||
"powerUp": "Lisa võimsust",
|
||||
"withdraw_to_saving": "Withdraw Saving",
|
||||
"steemconnect_title": "Hivesigner Transfer",
|
||||
"withdraw_to_saving": "Võta hoius välja",
|
||||
"steemconnect_title": "Hivesigneri ülekanne",
|
||||
"next": "EDASI",
|
||||
"delegate": "Delegate",
|
||||
"delegate": "Volita",
|
||||
"power_down": "Väljaluülitus",
|
||||
"withdraw_steem": "Withdraw HIVE",
|
||||
"withdraw_sbd": "Withdraw HBD",
|
||||
"transfer_to_savings": "To Savings",
|
||||
"withdraw_steem": "Võta välja HIVE",
|
||||
"withdraw_sbd": "Võta välja HBD",
|
||||
"transfer_to_savings": "Hoiusesse",
|
||||
"convert": "Konverteeri",
|
||||
"escrow_transfer": "Escrow Transfer",
|
||||
"escrow_dispute": "Escrow Dispute",
|
||||
"escrow_release": "Escrow Release",
|
||||
"escrow_approve": "Escrow Approve",
|
||||
"cancel_transfer_from_savings": "Cancel From Savings",
|
||||
"escrow_transfer": "Deposiidi ülekanne",
|
||||
"escrow_dispute": "Deposiidi Vaidlustamine",
|
||||
"escrow_release": "Deposiidi Vabastamine",
|
||||
"escrow_approve": "Deposiidi Kinnitamine",
|
||||
"cancel_transfer_from_savings": "Tühista ülekanne Hoiusest",
|
||||
"delegate_vesting_shares": "Volitus",
|
||||
"fill_convert_request": "Convert Executed",
|
||||
"fill_transfer_from_savings": "Savings Executed",
|
||||
"fill_vesting_withdraw": "PowerDown executed",
|
||||
"fill_convert_request": "Vahetamine alustatud",
|
||||
"fill_transfer_from_savings": "Hoius alustatud",
|
||||
"fill_vesting_withdraw": "PowerDown alustatud",
|
||||
"estm": {
|
||||
"title": "Punktid",
|
||||
"buy": "OSTA PUNKTE"
|
||||
@ -105,13 +105,13 @@
|
||||
"btc": {
|
||||
"title": "BTC",
|
||||
"buy": "OSTA BTC",
|
||||
"address": "RECEIVE"
|
||||
"address": "VÕTA VASTU"
|
||||
}
|
||||
},
|
||||
"notification": {
|
||||
"vote": "hääletatud",
|
||||
"unvote": "hääl eemaldatud",
|
||||
"reply": "replied to",
|
||||
"reply": "vastas",
|
||||
"mention": "mainis",
|
||||
"follow": "hakkas sind jälgima",
|
||||
"unfollow": "enam ei jälgi sind",
|
||||
@ -130,16 +130,16 @@
|
||||
"this_week": "Sel nädalal",
|
||||
"this_month": "Sel kuul",
|
||||
"older_then": "Vanem kui kuu",
|
||||
"activities": "All",
|
||||
"activities": "Kõik",
|
||||
"replies": "Vastused",
|
||||
"mentions": "Mentions",
|
||||
"reblogs": "Reblogs",
|
||||
"noactivity": "No recent activity"
|
||||
"mentions": "Mainimised",
|
||||
"reblogs": "Jagatud",
|
||||
"noactivity": "Hiljutised tegevused puuduvad"
|
||||
},
|
||||
"leaderboard": {
|
||||
"daily": "DAILY",
|
||||
"weekly": "WEEKLY",
|
||||
"monthly": "MONTHLY"
|
||||
"daily": "PÄEV",
|
||||
"weekly": "NÄDAL",
|
||||
"monthly": "KUU"
|
||||
},
|
||||
"messages": {
|
||||
"comingsoon": "Sõnumite funktsionaalus ei ole veel valimis!"
|
||||
@ -158,18 +158,18 @@
|
||||
"hours": "tundi",
|
||||
"voting_power": "Hääletusjõud",
|
||||
"login_to_see": "Nägemiseks logi sisse",
|
||||
"follow_people": "Follow some people to fill your feed",
|
||||
"follow_communities": "Join some communities to fill your feed",
|
||||
"follow_people": "Jälgi inimesi, et täita oma voog",
|
||||
"follow_communities": "Liitu kogukondadega, et täita oma voogu",
|
||||
"havent_commented": "ei ole veel midagi kommenteerinud",
|
||||
"havent_posted": "ei ole veel midagi postitanud",
|
||||
"steem_power": "Hive Power",
|
||||
"next_power_text": "Järgmise väljaluülitus on",
|
||||
"days": "päeva",
|
||||
"day": "päev",
|
||||
"steem_dollars": "Hive Dollars",
|
||||
"steem_dollars": "Hive Dollarid",
|
||||
"savings": "Säästud",
|
||||
"edit": {
|
||||
"display_name": "Display Name",
|
||||
"display_name": "Kuvatav Nimi",
|
||||
"about": "Teave",
|
||||
"location": "Asukoht",
|
||||
"website": "Koduleht"
|
||||
@ -188,7 +188,7 @@
|
||||
"vote": "Hääleta",
|
||||
"comment": "Kommenteeri",
|
||||
"mention": "Maini",
|
||||
"reblog": "Taaspostita",
|
||||
"reblog": "Jaha",
|
||||
"transfers": "Ülekanded"
|
||||
},
|
||||
"pincode": "Pincode",
|
||||
@ -217,10 +217,10 @@
|
||||
"signin_title": "Et saada osa kõikidest Ecency funktsioonidest",
|
||||
"username": "Kasutajanimi",
|
||||
"password": "Parool või WIF",
|
||||
"description": "By signing in, you agree to our Terms of Services and Privacy Policies.",
|
||||
"description": "Logides sisse, nõustute meie kasutustingimuste ja privaatsuseeskirjadega.",
|
||||
"cancel": "tühista",
|
||||
"login": "LOGI SISSE",
|
||||
"steemconnect_description": "If you don't want to keep your password encrypted and saved on your device, you can use Hivesigner.",
|
||||
"steemconnect_description": "Kui sa ei soovi hoida oma parooli krüpteerituna ja salvestatuna oma seadmes, kasuta Hivesigner'it.",
|
||||
"steemconnect_fee_description": "info"
|
||||
},
|
||||
"register": {
|
||||
@ -229,9 +229,9 @@
|
||||
"username": "Vali kasutajanimi",
|
||||
"mail": "Kirjuta oma e-posti aadress",
|
||||
"ref_user": "Kutsutud kasutaja (Vabatahtlik)",
|
||||
"500_error": "Your request could not be processed, signup queue is likely full! Try again in few minutes...",
|
||||
"500_error": "Toiming ebaõnnestus, registreerumise järjekord on täis! Proovi uuesti mõne minuti pärast...",
|
||||
"title_description": "Üks kasutaja kõige haldamiseks",
|
||||
"form_description": "By signing up with us, you agree to our Terms of Service and Privacy Policies."
|
||||
"form_description": "Registreerudes nõustute meie kasutustingimuste ja privaatsuseeskirjadega."
|
||||
},
|
||||
"home": {
|
||||
"feed": "Sein",
|
||||
@ -252,6 +252,7 @@
|
||||
"schedules": "Ajakavad",
|
||||
"gallery": "Galerii",
|
||||
"settings": "Seaded",
|
||||
"communities": "Kogukonnad",
|
||||
"add_account": "Lisa konto",
|
||||
"logout": "Logi välja",
|
||||
"cancel": "Tühista",
|
||||
@ -282,7 +283,7 @@
|
||||
"limited_tags": "10 silti lubatud, eemalda mõned",
|
||||
"limited_length": "Sildi maksimum pikkus võib olla 24",
|
||||
"limited_dash": "Kasuta ühte kriipsu igas sildis",
|
||||
"limited_space": "Use space to separate tags",
|
||||
"limited_space": "Kasuta tühikut, et eraldada silte",
|
||||
"limited_lowercase": "Kasuta siltides ainult väiketähti",
|
||||
"limited_characters": "Kasuta ainult väiketähti, numbreid ja ühte kriipsu",
|
||||
"limited_firstchar": "Silt peab algama tähega",
|
||||
@ -298,7 +299,7 @@
|
||||
"my_blog": "Minu blogi",
|
||||
"my_communities": "Minu kogukonnad",
|
||||
"top_communities": "Top kogukonnad",
|
||||
"schedule_modal_title": "Schedule Post"
|
||||
"schedule_modal_title": "Ajasta postitus"
|
||||
},
|
||||
"pincode": {
|
||||
"enter_text": "Enter pin to unlock",
|
||||
@ -317,8 +318,8 @@
|
||||
"success_shared": "Valmis! Sisu esitatud!",
|
||||
"success_moved": "Teisaldatud mustanditesse",
|
||||
"permission_denied": "Juurdepääs keelatud",
|
||||
"permission_text": "Please, go to phone Settings and change Ecency app permissions.",
|
||||
"key_warning": "Operation requires active key or master password, please relogin!",
|
||||
"permission_text": "Palun mine telefoniSeadetesse ning muuda Ecency rakenduse õiguseid.",
|
||||
"key_warning": "Tegevus nõuab aktiivset võtit või master parooli, palun sisene uuesti!",
|
||||
"success_rebloged": "Rebloged!",
|
||||
"already_rebloged": "Sa oled seda juba jaganud!",
|
||||
"success_favorite": "Lisatud lemmikuks!",
|
||||
@ -336,8 +337,8 @@
|
||||
"warning": "Hoiatus",
|
||||
"invalid_pincode": "Invalid pin code, please check and try again.",
|
||||
"remove_alert": "Are you sure want to remove?",
|
||||
"clear_alert": "Are you sure you want to clear?",
|
||||
"clear_user_alert": "Are you sure you want to clear all user data?",
|
||||
"clear_alert": "Kas soovid tõesti selle tühjendada?",
|
||||
"clear_user_alert": "Oled kindel, et soovid puhastada kõik kasutajaandmed?",
|
||||
"clear": "Tühjenda",
|
||||
"cancel": "Tühista",
|
||||
"delete": "Kustuta",
|
||||
@ -348,84 +349,84 @@
|
||||
"same_user": "See konto on juba nimekirja lisatud",
|
||||
"unknow_error": "Ilmnes tõrge",
|
||||
"error": "Tõrge",
|
||||
"fetch_error": "Connection issue, change server and restart",
|
||||
"fetch_error": "Ühenduse viga, muuda serverit ja taaskäivita rakendus",
|
||||
"connection_fail": "Ühendus nurjus!",
|
||||
"connection_success": "Edukalt ühendatud!",
|
||||
"checking": "Kontrollin...",
|
||||
"external_link": "Ava veebilehitsejas",
|
||||
"not_existing_post": "The post does not exist! Please check permlink and author.",
|
||||
"google_play_version": "We noticed that your device has old version of Google Play. Please update Google Play services and try again!",
|
||||
"rc_down": "Not enough resource credits to perform an action! \n\nBoost your account to continue enjoy the experience. Do you want to boost your account, now?",
|
||||
"payloadTooLarge": "File size too big, please resize or upload smaller image",
|
||||
"qoutaExceeded": "Upload quota exceeded",
|
||||
"invalidImage": "Invalid image, try different file",
|
||||
"not_existing_post": "Seda postitust ei eksisteeri! Palun kontrolli linki ja autorit.",
|
||||
"google_play_version": "Märkasime, et teie seadmes on Google Play vanem versioon. Palun uuenda Google Play services ja proovi uuesti!",
|
||||
"rc_down": "Toimingu jaoks pole piisavalt ressursipunkte!\n\nVõimendage oma kontot, et jätkata nautimisega. Kas soovite kohe võimendada oma kontot?",
|
||||
"payloadTooLarge": "Fail liiga suur, palun vähenda suurust või lae üles väiksem pilt",
|
||||
"qoutaExceeded": "Üleslaadimise limiit ületatud",
|
||||
"invalidImage": "Pilt ei sobi, proovi teist faili",
|
||||
"something_wrong": "Midagi läks valesti.",
|
||||
"something_wrong_alt": "Proovi https://ecency.com",
|
||||
"something_wrong_reload": "Reload",
|
||||
"can_not_be_empty": "Title and body can not be empty!"
|
||||
"something_wrong_reload": "Värskenda",
|
||||
"can_not_be_empty": "Pealkiri ja sisu ei tohi olla tühjad!"
|
||||
},
|
||||
"post": {
|
||||
"reblog_alert": "Oled sa kindel, et soovid seda jagada?",
|
||||
"removed_hint": "Content is not available",
|
||||
"copy_link": "Copy link",
|
||||
"removed_hint": "Sisu pole kättesaadav",
|
||||
"copy_link": "Kopeeri link",
|
||||
"reblogged": "jagatud %s poolt",
|
||||
"sponsored": "SPONSOREERITUD",
|
||||
"open_thread": "Open thread",
|
||||
"image": "Image",
|
||||
"open_thread": "Ava lõim",
|
||||
"image": "Pilt",
|
||||
"link": "Link",
|
||||
"gallery_mode": "Gallery mode",
|
||||
"save_to_local": "Download to device",
|
||||
"image_saved": "Image saved to Photo Gallery",
|
||||
"image_saved_error": "Error Saving Image",
|
||||
"wrong_link": "Wrong link"
|
||||
"gallery_mode": "Galerii",
|
||||
"save_to_local": "Lae enda seadmesse",
|
||||
"image_saved": "Pilt salvestatud Galeriisse",
|
||||
"image_saved_error": "Pildi salvestamine ebaõnnestus",
|
||||
"wrong_link": "Vale link"
|
||||
},
|
||||
"drafts": {
|
||||
"title": "Drafts",
|
||||
"load_error": "Could not load drafts",
|
||||
"empty_list": "Nothing here",
|
||||
"deleted": "Draft deleted"
|
||||
"title": "Mustandid",
|
||||
"load_error": "Mustandite laadimine ei õnnestunud",
|
||||
"empty_list": "Siin pole midagi",
|
||||
"deleted": "Mustand kustutatud"
|
||||
},
|
||||
"schedules": {
|
||||
"title": "Schedules",
|
||||
"empty_list": "Nothing here",
|
||||
"deleted": "Scheduled post deleted",
|
||||
"move": "Move to drafts",
|
||||
"moved": "Moved to drafts"
|
||||
"title": "Planeeritud",
|
||||
"empty_list": "Siin pole midagi",
|
||||
"deleted": "Ajastatud postitus kustutatud",
|
||||
"move": "Teisalda mustanditesse",
|
||||
"moved": "Teisaldatud mustanditesse"
|
||||
},
|
||||
"bookmarks": {
|
||||
"title": "Bookmarks",
|
||||
"load_error": "Could not load bookmarks",
|
||||
"empty_list": "Nothing here",
|
||||
"deleted": "Bookmark removed",
|
||||
"search": "Search in bookmarks",
|
||||
"added": "Added to bookmarks",
|
||||
"add": "Add to bookmarks"
|
||||
"title": "Järjehoidjad",
|
||||
"load_error": "Järjehoidjad ei saanud laadida",
|
||||
"empty_list": "Siin pole midagi",
|
||||
"deleted": "Järjehoidja eemaldatud",
|
||||
"search": "Otsi järjehoidjatest",
|
||||
"added": "Lisatud järjehoidjatesse",
|
||||
"add": "Lisa järjehoidjatesse"
|
||||
},
|
||||
"report": {
|
||||
"added": "Reported objectionable content"
|
||||
"added": "Teavitatud ebasobivast sisust"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favorites",
|
||||
"load_error": "Could not load favorites",
|
||||
"empty_list": "Nothing here",
|
||||
"search": "Search in favorites"
|
||||
"title": "Lemmikud",
|
||||
"load_error": "Lemmikute laadimine ebaõnnestus",
|
||||
"empty_list": "Siin pole midagi",
|
||||
"search": "Otsi lemmikute hulgast"
|
||||
},
|
||||
"auth": {
|
||||
"invalid_pin": "Invalid pin code, please check and try again",
|
||||
"invalid_username": "Invalid username, please check and try again",
|
||||
"already_logged": "You are already logged in, please try to add another account",
|
||||
"invalid_credentials": "Invalid credentials, please check and try again",
|
||||
"unknow_error": "Unknown error, please write to support@ecency.com"
|
||||
"invalid_username": "Vigane kasutajanimi, palun kontrolli üle ja proovi uuesti",
|
||||
"already_logged": "Oled juba sisse logitud, palun proovi lisada teine kasutaja",
|
||||
"invalid_credentials": "Vigased andmed, palun kontrolli ja proovi uuesti",
|
||||
"unknow_error": "Tundmatu viga, palun kirjuta meile support@ecency.com"
|
||||
},
|
||||
"payout": {
|
||||
"potential_payout": "Potential Payout",
|
||||
"promoted": "Promoted",
|
||||
"author_payout": "Author Payout",
|
||||
"curation_payout": "Curation Payout",
|
||||
"potential_payout": "Potentsiaalne Väljamakse",
|
||||
"promoted": "Sponsitud",
|
||||
"author_payout": "Autoritasu",
|
||||
"curation_payout": "Hääletajate tasu",
|
||||
"payout_date": "Väljamakse",
|
||||
"beneficiaries": "Kasusaajad",
|
||||
"warn_zero_payout": "Kogus peab väljamakseks olema vähemalt $0.02",
|
||||
"breakdown": "Breakdown"
|
||||
"breakdown": "Analüüs"
|
||||
},
|
||||
"post_dropdown": {
|
||||
"copy": "kopeeri link",
|
||||
@ -456,32 +457,32 @@
|
||||
"transfer": {
|
||||
"from": "Kellelt",
|
||||
"to": "Kellele",
|
||||
"amount_information": "Drag the slider to adjust the amount",
|
||||
"amount_information": "Koguse muutmiseks liiguta liugurit",
|
||||
"amount": "Kogus",
|
||||
"memo": "Märge",
|
||||
"information": "Oled kindel, et soovid raha üle kanda?",
|
||||
"amount_desc": "Saldo",
|
||||
"memo_desc": "See märge on avalik",
|
||||
"convert_desc": "Convert takes 3.5 days and NOT recommended IF HBD price is higher than $1",
|
||||
"convert_desc": "Vahetamine võtab 3,5 päeva ja pole soovitatav kui HBD hind on kõrgem kui $1",
|
||||
"to_placeholder": "Kasutajanimi",
|
||||
"memo_placeholder": "Jäta oma märkmed siia",
|
||||
"transfer_token": "Ülekanne",
|
||||
"purchase_estm": "Purchase Points",
|
||||
"convert": "Convert HBD to HIVE",
|
||||
"points": "Gift Points to someone",
|
||||
"purchase_estm": "Osta punkte",
|
||||
"convert": "Vaheta HBD HIVEks",
|
||||
"points": "Kingi kellelegi punkte",
|
||||
"transfer_to_saving": "Kanna säästudesse",
|
||||
"powerUp": "Lisa võimsust",
|
||||
"withdraw_to_saving": "Withdraw To Saving",
|
||||
"steemconnect_title": "Hivesigner Transfer",
|
||||
"estimated_weekly": "Estimated Weekly",
|
||||
"destination_accounts": "Destination Accounts",
|
||||
"stop_information": "Are you sure want to stop?",
|
||||
"percent": "Percent",
|
||||
"auto_vests": "Auto Vests",
|
||||
"withdraw_to_saving": "Liiguta hoiusesse",
|
||||
"steemconnect_title": "Hivesigneri ülekanne",
|
||||
"estimated_weekly": "Prognoositud nädalane",
|
||||
"destination_accounts": "Saaja Kontod",
|
||||
"stop_information": "Oled kindel, et soovid peatada?",
|
||||
"percent": "Protsent",
|
||||
"auto_vests": "Automaatne Tulu",
|
||||
"save": "SALVESTA",
|
||||
"percent_information": "Percent info",
|
||||
"percent_information": "Protsendi info",
|
||||
"next": "EDASI",
|
||||
"delegate": "Delegate",
|
||||
"delegate": "Volita",
|
||||
"power_down": "Power Down",
|
||||
"withdraw_steem": "Võta HIVE välja",
|
||||
"withdraw_sbd": "Võta HIVE Dollar välja",
|
||||
@ -495,64 +496,64 @@
|
||||
"next": "EDASI",
|
||||
"account": {
|
||||
"title": "Võimenda kasutajat",
|
||||
"desc": "30 days delegation will boost your votes and social activities and give you more actions with more Resource Credits."
|
||||
"desc": "30-päevane volitus suurendab teie häält ja sotsiaalset tegevusi ning annab teile rohkem tegevusi koos rohkemate ressursipunktidega."
|
||||
}
|
||||
},
|
||||
"free_estm": {
|
||||
"title": "Free Points",
|
||||
"button": "SPIN & WIN",
|
||||
"get_spin": "5 SPINS",
|
||||
"spin_right": "Spin Left",
|
||||
"timer_text": "Next free spin in"
|
||||
"title": "Tasuta punktid",
|
||||
"button": "KEERUTA & VÕIDA",
|
||||
"get_spin": "5 KEERUTUST",
|
||||
"spin_right": "Keerutust järgi",
|
||||
"timer_text": "Järgmine tasuta keerutus"
|
||||
},
|
||||
"promote": {
|
||||
"title": "Promote",
|
||||
"days": "days",
|
||||
"user": "User",
|
||||
"permlink": "Post",
|
||||
"permlinkPlaceholder": "username/permlink",
|
||||
"information": "Are you sure to promote?"
|
||||
"title": "Reklaami",
|
||||
"days": "päeva",
|
||||
"user": "Kasutaja",
|
||||
"permlink": "Postita",
|
||||
"permlinkPlaceholder": "kasutajanimi/permlink",
|
||||
"information": "Olete kindel, et soovite reklaamida?"
|
||||
},
|
||||
"boostPost": {
|
||||
"title": "Boost"
|
||||
"title": "Võimenda"
|
||||
},
|
||||
"voters_dropdown": {
|
||||
"rewards": "REWARDS",
|
||||
"percent": "PERCENT",
|
||||
"time": "TIME"
|
||||
"rewards": "TASUD",
|
||||
"percent": "PROTSENT",
|
||||
"time": "AEG"
|
||||
},
|
||||
"reblog": {
|
||||
"title": "Reblog Info"
|
||||
"title": "Jaga infot"
|
||||
},
|
||||
"dsteem": {
|
||||
"date_error": {
|
||||
"device_time": "Your device time;",
|
||||
"current_time": "Current time;",
|
||||
"information": "We noticed that your device has incorrect date or time. Please fix Date & Time or Set Automatically and try again."
|
||||
"device_time": "Seadme kellaaeg;",
|
||||
"current_time": "Praegune kellaaeg;",
|
||||
"information": "Märkasime, et teie seadme kellaaeg ja kuupäev on vale. Muuda kellaaeg ja kuupäev või säti automaatseks ning proovi siis uuesti."
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"title": "Kommentaarid",
|
||||
"reveal_comment": "Reveal comment",
|
||||
"read_more": "Read more comments",
|
||||
"more_replies": "more replies"
|
||||
"reveal_comment": "Näita kommentaari",
|
||||
"read_more": "Näita rohkem kommentaare",
|
||||
"more_replies": "rohkem vastuseid"
|
||||
},
|
||||
"search_result": {
|
||||
"others": "Others",
|
||||
"others": "Muud",
|
||||
"best": {
|
||||
"title": "Best"
|
||||
"title": "Parimad"
|
||||
},
|
||||
"people": {
|
||||
"title": "People"
|
||||
"title": "Inimesed"
|
||||
},
|
||||
"topics": {
|
||||
"title": "Topics"
|
||||
"title": "Teemad"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
"title": "Grupid",
|
||||
"subscribe": "Liitu",
|
||||
"unsubscribe": "Lahku",
|
||||
"subscribers": "Liikmed",
|
||||
"posters": "Postitajad",
|
||||
"posts": "Post"
|
||||
},
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Jälgi",
|
||||
"unfollow": "Lõpeta jälgimine"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Liikmelisus",
|
||||
"discover": "Avasta"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Siin pole midagi"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Protsent",
|
||||
"username": "Kasutajanimi",
|
||||
"addAccount": "Lisa konto",
|
||||
"save": "Salvesta"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
"wallet": {
|
||||
"curation_reward": "پاداش مشارکت",
|
||||
"author_reward": "پاداش نویسنده",
|
||||
"comment_benefactor_reward": "Benefactor Reward",
|
||||
"claim_reward_balance": "Claim Reward ",
|
||||
"transfer": "انتقال دادن",
|
||||
"transfer_to_vesting": "To Vesting",
|
||||
"transfer_from_savings": "From Savings",
|
||||
"comment_benefactor_reward": "پاداش حامی",
|
||||
"claim_reward_balance": "دریافت پاداش",
|
||||
"transfer": "انتقال",
|
||||
"transfer_to_vesting": "واگذاری",
|
||||
"transfer_from_savings": "از پس انداز",
|
||||
"withdraw_vesting": "کم کردن قدرت",
|
||||
"fill_order": "سفارش",
|
||||
"post": "پست",
|
||||
@ -15,131 +15,131 @@
|
||||
"vote": "رأی",
|
||||
"reblog": "اشتراک گذاری",
|
||||
"login": "ورود",
|
||||
"incoming_transfer_title": "تراکنش ورودی",
|
||||
"outgoing_transfer_title": "تراکنش خروجی",
|
||||
"incoming_transfer_title": "Incoming transfer",
|
||||
"outgoing_transfer_title": "انتقال خروجی",
|
||||
"checkin_extra": "پاداش",
|
||||
"delegation": "اجاره",
|
||||
"delegations": "Delegations",
|
||||
"delegations": "اجاره ها",
|
||||
"delegation_title": "پاداش اجاره دادن",
|
||||
"delegation_desc": "Earn Points everyday for delegation",
|
||||
"delegation_desc": "کسب امیتاز برای اجاره",
|
||||
"post_title": "امتیاز برای ایجاد پست",
|
||||
"comment_title": "امتیاز برای نظر دادن",
|
||||
"vote_title": "امتیاز برای رای دادن",
|
||||
"reblog_title": "امتیاز برای اشتراک گذاری",
|
||||
"login_title": "امتیاز برای ورود به حساب کاربری",
|
||||
"checkin_title": "Points for heartbeat",
|
||||
"referral": "Referral",
|
||||
"referral_title": "Referral rewards",
|
||||
"referral_desc": "Invite friends and earn Points",
|
||||
"checkin_extra_title": "استفاده از پاداش",
|
||||
"no_activity": "No recent activity",
|
||||
"checkin_title": "امتیاز برای تپش قلب",
|
||||
"referral": "معرف",
|
||||
"referral_title": "پاداش های معرفی",
|
||||
"referral_desc": "دوست ها را دعوت کنید و امیتاز کسب کنید",
|
||||
"checkin_extra_title": "پاداش استفاده",
|
||||
"no_activity": "اخیراً فعالیتی انجام نشده است",
|
||||
"outgoing_transfer_description": "",
|
||||
"incoming_transfer_description": "",
|
||||
"post_desc": "You can earn point by posting regularly. Posting gives you upto 15 points.",
|
||||
"comment_desc": "Each comment you make helps you to grow your audience and also earns you upto 5 points.",
|
||||
"checkin_desc": "Checking in regularly gives you 0.25 points.",
|
||||
"vote_desc": "By voting you give reward to other creators and also earn back upto 0.01 x vote weight points.",
|
||||
"reblog_desc": "Share what post you like with your friends and earn points.",
|
||||
"login_desc": "When you login into app first time you earn 100 points.",
|
||||
"checkin_extra_desc": "Consistent use of app gives you extra chances to earn more points, be more active and earn more.",
|
||||
"dropdown_transfer": "Gift",
|
||||
"dropdown_promote": "Promote",
|
||||
"dropdown_boost": "Boost",
|
||||
"post_desc": "شما میتوانید با ایجاد پست بطور منظم، الا ۱۵ امتیاز بدست بیارید.",
|
||||
"comment_desc": "هر نظری که ثبت میکنید باعث میشود مخاطبان و دوستان خود را افزایش دهید و همچنین ۵ امتیاز را به همراه دارد.",
|
||||
"checkin_desc": "ورود به سیستم، بطور منظم ۰.۲۳ امیتاز بشما میدهد.",
|
||||
"vote_desc": "شما با رای دادن به آثار دیگران قدردانی خود را نشان میدهید و علاوه بر آن به میزان (0.01 ×میزان رای شما ) امتیاز دریافت می کنید.",
|
||||
"reblog_desc": "پست های مورد علاقه خود را با دوستانتان به اشتراک بگذارید و امتیاز دریافت کنید.",
|
||||
"login_desc": "وقتی که برای اولین باز به برنامه وارد شوید ۱۰۰ امیتاز کسب میکنید.",
|
||||
"checkin_extra_desc": "استفاده مداوم از برنامه به شما شانس کسب امتیاز بیشتر را میدهد، بیشتر فعال باشید و بیشتر امتیاز کسب کنید.",
|
||||
"dropdown_transfer": "هدیه",
|
||||
"dropdown_promote": "تبلیغ",
|
||||
"dropdown_boost": "ارتقاء",
|
||||
"from": "از",
|
||||
"to": "به",
|
||||
"estimated_value_desc": "According to purchase value",
|
||||
"estimated_value": "Estimated value",
|
||||
"estimated_amount": "Vote value",
|
||||
"amount_information": "Drag the slider to adjust the amount",
|
||||
"estimated_value_desc": "با توجه به ارزش خرید",
|
||||
"estimated_value": "ارزش برآورد شده",
|
||||
"estimated_amount": "ارزش رای",
|
||||
"amount_information": "کشیدن لغزنده برای تنظیم مقدار",
|
||||
"amount": "مقدار",
|
||||
"memo": "یادداشت",
|
||||
"information": "Are you sure to transfer funds?",
|
||||
"information": "آیا مطمئن هستید که وجوه را منتقل می کنید؟",
|
||||
"amount_desc": "موجودی",
|
||||
"memo_desc": "این یادداشت عمومی است",
|
||||
"to_placeholder": "نام کاربری",
|
||||
"memo_placeholder": "یادداشت های خود را در اینجا وارد کنید",
|
||||
"transfer_token": "انتقال دادن",
|
||||
"purchase_estm": "GET POINTS",
|
||||
"points": "Gift Points to someone",
|
||||
"transfer_to_saving": "To Saving",
|
||||
"purchase_estm": "گرفتن امتیاز",
|
||||
"points": "هدیه دادن امیتازات به کسی دیگر",
|
||||
"transfer_to_saving": "به پس انداز",
|
||||
"powerUp": "بالا بردن قدرت",
|
||||
"withdraw_to_saving": "Withdraw Saving",
|
||||
"steemconnect_title": "Hivesigner Transfer",
|
||||
"withdraw_to_saving": "برداشت از پس انداز",
|
||||
"steemconnect_title": "انتقال از Hivesigner",
|
||||
"next": "بعدی",
|
||||
"delegate": "Delegate",
|
||||
"delegate": "اجاره",
|
||||
"power_down": "کم کردن قدرت",
|
||||
"withdraw_steem": "Withdraw HIVE",
|
||||
"withdraw_sbd": "Withdraw HBD",
|
||||
"transfer_to_savings": "To Savings",
|
||||
"convert": "Convert",
|
||||
"escrow_transfer": "Escrow Transfer",
|
||||
"escrow_dispute": "Escrow Dispute",
|
||||
"escrow_release": "Escrow Release",
|
||||
"escrow_approve": "Escrow Approve",
|
||||
"cancel_transfer_from_savings": "Cancel From Savings",
|
||||
"withdraw_steem": "برداشت HIVE",
|
||||
"withdraw_sbd": "برداشتHBD",
|
||||
"transfer_to_savings": "به پس انداز",
|
||||
"convert": "تبدیل",
|
||||
"escrow_transfer": "انتقال اسکرو",
|
||||
"escrow_dispute": "اختلاف سپرده",
|
||||
"escrow_release": "رها کردن سپرده",
|
||||
"escrow_approve": "تایید سپرده",
|
||||
"cancel_transfer_from_savings": "لغو پس انداز",
|
||||
"delegate_vesting_shares": "اجاره",
|
||||
"fill_convert_request": "Convert Executed",
|
||||
"fill_transfer_from_savings": "Savings Executed",
|
||||
"fill_vesting_withdraw": "PowerDown executed",
|
||||
"fill_convert_request": "تبدیل اجرا شد",
|
||||
"fill_transfer_from_savings": "پس انداز اجرا اشد",
|
||||
"fill_vesting_withdraw": "کاهش انرژی اجرا شد",
|
||||
"estm": {
|
||||
"title": "امتیازها",
|
||||
"buy": "GET POINTS"
|
||||
"buy": "امتیاز گرفتن"
|
||||
},
|
||||
"savingsteem": {
|
||||
"title": "HIVE Savings"
|
||||
"title": "پس انداز های HIVE"
|
||||
},
|
||||
"savingsbd": {
|
||||
"title": "HBD Savings"
|
||||
"title": "پس اندازهای HBD"
|
||||
},
|
||||
"steem": {
|
||||
"title": "HIVE",
|
||||
"buy": "GET HIVE"
|
||||
"buy": "گرفتن HIVE"
|
||||
},
|
||||
"sbd": {
|
||||
"title": "HBD",
|
||||
"buy": "GET HBD"
|
||||
"buy": "گرفتن HBD"
|
||||
},
|
||||
"steem_power": {
|
||||
"title": "HIVE POWER"
|
||||
"title": "توانایی HIVE"
|
||||
},
|
||||
"btc": {
|
||||
"title": "BTC",
|
||||
"buy": "GET BTC",
|
||||
"address": "RECEIVE"
|
||||
"buy": "گرفتن BTC",
|
||||
"address": "دريافت كردن"
|
||||
}
|
||||
},
|
||||
"notification": {
|
||||
"vote": "voted",
|
||||
"unvote": "unvoted",
|
||||
"reply": "replied to",
|
||||
"mention": "mentioned in",
|
||||
"vote": "رای داده شده",
|
||||
"unvote": "رأی داده نشده",
|
||||
"reply": "پاسخ داد به",
|
||||
"mention": "نام برد به",
|
||||
"follow": "شما را دنبال میکند",
|
||||
"unfollow": "شما را دنبال نمیکند",
|
||||
"ignore": "شما را نادیده گرفته",
|
||||
"reblog": "reblogged",
|
||||
"transfer": "transferred",
|
||||
"spin": "Time to earn more Points",
|
||||
"inactive": "Be active! Write a post, continue earning",
|
||||
"referral": "joined with your referral, welcome them",
|
||||
"reblog": "اشتراک شد",
|
||||
"transfer": "منتقل شد",
|
||||
"spin": "وقت کسب امتیاز بیشتر است",
|
||||
"inactive": "فعال باشید! یک پست بنویسید، ادامه درامد دهید",
|
||||
"referral": "معرف شما پیوست، به آنها خوش آمد بگوید",
|
||||
"notification": "اطلاعیه ها",
|
||||
"leaderboard": "جدول رده بندی",
|
||||
"epoint": "امتیازها",
|
||||
"leaderboard_title": "Top Users",
|
||||
"leaderboard_title": "کاربران برتر",
|
||||
"recent": "اخیر",
|
||||
"yesterday": "دیروز",
|
||||
"this_week": "این هفته",
|
||||
"this_month": "این ماه",
|
||||
"older_then": "قدیمی تر از 1 ماه",
|
||||
"activities": "All",
|
||||
"activities": "همه",
|
||||
"replies": "پاسخها",
|
||||
"mentions": "Mentions",
|
||||
"reblogs": "Reblogs",
|
||||
"noactivity": "No recent activity"
|
||||
"mentions": "خطاب ها",
|
||||
"reblogs": "اشترک ها",
|
||||
"noactivity": "اخیراً فعالیتی انجام نشده است"
|
||||
},
|
||||
"leaderboard": {
|
||||
"daily": "DAILY",
|
||||
"weekly": "WEEKLY",
|
||||
"monthly": "MONTHLY"
|
||||
"daily": "روزانه",
|
||||
"weekly": "هفتگی",
|
||||
"monthly": "ماهانه"
|
||||
},
|
||||
"messages": {
|
||||
"comingsoon": "قابلیت ارسال پیام به زودی ارائه خواهد شد!"
|
||||
@ -158,21 +158,21 @@
|
||||
"hours": "ساعت ها",
|
||||
"voting_power": "قدرت رأی دهی",
|
||||
"login_to_see": "ورود به سیستم برای دیدن",
|
||||
"follow_people": "Follow some people to fill your feed",
|
||||
"follow_communities": "Join some communities to fill your feed",
|
||||
"follow_people": "برخی افراد را دنبال کنید تا فید تان پر شود",
|
||||
"follow_communities": "به برخی از کمیته ها بپیوندید تا فید شما پر شود",
|
||||
"havent_commented": "هنوز نظری نداده",
|
||||
"havent_posted": "هنوز مطلبی ننوشته اید",
|
||||
"steem_power": "Hive Power",
|
||||
"steem_power": "توانایی HIVE",
|
||||
"next_power_text": "روز باقی مانده تا کاهش قدرت،",
|
||||
"days": "روزها",
|
||||
"day": "روز",
|
||||
"steem_dollars": "Hive Dollars",
|
||||
"savings": "پس انداز",
|
||||
"edit": {
|
||||
"display_name": "Display Name",
|
||||
"about": "About",
|
||||
"location": "Location",
|
||||
"website": "Website"
|
||||
"display_name": "نام نمایشی",
|
||||
"about": "درباره",
|
||||
"location": "موقیعت",
|
||||
"website": "وب سایت"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@ -192,7 +192,7 @@
|
||||
"transfers": "تراکنش ها"
|
||||
},
|
||||
"pincode": "Pincode",
|
||||
"reset_pin": "Reset Pin Code",
|
||||
"reset_pin": "تنظیم مجدد پن کد",
|
||||
"reset": "راه اندازی مجدد",
|
||||
"nsfw_content": "NSFW",
|
||||
"send_feedback": "ارسال پیشنهادات و انتقادات",
|
||||
@ -205,44 +205,44 @@
|
||||
},
|
||||
"feedback_success": "ایمیل با موفقیت باز شد",
|
||||
"feedback_fail": "سرویس دهنده ایمیل نمی تواند باز شود",
|
||||
"server_fail": "Server not available"
|
||||
"server_fail": "سرور در دسترس نیست"
|
||||
},
|
||||
"voters": {
|
||||
"voters_info": "اطلاعات رأی دهندگان",
|
||||
"no_user": "User is not found."
|
||||
"no_user": "کاربر پیدا نشد."
|
||||
},
|
||||
"login": {
|
||||
"signin": "ورود",
|
||||
"signup": "JOIN NOW",
|
||||
"signin_title": "To get all the benefits of using Ecency",
|
||||
"signup": "حالا پیوستن",
|
||||
"signin_title": "برای دریافت تمام مزایای استفاده از Ecency",
|
||||
"username": "نام کاربری",
|
||||
"password": "رمز عبور و یا WIF",
|
||||
"description": "By signing in, you agree to our Terms of Services and Privacy Policies.",
|
||||
"description": "با ثبت نام شما موافق قوانین و سیاست های حفظ حریم خصوصی ما خواهید بود. ",
|
||||
"cancel": "انصراف",
|
||||
"login": "ورود به سیستم",
|
||||
"steemconnect_description": "If you don't want to keep your password encrypted and saved on your device, you can use Hivesigner.",
|
||||
"steemconnect_fee_description": "info"
|
||||
"steemconnect_description": "اگر نمی خواهید رمز عبورتان رمزنگاری و در دستگاهتان ذخیره شود، میتوانید از Hivesigner استفاده کنید.",
|
||||
"steemconnect_fee_description": "اطلاعات"
|
||||
},
|
||||
"register": {
|
||||
"button": "Sign Up",
|
||||
"button": "ثبت نام",
|
||||
"title": "ثبتنام کنید",
|
||||
"username": "Pick a username",
|
||||
"mail": "Enter your email address",
|
||||
"ref_user": "Referred user (Optional)",
|
||||
"500_error": "Your request could not be processed, signup queue is likely full! Try again in few minutes...",
|
||||
"title_description": "One account to manage everything",
|
||||
"form_description": "By signing up with us, you agree to our Terms of Service and Privacy Policies."
|
||||
"username": "نام کاربری را انتخاب کنید",
|
||||
"mail": "آدرس ایمیل خود را وارد کنید",
|
||||
"ref_user": "کاربر معدفی شده (اختیاری)",
|
||||
"500_error": "درخواست شما پردازش نشد ، صف ثبت نام احتمالاً پر است! چند دقیقه دیگر دوباره امتحان کنید...",
|
||||
"title_description": "یک حساب برای مدیریت همه چیز",
|
||||
"form_description": "با ثبت نام کردن، شما با شرایط خدمات و قوانین خصوصی ما موافقت می کنید."
|
||||
},
|
||||
"home": {
|
||||
"feed": "خبرنامه",
|
||||
"popular": "مورد علاقه",
|
||||
"top": "Top",
|
||||
"hot": "Hot",
|
||||
"new": "New",
|
||||
"blog": "Blog",
|
||||
"top": "بالا",
|
||||
"hot": "داغ",
|
||||
"new": "جدید",
|
||||
"blog": "وبلاگ",
|
||||
"posts": "Post",
|
||||
"friends": "Friends",
|
||||
"communities": "Communities"
|
||||
"friends": "دوستان",
|
||||
"communities": "انجمن ها"
|
||||
},
|
||||
"side_menu": {
|
||||
"profile": "نمایه",
|
||||
@ -252,13 +252,14 @@
|
||||
"schedules": "جدول زمانی",
|
||||
"gallery": "گالری",
|
||||
"settings": "تنظیمات",
|
||||
"communities": "Communities",
|
||||
"add_account": "اضافه کردن حساب کاربری",
|
||||
"logout": "خروج از حساب",
|
||||
"cancel": "صرف نظر",
|
||||
"logout_text": "آیا مطمئنید که میخواهید خارج شوید؟",
|
||||
"create_a_new_account": "Create a new account",
|
||||
"add_an_existing_account": "Add an existing account",
|
||||
"accounts": "Accounts"
|
||||
"create_a_new_account": "ایجاد یک حساب جدید",
|
||||
"add_an_existing_account": "یک حساب موجود اضافه کنید",
|
||||
"accounts": "حساب ها"
|
||||
},
|
||||
"header": {
|
||||
"title": "برای شخصی سازی فید های خود وارد شوید",
|
||||
@ -272,33 +273,33 @@
|
||||
},
|
||||
"editor": {
|
||||
"title": "تیتر",
|
||||
"tags": "Tags (separate with space)",
|
||||
"default_placeholder": "Tell us something...",
|
||||
"reply_placeholder": "Add your reply...",
|
||||
"tags": "برچسب ها (جدا با فاصله)",
|
||||
"default_placeholder": "چیزی به ما بگویید...",
|
||||
"reply_placeholder": "پاسخ خود را اضافه کنید...",
|
||||
"publish": "نشر",
|
||||
"reply": "پاسخ دادن",
|
||||
"open_gallery": "باز کردن گالری",
|
||||
"capture_photo": "گرفتن عکس",
|
||||
"limited_tags": "Only 10 tags allowed, remove some",
|
||||
"limited_length": "Maximum length of each tag should be 24",
|
||||
"limited_dash": "Use one dash in each tag",
|
||||
"limited_space": "Use space to separate tags",
|
||||
"limited_lowercase": "Only use lower letters in tag",
|
||||
"limited_characters": "Use only lowercase letters, digits and one dash",
|
||||
"limited_firstchar": "Tag must start with a letter",
|
||||
"limited_lastchar": "Tag must end with letter or number",
|
||||
"setting_schedule": "Scheduling Time",
|
||||
"setting_reward": "Reward",
|
||||
"setting_beneficiary": "Beneficiary",
|
||||
"reward_default": "Default 50% / 50%",
|
||||
"reward_power_up": "Power Up 100%",
|
||||
"reward_decline": "Decline Payout",
|
||||
"beneficiaries": "Beneficiaries",
|
||||
"options": "Options",
|
||||
"my_blog": "My Blog",
|
||||
"my_communities": "My Communities",
|
||||
"top_communities": "Top Communities",
|
||||
"schedule_modal_title": "Schedule Post"
|
||||
"limited_tags": "فقط ۱۰ برچسب مجاز است، برخی را بردارید",
|
||||
"limited_length": "حداکثر طول هر برچسب باید ۲۴ باشد",
|
||||
"limited_dash": "در هر برچسب از یک خط تیره استفاده کنید",
|
||||
"limited_space": "برای جدا کردن برچسب ها از فاصله استفاده کنید",
|
||||
"limited_lowercase": "فقط از حروف کوچک در برچسب استفاده کنید",
|
||||
"limited_characters": "فقط از حروف کوچک ، رقم و یک خط تیره استفاده کنید",
|
||||
"limited_firstchar": "برچسب باید با یک حرف شروع شود",
|
||||
"limited_lastchar": "برچسب باید با یک حرف یا عدد پایان یابد",
|
||||
"setting_schedule": "زمان برنامهریزی",
|
||||
"setting_reward": "پاداش",
|
||||
"setting_beneficiary": "ذینفعان",
|
||||
"reward_default": "پیشفرض ۵۰٪ / ۵۰٪",
|
||||
"reward_power_up": "۱۰۰٪ بالا بردن قدرت",
|
||||
"reward_decline": "امتناع از پرداخت",
|
||||
"beneficiaries": "ذینفعان",
|
||||
"options": "گزینهها",
|
||||
"my_blog": "وبلاگ من",
|
||||
"my_communities": "انجمن ها",
|
||||
"top_communities": "جوامع برتر",
|
||||
"schedule_modal_title": "برنامه ریزی پست"
|
||||
},
|
||||
"pincode": {
|
||||
"enter_text": "Enter pin to unlock",
|
||||
@ -314,25 +315,25 @@
|
||||
"fail": "ناموفق!",
|
||||
"move": "انتقال",
|
||||
"move_question": "آیا مطمئن هستید که می خواهید به پیشنویس ها منتقل کنید؟",
|
||||
"success_shared": "Success! Content submitted!",
|
||||
"success_shared": "موفق باشید! محتوا ارسال شد!",
|
||||
"success_moved": "به پیشنویس ها منتقل شد",
|
||||
"permission_denied": "خطای دسترسی",
|
||||
"permission_text": "Please, go to phone Settings and change Ecency app permissions.",
|
||||
"key_warning": "Operation requires active key or master password, please relogin!",
|
||||
"permission_text": "لطفا به تنظیمات تلفن خود رفته و دسترسی Ecency را تغییر دهید.",
|
||||
"key_warning": "این عملیات به کلید فعال یا گذرواژه اصلی نیاز دارد ، لطفاً دوباره وارد سیستم شوید!",
|
||||
"success_rebloged": "Rebloged!",
|
||||
"already_rebloged": "شما قبلا به اشتراک گذاشته اید!",
|
||||
"success_favorite": "Favorite added!",
|
||||
"success_unfavorite": "Favorite removed!",
|
||||
"success_follow": "Follow success!",
|
||||
"fail_follow": "Follow failed!",
|
||||
"success_subscribe": "Subscribe success!",
|
||||
"fail_subscribe": "Subscribe failed!",
|
||||
"success_leave": "Leave success!",
|
||||
"fail_leave": "Leave failed!",
|
||||
"success_mute": "Mute success!",
|
||||
"success_favorite": "مورد دلخواه اضافه شد",
|
||||
"success_unfavorite": "مورد دلخواه پاک شد!",
|
||||
"success_follow": "دنبال، موفق شد!",
|
||||
"fail_follow": "دنبال، ناکام شد!",
|
||||
"success_subscribe": "اشتراک، موفق شد!",
|
||||
"fail_subscribe": "اشتراک، ناکام شد!",
|
||||
"success_leave": "ترک، موفق شد!",
|
||||
"fail_leave": "ترک، ناکام شد!",
|
||||
"success_mute": "بی صدا، موفق شد!",
|
||||
"success_unmute": "Unmute success!",
|
||||
"success_unfollow": "Unfollow success!",
|
||||
"fail_unfollow": "Unfollow failed!",
|
||||
"success_unfollow": "دنبال کردن لغو شد!",
|
||||
"fail_unfollow": "لغو دنبال، ناکام شد!",
|
||||
"warning": "اخطار",
|
||||
"invalid_pincode": "Invalid pin code, please check and try again.",
|
||||
"remove_alert": "Are you sure want to remove?",
|
||||
@ -346,38 +347,38 @@
|
||||
"confirm": "تأیید",
|
||||
"removed": "حذف شد",
|
||||
"same_user": "این کاربر قبلا به لیست اضافه شده است",
|
||||
"unknow_error": "An error occurred",
|
||||
"error": "Error",
|
||||
"fetch_error": "Connection issue, change server and restart",
|
||||
"connection_fail": "Connection Failed!",
|
||||
"connection_success": "Successfully connected!",
|
||||
"checking": "Checking...",
|
||||
"external_link": "Open in Browser",
|
||||
"not_existing_post": "The post does not exist! Please check permlink and author.",
|
||||
"google_play_version": "We noticed that your device has old version of Google Play. Please update Google Play services and try again!",
|
||||
"rc_down": "Not enough resource credits to perform an action! \n\nBoost your account to continue enjoy the experience. Do you want to boost your account, now?",
|
||||
"payloadTooLarge": "File size too big, please resize or upload smaller image",
|
||||
"qoutaExceeded": "Upload quota exceeded",
|
||||
"invalidImage": "Invalid image, try different file",
|
||||
"something_wrong": "Something went wrong.",
|
||||
"something_wrong_alt": "Try https://ecency.com",
|
||||
"something_wrong_reload": "Reload",
|
||||
"can_not_be_empty": "Title and body can not be empty!"
|
||||
"unknow_error": "يک خطا رخ داده است",
|
||||
"error": "خطا",
|
||||
"fetch_error": "مشکل اتصال ، تغییر سرور و راه اندازی مجدد",
|
||||
"connection_fail": "اتصال انجام نشد!",
|
||||
"connection_success": "اتصال با موفقیت انجام شد!",
|
||||
"checking": "در حال بررسی...",
|
||||
"external_link": "باز کردن در مرورگر",
|
||||
"not_existing_post": "پست موجود نیست! لطفاً لینک ثابت و نویسنده را بررسی کنید.",
|
||||
"google_play_version": "متوجه شدیم که دستگاه شما دارای نسخه قدیمی Google Play است. لطفاً خدمات Google Play را به روز کنید و دوباره امتحان کنید!",
|
||||
"rc_down": "اعتبار منابع کافی برای انجام عملی نیست!\n\nبرای لذت بردن از تجربه ، حساب خود را تقویت کنید. آیا می خواهید حساب خود را تقویت کنید?",
|
||||
"payloadTooLarge": "اندازه فایل خیلی بزرگ است ، لطفاً اندازه کوچکتر را تغییر دهید یا تصویر کوچکتر را بارگذاری کنید",
|
||||
"qoutaExceeded": "از سهمیه بارگذاری بیشتر شد",
|
||||
"invalidImage": "تصویر نامعتبر است ، فایل دیگری را امتحان کنید",
|
||||
"something_wrong": "مشکلی پیش آمد.",
|
||||
"something_wrong_alt": "Https://ecency.com را امتحان کنید",
|
||||
"something_wrong_reload": "ﻧﻮﺳﺎﺯﯼ",
|
||||
"can_not_be_empty": "عنوان و متن نمی تواند خالی باشد!"
|
||||
},
|
||||
"post": {
|
||||
"reblog_alert": "Are you sure, you want to reblog?",
|
||||
"removed_hint": "Content is not available",
|
||||
"copy_link": "Copy link",
|
||||
"reblogged": "reblogged by",
|
||||
"sponsored": "SPONSORED",
|
||||
"open_thread": "Open thread",
|
||||
"image": "Image",
|
||||
"link": "Link",
|
||||
"gallery_mode": "Gallery mode",
|
||||
"save_to_local": "Download to device",
|
||||
"image_saved": "Image saved to Photo Gallery",
|
||||
"image_saved_error": "Error Saving Image",
|
||||
"wrong_link": "Wrong link"
|
||||
"reblog_alert": "آیا مطمئن هستید که میخواهید دوباره به اشتراک بگذارید?",
|
||||
"removed_hint": "محتوا در دسترس نیست",
|
||||
"copy_link": "کاپی لنک",
|
||||
"reblogged": "اشتراک مجدد توسط",
|
||||
"sponsored": "اسپانسر شده",
|
||||
"open_thread": "بازکردن موضوع",
|
||||
"image": "تصویر",
|
||||
"link": "پیوند",
|
||||
"gallery_mode": "حالت گالری",
|
||||
"save_to_local": "بارگیری در دستگاه",
|
||||
"image_saved": "تصویر در گالری عکس ذخیره شد",
|
||||
"image_saved_error": "خطایی در ذخیره عکس بوجود آمد",
|
||||
"wrong_link": "لنک اشتباه"
|
||||
},
|
||||
"drafts": {
|
||||
"title": "پیشنویس ها",
|
||||
@ -402,7 +403,7 @@
|
||||
"add": "اضافه کردن به صفحات مورد علاقه"
|
||||
},
|
||||
"report": {
|
||||
"added": "Reported objectionable content"
|
||||
"added": "محتوای قابل اعتراض گزارش شده است"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "برگزیدهها",
|
||||
@ -415,7 +416,7 @@
|
||||
"invalid_username": "نام کاربری نامعتبر، لطفا چک کنید و دوباره امتحان کنید",
|
||||
"already_logged": "شما در حال حاظر وارد شده اید، لطفا با یک حساب کاربری دیگر تلاش کنید",
|
||||
"invalid_credentials": "اعتبار نامه غیر معتبر، لطفا چک کنید و دوباره تلاش کنید",
|
||||
"unknow_error": "Unknown error, please write to support@ecency.com"
|
||||
"unknow_error": "خطای ناشناخته ، لطفا به ادرس support@ecency.com به تماس شوید"
|
||||
},
|
||||
"payout": {
|
||||
"potential_payout": "پرداخت های بالقوه",
|
||||
@ -423,9 +424,9 @@
|
||||
"author_payout": "پاداش نویسنده",
|
||||
"curation_payout": "پاداش مشارکت",
|
||||
"payout_date": "پرداخت",
|
||||
"beneficiaries": "Beneficiaries",
|
||||
"warn_zero_payout": "Amount must reach $0.02 for payout",
|
||||
"breakdown": "Breakdown"
|
||||
"beneficiaries": "ذینفعان",
|
||||
"warn_zero_payout": "مبلغ برای پرداخت باید به ۰. ۰۲ دلار برسد",
|
||||
"breakdown": "درهم شکستن"
|
||||
},
|
||||
"post_dropdown": {
|
||||
"copy": "کپی لینک",
|
||||
@ -433,9 +434,9 @@
|
||||
"reply": "پاسخ دادن",
|
||||
"share": "درمیان گذاری",
|
||||
"bookmarks": "اضافه کردن به صفحات مورد علاقه",
|
||||
"promote": "promote",
|
||||
"boost": "boost",
|
||||
"report": "report"
|
||||
"promote": "تبلیغ",
|
||||
"boost": "ارتقاء",
|
||||
"report": "گزارش"
|
||||
},
|
||||
"deep_link": {
|
||||
"no_existing_user": "کاربری موجود نیست",
|
||||
@ -446,139 +447,152 @@
|
||||
"comments": "نظرات"
|
||||
},
|
||||
"comment_filter": {
|
||||
"trending": "TOP",
|
||||
"reputation": "REPUTATION",
|
||||
"votes": "VOTE",
|
||||
"age": "AGE",
|
||||
"top": "TOP",
|
||||
"time": "TIME"
|
||||
"trending": "بالا",
|
||||
"reputation": "اعبتار",
|
||||
"votes": "رای",
|
||||
"age": "سن",
|
||||
"top": "بالا",
|
||||
"time": "وقت"
|
||||
},
|
||||
"transfer": {
|
||||
"from": "از",
|
||||
"to": "به",
|
||||
"amount_information": "Drag the slider to adjust the amount",
|
||||
"amount_information": "برای تنظیم مقدار ، نوار لغزنده را بکشید",
|
||||
"amount": "مقدار",
|
||||
"memo": "یادداشت",
|
||||
"information": "Are you sure to transfer funds?",
|
||||
"information": "آیا مطمئن هستید که وجوه را منتقل می کنید?",
|
||||
"amount_desc": "موجودی",
|
||||
"memo_desc": "این یادداشت عمومی است",
|
||||
"convert_desc": "Convert takes 3.5 days and NOT recommended IF HBD price is higher than $1",
|
||||
"convert_desc": "تبدیل 3.5 روز طول می کشد و توصیه نمی شود اگر قیمت HBD بالاتر از 1 دلار باشد",
|
||||
"to_placeholder": "نام کاربری",
|
||||
"memo_placeholder": "یادداشت های خود را در اینجا وارد کنید",
|
||||
"transfer_token": "انتقال",
|
||||
"purchase_estm": "Purchase Points",
|
||||
"convert": "Convert HBD to HIVE",
|
||||
"points": "Gift Points to someone",
|
||||
"purchase_estm": "خریداری امتیاز",
|
||||
"convert": "تبدیل HBD به HIVE",
|
||||
"points": "به کسی امتیاز هدیه دهید",
|
||||
"transfer_to_saving": "انتقال به پس انداز",
|
||||
"powerUp": "بالا بردن قدرت",
|
||||
"withdraw_to_saving": "برداشت و انتقال به پس انداز",
|
||||
"steemconnect_title": "Hivesigner Transfer",
|
||||
"estimated_weekly": "Estimated Weekly",
|
||||
"destination_accounts": "Destination Accounts",
|
||||
"stop_information": "Are you sure want to stop?",
|
||||
"percent": "Percent",
|
||||
"steemconnect_title": "انتقال از Hivesigner",
|
||||
"estimated_weekly": "برآورد هفتگی",
|
||||
"destination_accounts": "حسابهای مقصد",
|
||||
"stop_information": "مطمئناً می خواهید متوقف شوید؟",
|
||||
"percent": "درصدی",
|
||||
"auto_vests": "Auto Vests",
|
||||
"save": "SAVE",
|
||||
"percent_information": "Percent info",
|
||||
"save": "ذخیره",
|
||||
"percent_information": "اطلاعات درصد",
|
||||
"next": "بعدی",
|
||||
"delegate": "Delegate",
|
||||
"power_down": "Power Down",
|
||||
"withdraw_steem": "Withdraw HIVE",
|
||||
"withdraw_sbd": "Withdraw HIVE Dollar",
|
||||
"incoming_funds": "Incoming Funds",
|
||||
"stop": "Stop",
|
||||
"address_view": "View address"
|
||||
"delegate": "اجاره",
|
||||
"power_down": "کم کردن قدرت",
|
||||
"withdraw_steem": "برداشت HIVE",
|
||||
"withdraw_sbd": "برداشت دلار HIVE",
|
||||
"incoming_funds": "وجوه دریافتی",
|
||||
"stop": "توقف",
|
||||
"address_view": "مشاهده آدرس"
|
||||
},
|
||||
"boost": {
|
||||
"title": "Get Points",
|
||||
"buy": "GET Points",
|
||||
"next": "NEXT",
|
||||
"title": "گرفتن امتیاز",
|
||||
"buy": "گرفتن امتیاز",
|
||||
"next": "بعدی",
|
||||
"account": {
|
||||
"title": "Get Account Boost",
|
||||
"desc": "30 days delegation will boost your votes and social activities and give you more actions with more Resource Credits."
|
||||
"title": "حساب را تقویت دهید",
|
||||
"desc": "تفویض 30 روزه آرا و فعالیتهای اجتماعی شما را افزایش داده و اقدامات بیشتری را با اعتبارات بیشتر به شما می دهد."
|
||||
}
|
||||
},
|
||||
"free_estm": {
|
||||
"title": "Free Points",
|
||||
"button": "SPIN & WIN",
|
||||
"get_spin": "5 SPINS",
|
||||
"spin_right": "Spin Left",
|
||||
"timer_text": "Next free spin in"
|
||||
"title": "گرفتن امتیاز",
|
||||
"button": "چرخش و برنده شدن",
|
||||
"get_spin": "5 چرخش",
|
||||
"spin_right": "چرخش باقی",
|
||||
"timer_text": "چرخش رایگان بعدی در"
|
||||
},
|
||||
"promote": {
|
||||
"title": "Promote",
|
||||
"days": "days",
|
||||
"user": "User",
|
||||
"permlink": "Post",
|
||||
"permlinkPlaceholder": "username/permlink",
|
||||
"information": "Are you sure to promote?"
|
||||
"title": "تبلیغ",
|
||||
"days": "روزها",
|
||||
"user": "کاربر",
|
||||
"permlink": "پست",
|
||||
"permlinkPlaceholder": "نام کاربری/لینک ثابت",
|
||||
"information": "آیا مطمئناً تبلیغ می کنید"
|
||||
},
|
||||
"boostPost": {
|
||||
"title": "Boost"
|
||||
"title": "ارتقاء"
|
||||
},
|
||||
"voters_dropdown": {
|
||||
"rewards": "REWARDS",
|
||||
"percent": "PERCENT",
|
||||
"time": "TIME"
|
||||
"rewards": "امتیازات",
|
||||
"percent": "درصد",
|
||||
"time": "وقت"
|
||||
},
|
||||
"reblog": {
|
||||
"title": "Reblog Info"
|
||||
"title": "اطلاعات reblog"
|
||||
},
|
||||
"dsteem": {
|
||||
"date_error": {
|
||||
"device_time": "Your device time;",
|
||||
"current_time": "Current time;",
|
||||
"information": "We noticed that your device has incorrect date or time. Please fix Date & Time or Set Automatically and try again."
|
||||
"device_time": "زمان دستگاه شما;",
|
||||
"current_time": "زمان کنونی;",
|
||||
"information": "متوجه شدیم که دستگاه شما تاریخ یا ساعت نادرستی دارد. لطفاً تاریخ و زمان را برطرف کنید یا به صورت خودکار تنظیم کنید و دوباره امتحان کنید."
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"title": "نظرات",
|
||||
"reveal_comment": "Reveal comment",
|
||||
"read_more": "Read more comments",
|
||||
"more_replies": "more replies"
|
||||
"reveal_comment": "نشان دادن نظریه",
|
||||
"read_more": "نظرات بیشتر را بخوانید",
|
||||
"more_replies": "پاسخ های بیشتر"
|
||||
},
|
||||
"search_result": {
|
||||
"others": "Others",
|
||||
"others": "دیگر",
|
||||
"best": {
|
||||
"title": "Best"
|
||||
"title": "بهترین"
|
||||
},
|
||||
"people": {
|
||||
"title": "People"
|
||||
"title": "مردم"
|
||||
},
|
||||
"topics": {
|
||||
"title": "Topics"
|
||||
"title": "موضوعات"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
"posters": "Posters",
|
||||
"title": "Groups",
|
||||
"subscribe": "\"پیوستن\"",
|
||||
"unsubscribe": "ترک کردن",
|
||||
"subscribers": "اعضاء",
|
||||
"posters": "پوسترها",
|
||||
"posts": "Post"
|
||||
},
|
||||
"communities_filter": {
|
||||
"my": "My Communities",
|
||||
"rank": "Rank",
|
||||
"subs": "Members",
|
||||
"new": "New"
|
||||
"my": "انجمن(های) من",
|
||||
"rank": "رتبه",
|
||||
"subs": "اعضاء",
|
||||
"new": "جدید"
|
||||
},
|
||||
"post_result_filter": {
|
||||
"popularity": "Popularity",
|
||||
"newest": "Newest",
|
||||
"relevance": "Relevance"
|
||||
"popularity": "محبوبیت",
|
||||
"newest": "جدیدترین",
|
||||
"relevance": "ارتباط"
|
||||
},
|
||||
"other_result_filter": {
|
||||
"user": "User",
|
||||
"tag": "Tag"
|
||||
"user": "کاربر",
|
||||
"tag": "برچسب"
|
||||
}
|
||||
},
|
||||
"community": {
|
||||
"new_post": "New Post",
|
||||
"community": "community",
|
||||
"details": "Details"
|
||||
"new_post": "پست جدید",
|
||||
"community": "انجمن",
|
||||
"details": "جزئیات"
|
||||
},
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
"follow": "دنبال کردن",
|
||||
"unfollow": "عدم دنبال کردن"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Ajastetut",
|
||||
"gallery": "Galleria",
|
||||
"settings": "Asetukset",
|
||||
"communities": "Yhteisöt",
|
||||
"add_account": "Lisää tili",
|
||||
"logout": "Kirjaudu ulos",
|
||||
"cancel": "Peruuta",
|
||||
@ -538,7 +539,7 @@
|
||||
"more_replies": "lisää vastauksia"
|
||||
},
|
||||
"search_result": {
|
||||
"others": "Others",
|
||||
"others": "Muut",
|
||||
"best": {
|
||||
"title": "Parhaat"
|
||||
},
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Aiheet"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Yhteisöt",
|
||||
"title": "Ryhmät",
|
||||
"subscribe": "Liity",
|
||||
"unsubscribe": "Poistu",
|
||||
"subscribers": "Jäsenet",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Seuraa",
|
||||
"unfollow": "Älä seuraa"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Jäsenyys",
|
||||
"discover": "Löydä uutta"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Täällä ei ole mitään"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Prosenttia",
|
||||
"username": "Käyttäjänimi",
|
||||
"addAccount": "Lisää Tili",
|
||||
"save": "Tallenna"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Mga Iskedyul",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Magdagdag ng Account",
|
||||
"logout": "Mag-logout",
|
||||
"cancel": "Kansel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Mga pamayanan",
|
||||
"title": "Groups",
|
||||
"subscribe": "Sumali",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Planifications",
|
||||
"gallery": "Gallerie",
|
||||
"settings": "Réglages",
|
||||
"communities": "Communities",
|
||||
"add_account": "Ajouter un compte",
|
||||
"logout": "Déconnexion",
|
||||
"cancel": "Annuler",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communautés",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Frisahteis",
|
||||
"settings": "Lageinos",
|
||||
"communities": "Communities",
|
||||
"add_account": "Anaaiauk rahnein",
|
||||
"logout": "Afleiþ",
|
||||
"cancel": "Fraqiþ",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "לוחות זמנים",
|
||||
"gallery": "גלריה",
|
||||
"settings": "הגדרות",
|
||||
"communities": "Communities",
|
||||
"add_account": "הוסף/י חשבון",
|
||||
"logout": "התנתק/י",
|
||||
"cancel": "ביטול",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "निर्धारित",
|
||||
"gallery": "चित्रशाला",
|
||||
"settings": "समायोजन",
|
||||
"communities": "समुदाय",
|
||||
"add_account": "खता जोड़ें",
|
||||
"logout": "बहार जाएँ",
|
||||
"cancel": "रद्द करें",
|
||||
@ -538,7 +539,7 @@
|
||||
"more_replies": "अधिक जवाब"
|
||||
},
|
||||
"search_result": {
|
||||
"others": "Others",
|
||||
"others": "अन्यों",
|
||||
"best": {
|
||||
"title": "सर्वश्रेष्ठ"
|
||||
},
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "विषयों"
|
||||
},
|
||||
"communities": {
|
||||
"title": "समुदाय",
|
||||
"title": "समूह",
|
||||
"subscribe": "शामिल हों",
|
||||
"unsubscribe": "छोड़ें",
|
||||
"subscribers": "सदस्य",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "फॉलो करें",
|
||||
"unfollow": "अनफॉलो करें"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "सदस्यता",
|
||||
"discover": "खोजिए"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "कुछ नहीं है यहां"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "प्रतिशत",
|
||||
"username": "प्रयोक्ता नाम",
|
||||
"addAccount": "खता जोड़ें",
|
||||
"save": "रक्षित करें"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Rasporedi",
|
||||
"gallery": "Galerija",
|
||||
"settings": "Postavke",
|
||||
"communities": "Communities",
|
||||
"add_account": "Dodaj Profil",
|
||||
"logout": "Odjava",
|
||||
"cancel": "Poništi",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Időzítések",
|
||||
"gallery": "Galéria",
|
||||
"settings": "Beállítások",
|
||||
"communities": "Communities",
|
||||
"add_account": "Fiók Hozzáadása",
|
||||
"logout": "Kijelentkezés",
|
||||
"cancel": "Elvet",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Közösségek",
|
||||
"title": "Groups",
|
||||
"subscribe": "Csatlakozz",
|
||||
"unsubscribe": "Kilépés",
|
||||
"subscribers": "Tagok",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Daftar jadwal",
|
||||
"gallery": "Album",
|
||||
"settings": "Pengaturan",
|
||||
"communities": "Communities",
|
||||
"add_account": "Tambahkan Akun",
|
||||
"logout": "Keluar",
|
||||
"cancel": "Batal",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Pianificazioni",
|
||||
"gallery": "Galleria",
|
||||
"settings": "Impostazioni",
|
||||
"communities": "Communities",
|
||||
"add_account": "Aggiungi Account",
|
||||
"logout": "Disconnettiti",
|
||||
"cancel": "Cancella",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "スケジュール",
|
||||
"gallery": "ギャラリー",
|
||||
"settings": "設定",
|
||||
"communities": "Communities",
|
||||
"add_account": "アカウントを追加",
|
||||
"logout": "ログアウト",
|
||||
"cancel": "キャンセル",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Isɣiwas",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Iɣewwaṛen",
|
||||
"communities": "Communities",
|
||||
"add_account": "Rnu amiḍan",
|
||||
"logout": "Tuffɣa",
|
||||
"cancel": "Sefsex",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "Schedules",
|
||||
"gallery": "Gallery",
|
||||
"settings": "Settings",
|
||||
"communities": "Communities",
|
||||
"add_account": "Add Account",
|
||||
"logout": "Logout",
|
||||
"cancel": "Cancel",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "Communities",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
@ -252,6 +252,7 @@
|
||||
"schedules": "일정",
|
||||
"gallery": "갤러리",
|
||||
"settings": "설정",
|
||||
"communities": "Communities",
|
||||
"add_account": "계정 추가",
|
||||
"logout": "로그아웃",
|
||||
"cancel": "취소",
|
||||
@ -549,7 +550,7 @@
|
||||
"title": "Topics"
|
||||
},
|
||||
"communities": {
|
||||
"title": "커뮤니티",
|
||||
"title": "Groups",
|
||||
"subscribe": "Join",
|
||||
"unsubscribe": "Leave",
|
||||
"subscribers": "Members",
|
||||
@ -580,5 +581,18 @@
|
||||
"user": {
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow"
|
||||
},
|
||||
"communities": {
|
||||
"joined": "Membership",
|
||||
"discover": "Discover"
|
||||
},
|
||||
"empty_screen": {
|
||||
"nothing_here": "Nothing here"
|
||||
},
|
||||
"beneficiary_modal": {
|
||||
"percent": "Percent",
|
||||
"username": "Username",
|
||||
"addAccount": "Add Account",
|
||||
"save": "Save"
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user