Skip to content

Commit

Permalink
OpenChannel: create collapsed advanced settings section
Browse files Browse the repository at this point in the history
  • Loading branch information
kaloudis committed Aug 26, 2023
1 parent e5737ec commit 6982104
Show file tree
Hide file tree
Showing 3 changed files with 149 additions and 87 deletions.
3 changes: 2 additions & 1 deletion components/UTXOPicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,8 @@ export default class UTXOPicker extends React.Component<
style={{
...styles.text,
color: themeColor('text'),
padding: 10,
paddingTop: 10,
paddingLeft: 10,
fontSize: 16
}}
>
Expand Down
1 change: 1 addition & 0 deletions locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
"general.off": "Off",
"general.close": "Close",
"general.learnMore": "Learn more",
"general.advancedSettings": "Advanced settings",
"components.CollapsedQr.show": "Show QR",
"components.CollapsedQr.hide": "Hide QR",
"components.CollapsedQr.startNfc": "Start NFC broadcast",
Expand Down
232 changes: 146 additions & 86 deletions views/OpenChannel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@ import Clipboard from '@react-native-clipboard/clipboard';
import { inject, observer } from 'mobx-react';
import NfcManager, { NfcEvents, TagEvent } from 'react-native-nfc-manager';

import Amount from './../components/Amount';
import AmountInput from './../components/AmountInput';
import Button from './../components/Button';
import Amount from '../components/Amount';
import AmountInput from '../components/AmountInput';
import Button from '../components/Button';
import Header from '../components/Header';
import LightningIndicator from './../components/LightningIndicator';
import Screen from './../components/Screen';
import KeyValue from '../components/KeyValue';
import LightningIndicator from '../components/LightningIndicator';
import { Row } from '../components/layout/Row';
import Screen from '../components/Screen';
import {
SuccessMessage,
ErrorMessage
Expand All @@ -33,13 +35,15 @@ import BackendUtils from '../utils/BackendUtils';
import { localeString } from '../utils/LocaleUtils';
import { themeColor } from '../utils/ThemeUtils';

import BalanceStore from './../stores/BalanceStore';
import ChannelsStore from './../stores/ChannelsStore';
import ModalStore from './../stores/ModalStore';
import NodeInfoStore from './../stores/NodeInfoStore';
import SettingsStore from './../stores/SettingsStore';
import UTXOsStore from './../stores/UTXOsStore';
import BalanceStore from '../stores/BalanceStore';
import ChannelsStore from '../stores/ChannelsStore';
import ModalStore from '../stores/ModalStore';
import NodeInfoStore from '../stores/NodeInfoStore';
import SettingsStore from '../stores/SettingsStore';
import UTXOsStore from '../stores/UTXOsStore';

import CaretDown from '../assets/images/SVG/Caret Down.svg';
import CaretRight from '../assets/images/SVG/Caret Right.svg';
import Scan from '../assets/images/SVG/Scan.svg';

interface OpenChannelProps {
Expand Down Expand Up @@ -69,6 +73,7 @@ interface OpenChannelState {
utxos: Array<string>;
utxoBalance: number;
connectPeerOnly: boolean;
advancedSettingsToggle: boolean;
}

@inject(
Expand Down Expand Up @@ -101,7 +106,8 @@ export default class OpenChannel extends React.Component<
suggestImport: '',
utxos: [],
utxoBalance: 0,
connectPeerOnly: false
connectPeerOnly: false,
advancedSettingsToggle: false
};
}

Expand Down Expand Up @@ -260,7 +266,8 @@ export default class OpenChannel extends React.Component<
privateChannel,
scidAlias,
simpleTaprootChannel,
connectPeerOnly
connectPeerOnly,
advancedSettingsToggle
} = this.state;
const { settings, implementation } = SettingsStore;
const { privacy } = settings;
Expand Down Expand Up @@ -529,28 +536,6 @@ export default class OpenChannel extends React.Component<
</View>
)}

<Text
style={{
...styles.secondaryText,
color: themeColor('secondaryText')
}}
>
{localeString('views.OpenChannel.numConf')}
</Text>
<TextInput
keyboardType="numeric"
placeholder={'1'}
value={min_confs.toString()}
onChangeText={(text: string) => {
const newMinConfs = Number(text);
this.setState({
min_confs: newMinConfs,
spend_unconfirmed: newMinConfs === 0
});
}}
locked={openingChannel}
/>

<>
<Text
style={{
Expand Down Expand Up @@ -608,75 +593,150 @@ export default class OpenChannel extends React.Component<
)}
</>

<>
<Text
<TouchableOpacity
onPress={() => {
this.setState({
advancedSettingsToggle:
!advancedSettingsToggle
});
}}
>
<View
style={{
top: 20,
color: themeColor('secondaryText')
marginTop: 10,
marginBottom: 10
}}
>
{localeString(
'views.OpenChannel.announceChannel'
)}
</Text>
<Switch
value={!privateChannel}
onValueChange={() =>
this.setState({
privateChannel: !privateChannel
})
}
/>
</>

{BackendUtils.isLNDBased() && (
<>
<Text
style={{
top: 20,
color: themeColor(
'secondaryText'
)
}}
>
{localeString(
'views.OpenChannel.scidAlias'
<Row justify="space-between">
<View style={{ width: '95%' }}>
<KeyValue
keyValue={localeString(
'general.advancedSettings'
)}
/>
</View>
{advancedSettingsToggle ? (
<CaretDown
fill={themeColor('text')}
width="20"
height="20"
/>
) : (
<CaretRight
fill={themeColor('text')}
width="20"
height="20"
/>
)}
</Text>
<Switch
value={scidAlias}
onValueChange={() =>
this.setState({
scidAlias: !scidAlias
})
}
/>
</>
)}
</Row>
</View>
</TouchableOpacity>

{BackendUtils.supportsSimpleTaprootChannels() && (
{advancedSettingsToggle && (
<>
<Text
style={{
top: 20,
...styles.secondaryText,
color: themeColor(
'secondaryText'
)
}}
>
{localeString(
'views.OpenChannel.simpleTaprootChannel'
'views.OpenChannel.numConf'
)}
</Text>
<Switch
value={simpleTaprootChannel}
onValueChange={() =>
<TextInput
keyboardType="numeric"
placeholder={'1'}
value={min_confs.toString()}
onChangeText={(text: string) => {
const newMinConfs =
Number(text);
this.setState({
simpleTaprootChannel:
!simpleTaprootChannel
})
}
min_confs: newMinConfs,
spend_unconfirmed:
newMinConfs === 0
});
}}
locked={openingChannel}
/>

<>
<Text
style={{
top: 20,
color: themeColor(
'secondaryText'
)
}}
>
{localeString(
'views.OpenChannel.announceChannel'
)}
</Text>
<Switch
value={!privateChannel}
onValueChange={() =>
this.setState({
privateChannel:
!privateChannel
})
}
/>
</>

{BackendUtils.isLNDBased() && (
<>
<Text
style={{
top: 20,
color: themeColor(
'secondaryText'
)
}}
>
{localeString(
'views.OpenChannel.scidAlias'
)}
</Text>
<Switch
value={scidAlias}
onValueChange={() =>
this.setState({
scidAlias:
!scidAlias
})
}
/>
</>
)}

{BackendUtils.supportsSimpleTaprootChannels() && (
<>
<Text
style={{
top: 20,
color: themeColor(
'secondaryText'
)
}}
>
{localeString(
'views.OpenChannel.simpleTaprootChannel'
)}
</Text>
<Switch
value={simpleTaprootChannel}
onValueChange={() =>
this.setState({
simpleTaprootChannel:
!simpleTaprootChannel
})
}
/>
</>
)}
</>
)}
</>
Expand Down

0 comments on commit 6982104

Please sign in to comment.