import {
createElement,
Component,
useEffect,
useState,
useMemo,
useReducer,
Fragment,
} from '@wordpress/element'
import classnames from 'classnames'
import { __, sprintf } from 'ct-i18n'
import ListPicker from './ListPicker'
import Overlay from '../../../../../static/js/helpers/Overlay'
import { Select } from 'blocksy-options'
import useProExtensionInFree from '../../../../../static/js/dashboard/helpers/useProExtensionInFree'
const freeProviders = ['mailchimp', 'demo']
const EditCredentials = ({ extension, onCredentialsValidated }) => {
const [provider, setProvider] = useState(extension.data.provider)
const [apiKey, setApiKey] = useState(extension.data.api_key)
const [listId, setListId] = useState(extension.data.list_id)
const [isLoading, setIsLoading] = useState(false)
const { isPro, showNotice, content } = useProExtensionInFree(extension, {
strategy: 'pro',
})
useEffect(() => {
if (
extension.data &&
!freeProviders.includes(extension.data.provider) &&
!isPro
) {
setProvider(freeProviders[0])
}
}, [])
const attemptToSaveCredentials = async () => {
const body = new FormData()
body.append('provider', provider)
body.append('api_key', apiKey)
body.append('list_id', listId)
body.append(
'action',
'blocksy_ext_newsletter_subscribe_maybe_save_credentials'
)
setIsLoading(true)
try {
const response = await fetch(ctDashboardLocalizations.ajax_url, {
method: 'POST',
body,
})
if (response.status === 200) {
const body = await response.json()
if (body.success) {
if (body.data.result !== 'api_key_invalid') {
onCredentialsValidated()
}
}
}
} catch (e) {}
await new Promise((r) => setTimeout(() => r(), 1000))
setIsLoading(false)
}
return (
{__('Connect Newsletter Provider', 'blocksy-companion')}
-1 ? 4 : 3}>
{__('Provider', 'blocksy-companion')}
{
if (!isPro && !freeProviders.includes(copy)) {
setProvider(copy)
setTimeout(() => {
setProvider(freeProviders[0])
})
showNotice()
return
}
setProvider(copy)
}}
option={{
placeholder: __(
'Pick Mailing Service',
'blocksy-companion'
),
choices: [
{
key: 'mailchimp',
value: 'Mailchimp',
},
{
key: 'mailerlite',
value: 'Mailerlite',
},
{
key: 'brevo',
value: 'Brevo (Sendinblue)',
},
{
key: 'campaignmonitor',
value: 'Campaign Monitor',
},
{
key: 'convertkit',
value: 'ConvertKit',
},
{
key: 'demo',
value: 'Demo',
},
],
}}
value={
provider.indexOf('mailerlite') > -1
? 'mailerlite'
: provider
}
/>
{provider.indexOf('mailerlite') > -1 && (
{__('Version', 'blocksy-companion')}
{
setProvider(
copy === 'new'
? 'mailerlite-new'
: 'mailerlite'
)
}}
option={{
placeholder: __(
'Pick Mailing Service',
'blocksy-companion'
),
choices: [
{
key: 'classic',
value: 'Classic',
},
{
key: 'new',
value: 'New',
},
],
}}
value={
provider === 'mailerlite-new'
? 'new'
: 'classic'
}
/>
)}
{(freeProviders.includes(provider) ||
ctDashboardLocalizations.plugin_data.is_pro) && (
{__('List ID', 'blocksy-companion')}
setListId(id)}
provider={provider}
apiKey={apiKey}
/>
)}
{provider === 'mailchimp' && (
',
''
),
}}
/>
)}
{ctDashboardLocalizations.plugin_data.is_pro &&
provider.indexOf('mailerlite') > -1 && (
',
'',
'',
' '
),
}}
/>
)}
{provider.indexOf('demo') > -1 && (
)}
{ctDashboardLocalizations.plugin_data.is_pro &&
provider === 'brevo' && (
',
''
),
}}
/>
)}
{ctDashboardLocalizations.plugin_data.is_pro &&
provider === 'convertkit' && (
',
''
),
}}
/>
)}
{ctDashboardLocalizations.plugin_data.is_pro &&
provider === 'campaignmonitor' && (
',
''
),
}}
/>
)}
attemptToSaveCredentials()}>
{isLoading
? __('Loading...', 'blocksy-companion')
: __('Save Settings', 'blocksy-companion')}
{content}
)
}
export default EditCredentials
Tedlar® Film Archives - American Durafilm
Tedlar® Film
DuPont™ Tedlar® PVF used widely in the aircraft industry these films provide excellent protective layer when laminated to many different surfaces. With several colors and thicknesses in stock you can add some looks and function to your panels with this film. DuPont™ Tedlar® PVF film has been used in numerous commercial applications…
Price start from: $ 6.44
Authorized Distributor Dupont