2023-07-18 21:15:45 +02:00
const { connect } = require ( 'react-redux' ) ;
import { AppState } from '../app.reducer' ;
import { _ } from '@joplin/lib/locale' ;
import { clipboard } from 'electron' ;
import Button from './Button/Button' ;
2024-04-18 15:29:49 +02:00
import { Fragment } from 'react' ;
2023-07-18 21:15:45 +02:00
type JoplinCloudConfigScreenProps = {
inboxEmail : string ;
2024-04-18 15:29:49 +02:00
joplinCloudAccountType : number ;
2023-07-18 21:15:45 +02:00
} ;
const JoplinCloudConfigScreen = ( props : JoplinCloudConfigScreenProps ) = > {
const copyToClipboard = ( ) = > {
clipboard . writeText ( props . inboxEmail ) ;
} ;
2024-04-18 15:29:49 +02:00
const isEmailToNoteAvailableInAccount = props . joplinCloudAccountType !== 1 ;
2023-07-18 21:15:45 +02:00
return (
< div >
< h2 > { _ ( 'Email to note' ) } < / h2 >
< p > { _ ( 'Any email sent to this address will be converted into a note and added to your collection. The note will be saved into the Inbox notebook' ) } < / p >
2024-04-18 15:29:49 +02:00
{
isEmailToNoteAvailableInAccount ? < Fragment >
< p className = 'inbox-email-value' > { props . inboxEmail } < / p >
< Button onClick = { copyToClipboard } title = { _ ( 'Copy to clipboard' ) } / >
< / Fragment >
: < div className = 'alert-warn' >
< p > { _ ( 'Your account doesn\'t have access to this feature' ) } < / p >
< / div >
}
2023-07-18 21:15:45 +02:00
< / div >
) ;
} ;
const mapStateToProps = ( state : AppState ) = > {
return {
2023-07-23 16:57:55 +02:00
inboxEmail : state.settings [ 'sync.10.inboxEmail' ] ,
2024-04-18 15:29:49 +02:00
joplinCloudAccountType : state.settings [ 'sync.10.accountType' ] ,
2023-07-18 21:15:45 +02:00
} ;
} ;
export default connect ( mapStateToProps ) ( JoplinCloudConfigScreen ) ;