diff --git a/src/assets/gerbil-happy.png b/src/assets/gerbil-happy.png
new file mode 100644
index 0000000..4247f83
Binary files /dev/null and b/src/assets/gerbil-happy.png differ
diff --git a/src/assets/gerbil-sad.png b/src/assets/gerbil-sad.png
new file mode 100644
index 0000000..153d4ad
Binary files /dev/null and b/src/assets/gerbil-sad.png differ
diff --git a/src/component/emptyStateView/index.js b/src/component/emptyStateView/index.js
new file mode 100644
index 0000000..53e1c84
--- /dev/null
+++ b/src/component/emptyStateView/index.js
@@ -0,0 +1,4 @@
+import { connect } from 'react-redux';
+import EmptyStateView from './view';
+
+export default connect()(EmptyStateView);
diff --git a/src/component/emptyStateView/view.js b/src/component/emptyStateView/view.js
new file mode 100644
index 0000000..e69ceda
--- /dev/null
+++ b/src/component/emptyStateView/view.js
@@ -0,0 +1,26 @@
+import React from 'react';
+import { NativeModules, Text, View, Image, TouchableOpacity } from 'react-native';
+import Button from '../button';
+import emptyStateStyle from 'styles/emptyState';
+
+class EmptyStateView extends React.PureComponent {
+ render() {
+ const { message, buttonText, inner, onButtonPress } = this.props;
+
+ return (
+
+
+ {message}
+ {buttonText && (
+
+
+
+ )}
+
+ );
+ }
+}
+
+export default EmptyStateView;
diff --git a/src/index.js b/src/index.js
index 4013fe2..1a9a404 100644
--- a/src/index.js
+++ b/src/index.js
@@ -46,6 +46,7 @@ import isEqual from 'utils/deep-equal';
const globalExceptionHandler = (error, isFatal) => {
if (error && NativeModules.Firebase) {
+ console.log(error);
NativeModules.Firebase.logException(isFatal, error.message ? error.message : 'No message', JSON.stringify(error));
}
};
diff --git a/src/page/channel/index.js b/src/page/channel/index.js
index fae3125..42c42cf 100644
--- a/src/page/channel/index.js
+++ b/src/page/channel/index.js
@@ -1,5 +1,5 @@
import { connect } from 'react-redux';
-import { makeSelectClaimForUri, selectMyChannelClaims } from 'lbry-redux';
+import { doAbandonClaim, doFetchChannelListMine, makeSelectClaimForUri, selectMyChannelClaims } from 'lbry-redux';
import { doPopDrawerStack } from 'redux/actions/drawer';
import { doSetSortByItem, doSetTimeItem } from 'redux/actions/settings';
import { selectDrawerStack } from 'redux/selectors/drawer';
@@ -15,6 +15,8 @@ const select = (state, props) => ({
});
const perform = dispatch => ({
+ abandonClaim: (txid, nout) => dispatch(doAbandonClaim(txid, nout)),
+ fetchChannelListMine: () => dispatch(doFetchChannelListMine()),
popDrawerStack: () => dispatch(doPopDrawerStack()),
setSortByItem: item => dispatch(doSetSortByItem(item)),
setTimeItem: item => dispatch(doSetTimeItem(item)),
diff --git a/src/page/channel/view.js b/src/page/channel/view.js
index d20ffd5..19ac7dd 100644
--- a/src/page/channel/view.js
+++ b/src/page/channel/view.js
@@ -47,7 +47,9 @@ class ChannelPage extends React.PureComponent {
}
componentDidMount() {
+ const { fetchChannelListMine } = this.props;
NativeModules.Firebase.setCurrentScreen('Channel');
+ fetchChannelListMine();
}
handleSortByItemSelected = item => {
@@ -266,7 +268,7 @@ class ChannelPage extends React.PureComponent {
)}
{ownedChannel && (