channel creator fixes. fix wallet sync disable / re-enable errors.
This commit is contained in:
parent
eebb25dba0
commit
62ac844084
5 changed files with 40 additions and 19 deletions
|
@ -562,8 +562,8 @@ export default class ChannelCreator extends React.PureComponent {
|
|||
newChannelBidError: '',
|
||||
createChannelError: undefined,
|
||||
showCreateChannel: false,
|
||||
thumbnailUrl: null,
|
||||
coverImageUrl: null,
|
||||
thumbnailUrl: '',
|
||||
coverImageUrl: '',
|
||||
avatarImagePickerOpen: false,
|
||||
coverImagePickerOpen: false,
|
||||
|
||||
|
@ -914,7 +914,7 @@ export default class ChannelCreator extends React.PureComponent {
|
|||
<View>
|
||||
<Text style={channelCreatorStyle.channelAt}>@</Text>
|
||||
<TextInput
|
||||
editable={canSave && !creatingChannel && !updatingChannel}
|
||||
editable={canSave && !editMode && !creatingChannel && !updatingChannel}
|
||||
style={channelCreatorStyle.channelNameInput}
|
||||
value={this.state.newChannelName}
|
||||
onChangeText={value => this.handleNewChannelNameChange(value, true)}
|
||||
|
@ -924,10 +924,15 @@ export default class ChannelCreator extends React.PureComponent {
|
|||
onBlur={() => this.setState({ channelNameFocused: false })}
|
||||
/>
|
||||
</View>
|
||||
s
|
||||
</View>
|
||||
{newChannelNameError.length > 0 && (
|
||||
<Text style={channelCreatorStyle.inlineError}>{newChannelNameError}</Text>
|
||||
)}
|
||||
{editMode && (
|
||||
<Text style={channelCreatorStyle.helpText}>The channel name cannot be changed while editing.</Text>
|
||||
)}
|
||||
|
||||
<View style={channelCreatorStyle.bidRow}>
|
||||
<Text style={channelCreatorStyle.label}>Deposit</Text>
|
||||
<TextInput
|
||||
|
|
|
@ -80,9 +80,8 @@ class FirstRunScreen extends React.PureComponent {
|
|||
}
|
||||
|
||||
if (this.state.syncApplyStarted && !syncApplyIsPending) {
|
||||
this.setState({ syncApplyStarted: false });
|
||||
if (syncApplyErrorMessage && syncApplyErrorMessage.trim().length > 0) {
|
||||
notify({ message: syncApplyErrorMessage, isError: true });
|
||||
notify({ message: syncApplyErrorMessage, syncApplyStarted: false, isError: true });
|
||||
this.setState({ showBottomContainer: true });
|
||||
} else {
|
||||
// password successfully verified
|
||||
|
@ -236,6 +235,7 @@ class FirstRunScreen extends React.PureComponent {
|
|||
|
||||
closeFinalPage() {
|
||||
// Final page. Let the app know that first run experience is completed.
|
||||
this.setState({ syncApplyStarted: false });
|
||||
if (NativeModules.FirstRun) {
|
||||
NativeModules.FirstRun.firstRunCompleted();
|
||||
}
|
||||
|
|
|
@ -68,27 +68,37 @@ class SyncVerifyPage extends React.PureComponent {
|
|||
);
|
||||
}
|
||||
setDefaultAccount(
|
||||
() => {
|
||||
setClientSetting(Constants.SETTING_DEVICE_WALLET_SYNCED, true);
|
||||
|
||||
// unlock the wallet
|
||||
Lbry.account_unlock({ password: this.state.password ? this.state.password : '' })
|
||||
.then(() => navigation.goBack())
|
||||
.catch(err =>
|
||||
notify({ message: 'The wallet could not be unlocked at this time. Please restart the app.' })
|
||||
);
|
||||
},
|
||||
() => this.finishSync(true),
|
||||
err => {
|
||||
notify({
|
||||
message:
|
||||
'The account restore operation could not be completed successfully. Please restart the app and try again.',
|
||||
});
|
||||
// fail silently and still finish
|
||||
this.finishSync();
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
finishSync = (notifyUnlockFailed = false) => {
|
||||
const { navigation, notify, setClientSetting } = this.props;
|
||||
|
||||
setClientSetting(Constants.SETTING_DEVICE_WALLET_SYNCED, true);
|
||||
|
||||
// unlock the wallet (if locked)
|
||||
Lbry.status().then(status => {
|
||||
if (status.wallet.is_locked) {
|
||||
Lbry.account_unlock({ password: this.state.password ? this.state.password : '' })
|
||||
.then(() => navigation.goBack())
|
||||
.catch(err => {
|
||||
if (notifyUnlockFailed) {
|
||||
notify({ message: 'The wallet could not be unlocked at this time. Please restart the app.' });
|
||||
}
|
||||
});
|
||||
} else {
|
||||
navigation.goBack();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
handleChangeText = text => {
|
||||
// save the value to the state email
|
||||
const { onPasswordChanged } = this.props;
|
||||
|
|
|
@ -45,6 +45,7 @@ const channelCreatorStyle = StyleSheet.create({
|
|||
helpText: {
|
||||
fontFamily: 'Inter-UI-Regular',
|
||||
fontSize: 12,
|
||||
color: Colors.DescriptionGrey,
|
||||
},
|
||||
channelTitleInput: {
|
||||
marginBottom: 4,
|
||||
|
|
|
@ -436,6 +436,11 @@ const publishStyle = StyleSheet.create({
|
|||
fontSize: 14,
|
||||
color: Colors.DescriptionGrey,
|
||||
},
|
||||
helpText: {
|
||||
fontFamily: 'Inter-UI-Regular',
|
||||
fontSize: 12,
|
||||
color: Colors.DescriptionGrey,
|
||||
},
|
||||
publishesFooter: {
|
||||
marginTop: 2,
|
||||
marginLeft: 16,
|
||||
|
|
Loading…
Reference in a new issue