advanced.php
2 weeks ago
feeds.php
2 weeks ago
general.php
2 weeks ago
translation.php
2 weeks ago
translations.php
2 weeks ago
general.php
391 lines
| 1 | <div v-if="selected === 'app-1'" id="cff-panel-general" role="tabpanel" aria-labelledby="cff-settings-tab-general" tabindex="0"> |
| 2 | <div class="sb-tab-box sb-license-box clearfix"> |
| 3 | <div class="tab-label"> |
| 4 | <h3>{{generalTab.licenseBox.title}}</h3> |
| 5 | <p>{{generalTab.licenseBox.description}}</p> |
| 6 | </div> |
| 7 | |
| 8 | <div class="cff-tab-form-field d-flex"> |
| 9 | <div v-if="licenseType === 'free' && licenseStatus == 'valid'" class="cff-tab-field-inner-wrap cff-license" :class="['license-' + licenseStatus, 'license-type-' + licenseType, {'form-error': hasError, 'dev-site-license-field': isDevSite}]"> |
| 10 | <div class="upgrade-info"> |
| 11 | <span v-html="generalTab.licenseBox.upgradeText1"></span> |
| 12 | <span v-html="generalTab.licenseBox.upgradeText2"></span> |
| 13 | </div> |
| 14 | <span v-if="!isDevSite" class="license-status" v-html="generalTab.licenseBox.freeText"></span> |
| 15 | <div v-if="isDevSite"> |
| 16 | <a :href="upgradeUrl" target="_blank" class="cff-btn cff-btn-blue cff-upgrade-license-btn"> |
| 17 | <span v-html="svgIcons.rocket"></span> |
| 18 | {{genericText.upgradeToPro}} |
| 19 | </a> |
| 20 | </div> |
| 21 | <div v-else class="d-flex"> |
| 22 | <div class="field-left-content"> |
| 23 | <div class="sb-form-field"> |
| 24 | <input type="password" name="license-key" id="license-key" class="cff-form-field" :aria-label="generalTab.licenseBox.inactiveFieldPlaceholder" :placeholder="generalTab.licenseBox.inactiveFieldPlaceholder" v-model="licenseKey"> |
| 25 | </div> |
| 26 | <div class="form-info d-flex justify-between"> |
| 27 | |
| 28 | <span class="cff-manage-license"> |
| 29 | <a :href="links.manageLicense">{{generalTab.licenseBox.manageLicense}}</a> |
| 30 | <a :href="links.manageLicense" @click.prevent.default="deactivateLicense">{{generalTab.licenseBox.deactivate}}</a> |
| 31 | </span> |
| 32 | <span> |
| 33 | <span class="test-connection" @click="testConnection()" v-if="testConnectionStatus === null"> |
| 34 | {{generalTab.licenseBox.test}} |
| 35 | <span v-html="testConnectionIcon()" :class="testConnectionStatus"> |
| 36 | </span> |
| 37 | </span> |
| 38 | <span v-html="testConnectionIcon()" class="test-connection" :class="testConnectionStatus" v-if="testConnectionStatus !== null"> |
| 39 | </span> |
| 40 | <span class="cff-upgrade"> |
| 41 | <a :href="upgradeUrl" target="_blank">{{generalTab.licenseBox.upgrade}}</a> |
| 42 | </span> |
| 43 | </span> |
| 44 | </div> |
| 45 | </div> |
| 46 | <div class="field-right-content"> |
| 47 | <button type="button" class="cff-btn" v-on:click="licenseActiveAction" :class="{loading: loading, 'sb-btn-blue': licenseType === 'free'}"> |
| 48 | <span v-if="loading && pressedBtnName === 'cff'" v-html="loaderSVG"></span> |
| 49 | <span class="cff-license-action-text" v-if="licenseType === 'pro'">{{generalTab.licenseBox.deactivate}}</span> |
| 50 | <span class="cff-license-action-text" v-if="licenseType === 'free'">{{generalTab.licenseBox.installPro}}</span> |
| 51 | </button> |
| 52 | </div> |
| 53 | </div> |
| 54 | </div> |
| 55 | |
| 56 | <div v-else class="cff-tab-field-inner-wrap cff-license" :class="['license-' + licenseStatus, 'license-type-' + licenseType, {'form-error': hasError, 'dev-site-license-field': isDevSite}]"> |
| 57 | <div class="upgrade-info"> |
| 58 | <span v-html="generalTab.licenseBox.upgradeText1"></span> |
| 59 | <span v-html="generalTab.licenseBox.upgradeText2"></span> |
| 60 | </div> |
| 61 | <span v-if="!isDevSite" class="license-status" v-html="generalTab.licenseBox.freeText"></span> |
| 62 | <div class="mb-6" v-if="licenseErrorMsg !== null"> |
| 63 | <span v-html="licenseErrorMsg" class="cff-error-text"></span> |
| 64 | </div> |
| 65 | <div v-if="isDevSite"> |
| 66 | <a :href="upgradeUrl" target="_blank" class="cff-btn cff-btn-blue cff-upgrade-license-btn"> |
| 67 | <span v-html="svgIcons.rocket"></span> |
| 68 | {{genericText.upgradeToPro}} |
| 69 | </a> |
| 70 | </div> |
| 71 | <div v-else class="d-flex"> |
| 72 | <div class="field-left-content"> |
| 73 | <div class="sb-form-field"> |
| 74 | <input type="password" name="license-key" id="license-key" class="cff-form-field" :aria-label="generalTab.licenseBox.inactiveFieldPlaceholder" :placeholder="generalTab.licenseBox.inactiveFieldPlaceholder" v-model="licenseKey"> |
| 75 | </div> |
| 76 | <div class="form-info d-flex justify-between"> |
| 77 | |
| 78 | <span class="cff-manage-license"> |
| 79 | </span> |
| 80 | <span> |
| 81 | <span class="test-connection" @click="testConnection()" v-if="testConnectionStatus === null"> |
| 82 | {{generalTab.licenseBox.test}} |
| 83 | <span v-html="testConnectionIcon()" :class="testConnectionStatus"> |
| 84 | </span> |
| 85 | </span> |
| 86 | <span v-html="testConnectionIcon()" class="test-connection" :class="testConnectionStatus" v-if="testConnectionStatus !== null"> |
| 87 | </span> |
| 88 | <span class="cff-upgrade"> |
| 89 | <a :href="upgradeUrl" target="_blank">{{generalTab.licenseBox.upgrade}}</a> |
| 90 | </span> |
| 91 | </span> |
| 92 | </div> |
| 93 | </div> |
| 94 | <div class="field-right-content"> |
| 95 | <button type="button" class="cff-btn sb-btn-blue" v-on:click="activateLicense"> |
| 96 | <span v-if="loading && pressedBtnName === 'cff'" class="cff-loader-svg" v-html="loaderSVG"></span> |
| 97 | {{generalTab.licenseBox.activate}} |
| 98 | </button> |
| 99 | </div> |
| 100 | </div> |
| 101 | </div> |
| 102 | |
| 103 | <div v-if="licenseType === 'pro' && licenseStatus === 'valid'" class="cff-tab-field-inner-wrap cff-license cff-license" :class="['license-' + licenseStatus, 'license-type-' + licenseType, {'form-error': hasError}]"> |
| 104 | <span class="license-status" v-html="generalTab.licenseBox.activeText"></span> |
| 105 | <div class="d-flex"> |
| 106 | <div class="field-left-content"> |
| 107 | <div class="sb-form-field"> |
| 108 | <input type="password" name="license-key" id="license-key" class="cff-form-field" :aria-label="generalTab.licenseBox.inactiveFieldPlaceholder" value="******************************" v-model="licenseKey"> |
| 109 | <span class="field-icon fa fa-check-circle"></span> |
| 110 | </div> |
| 111 | <div class="form-info d-flex justify-between"> |
| 112 | <span class="cff-manage-license"> |
| 113 | <a :href="links.manageLicense" target="_blank">{{generalTab.licenseBox.manageLicense}}</a> |
| 114 | </span> |
| 115 | <span> |
| 116 | <span class="test-connection" @click="testConnection()" v-if="testConnectionStatus === null"> |
| 117 | {{generalTab.licenseBox.test}} |
| 118 | <span v-html="testConnectionIcon()" :class="testConnectionStatus"> |
| 119 | </span> |
| 120 | </span> |
| 121 | <span v-html="testConnectionIcon()" class="test-connection" :class="testConnectionStatus" v-if="testConnectionStatus !== null"> |
| 122 | </span> |
| 123 | |
| 124 | <span class="cff-upgrade"> |
| 125 | <a :href="upgradeUrl" target="_blank">{{generalTab.licenseBox.upgrade}}</a> |
| 126 | </span> |
| 127 | </span> |
| 128 | </div> |
| 129 | </div> |
| 130 | <div class="field-right-content"> |
| 131 | <button type="button" class="cff-btn" v-on:click="licenseActiveAction" :class="{loading: loading}"> |
| 132 | <span v-if="loading && pressedBtnName === 'cff'" v-html="loaderSVG"></span> |
| 133 | {{generalTab.licenseBox.deactivate}} |
| 134 | </button> |
| 135 | </div> |
| 136 | </div> |
| 137 | </div> |
| 138 | |
| 139 | <div v-if="licenseType === 'pro' && ( |
| 140 | licenseStatus === 'inactive' || |
| 141 | licenseStatus === 'site_inactive' || |
| 142 | licenseStatus === 'invalid' || |
| 143 | licenseStatus === 'deactivated' || |
| 144 | licenseStatus === 'no_activations_left' || |
| 145 | licenseStatus === 'expired')" |
| 146 | class="cff-tab-field-inner-wrap cff-license" |
| 147 | :class="['license-' + licenseStatus, 'license-type-' + licenseType, {'form-error': hasError}]" |
| 148 | > |
| 149 | <span class="license-status" v-html="generalTab.licenseBox.inactiveText"></span> |
| 150 | <div class="d-flex"> |
| 151 | <div class="field-left-content"> |
| 152 | <div class="sb-form-field"> |
| 153 | <input type="password" name="license-key" id="license-key" class="cff-form-field" :aria-label="generalTab.licenseBox.inactiveFieldPlaceholder" :placeholder="generalTab.licenseBox.inactiveFieldPlaceholder" v-model="licenseKey"> |
| 154 | <span class="field-icon field-icon-error fa fa-times-circle" v-if="licenseErrorMsg !== null"></span> |
| 155 | </div> |
| 156 | <div class="mb-6" v-if="licenseErrorMsg !== null"> |
| 157 | <span v-html="licenseErrorMsg" class="cff-error-text"></span> |
| 158 | </div> |
| 159 | <div class="form-info d-flex justify-between"> |
| 160 | <span></span> |
| 161 | <span> |
| 162 | <span class="test-connection" @click="testConnection()" v-if="testConnectionStatus === null"> |
| 163 | {{generalTab.licenseBox.test}} |
| 164 | <span v-html="testConnectionIcon()" :class="testConnectionStatus"> |
| 165 | </span> |
| 166 | </span> |
| 167 | <span v-html="testConnectionIcon()" class="test-connection" :class="testConnectionStatus" v-if="testConnectionStatus !== null"> |
| 168 | </span> |
| 169 | <span class="cff-upgrade"> |
| 170 | <a :href="upgradeUrl" target="_blank">{{generalTab.licenseBox.upgrade}}</a> |
| 171 | </span> |
| 172 | </span> |
| 173 | </div> |
| 174 | </div> |
| 175 | <div class="field-right-content"> |
| 176 | <button type="button" class="cff-btn sb-btn-blue" v-on:click="activateLicense"> |
| 177 | <span v-if="loading && pressedBtnName === 'cff'" v-html="loaderSVG"></span> |
| 178 | {{generalTab.licenseBox.activate}} |
| 179 | </button> |
| 180 | </div> |
| 181 | </div> |
| 182 | </div> |
| 183 | |
| 184 | <!-- Extension license --> |
| 185 | <div v-if="licenseType !== 'free'" class="cff-tab-field-inner-wrap" v-for="extension in extensionsLicense" :class="[extension.name + '-license', 'license-' + extension.licenseStatus]"> |
| 186 | <span class="license-status" v-html="extension.statusText"></span> |
| 187 | |
| 188 | <!-- If extensions license is valid --> |
| 189 | <div class="d-flex" v-if="extension.licenseStatus !== false && extension.licenseStatus == 'valid'"> |
| 190 | <div class="field-left-content"> |
| 191 | <div class="sb-form-field"> |
| 192 | <input type="password" class="cff-form-field" :aria-label="generalTab.licenseBox.inactiveFieldPlaceholder" value="show pass" v-model="extension.licenseKey"> |
| 193 | <span v-if="extension.licenseStatus == 'valid'" class="field-icon fa fa-check-circle"></span> |
| 194 | </div> |
| 195 | <div class="form-info d-flex justify-between"> |
| 196 | <span class="cff-manage-license"> |
| 197 | <a :href="links.manageLicense" target="_blank">{{generalTab.licenseBox.manageLicense}}</a> |
| 198 | </span> |
| 199 | <span> |
| 200 | <span class="cff-upgrade"> |
| 201 | <a :href="extension.upgradeUrl" target="_blank">{{generalTab.licenseBox.upgrade}}</a> |
| 202 | </span> |
| 203 | </span> |
| 204 | </div> |
| 205 | </div> |
| 206 | <div class="field-right-content"> |
| 207 | <button type="button" class="cff-btn" v-on:click="licenseActiveAction(extension)" :class="{loading: loading}"> |
| 208 | <span v-if="loading && pressedBtnName === extension.name" v-html="loaderSVG"></span> |
| 209 | <span class="cff-license-action-text" v-if="licenseType === 'pro'">{{generalTab.licenseBox.deactivate}}</span> |
| 210 | <span class="cff-license-action-text" v-if="licenseType === 'free'">{{generalTab.licenseBox.installPro}}</span> |
| 211 | </button> |
| 212 | </div> |
| 213 | </div> |
| 214 | |
| 215 | <!-- If extensions license is not valid --> |
| 216 | <div class="d-flex" v-else> |
| 217 | <div class="field-left-content"> |
| 218 | <div class="sb-form-field" :class="{'sb-field-error': extensionFieldHasError && pressedBtnName === extension.name}"> |
| 219 | <input type="password" class="cff-form-field" :aria-label="generalTab.licenseBox.inactiveFieldPlaceholder" :placeholder="generalTab.licenseBox.inactiveFieldPlaceholder" v-model="extensionsLicenseKey[extension.name]"> |
| 220 | </div> |
| 221 | <div class="form-info d-flex justify-between"> |
| 222 | <span class="cff-manage-license"> |
| 223 | <a :href="links.manageLicense" target="_blank">{{generalTab.licenseBox.manageLicense}}</a> |
| 224 | </span> |
| 225 | <span> |
| 226 | <span class="cff-upgrade"> |
| 227 | <a :href="extension.upgradeUrl" target="_blank">{{generalTab.licenseBox.upgrade}}</a> |
| 228 | </span> |
| 229 | </span> |
| 230 | </div> |
| 231 | </div> |
| 232 | <div class="field-right-content"> |
| 233 | <button @click="activateExtensionLicense(extension)" type="button" class="cff-btn cff-btn-blue" :class="{loading: loading}"> |
| 234 | <span v-if="loading && pressedBtnName === extension.name" v-html="loaderSVG"></span> |
| 235 | {{generalTab.licenseBox.activate}} |
| 236 | </button> |
| 237 | </div> |
| 238 | </div> |
| 239 | </div> |
| 240 | </div> |
| 241 | </div> |
| 242 | |
| 243 | <div class="sb-tab-box sb-manage-sources-box clearfix"> |
| 244 | <div class="tab-label"> |
| 245 | <h3>{{generalTab.manageSource.title}}</h3> |
| 246 | </div> |
| 247 | <div class="cff-tab-form-field"> |
| 248 | <div class="sb-form-field"> |
| 249 | <span class="help-text"> |
| 250 | {{generalTab.manageSource.description}} |
| 251 | </span> |
| 252 | <div class="sb-sources-list" role="group" :aria-label="generalTab.manageSource.title"> |
| 253 | <div class="sb-srcs-item sb-srcs-new" role="button" tabindex="0" :aria-label="genericText.addSource" @click.prevent.default="activateView('sourcePopup','creationRedirect')" @keydown.enter.prevent.default="activateView('sourcePopup','creationRedirect')" @keydown.space.prevent.default="activateView('sourcePopup','creationRedirect')"> |
| 254 | <span class="add-new-icon"> |
| 255 | <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 256 | <path d="M14.25 8H8.25V14H6.25V8H0.25V6H6.25V0H8.25V6H14.25V8Z" fill="#0068A0"/> |
| 257 | </svg> |
| 258 | </span> |
| 259 | <span>{{genericText.addSource}}</span> |
| 260 | </div> |
| 261 | <div class="sb-srcs-item" v-for="(source, sourceIndex) in sourcesList" :class="{expanded: expandedFeedID == sourceIndex + 1, 'sb-account-has-error' : source.error !== ''}"> |
| 262 | <div class="cff-fb-srcs-item-ins"> |
| 263 | <div class="sb-srcs-item-avatar"> |
| 264 | <img :src="typeof source.avatar_url !== 'undefined' && source.account_type === 'group' ? source.avatar_url : 'https://graph.facebook.com/'+source.account_id+'/picture'" alt="" aria-hidden="true"> |
| 265 | </div> |
| 266 | <div class="sb-srcs-item-inf"> |
| 267 | <div class="sb-srcs-item-name"> |
| 268 | {{source.username}} |
| 269 | <div class="sb-group-small-notice" v-if="source?.account_type === 'group'"> |
| 270 | <svg width="16" height="16" viewBox="0 0 13 13" fill="none"> |
| 271 | <path d="M6.50008 0.666664C3.28008 0.666664 0.666748 3.28 0.666748 6.5C0.666748 9.72 3.28008 12.3333 6.50008 12.3333C9.72008 12.3333 12.3334 9.72 12.3334 6.5C12.3334 3.28 9.72008 0.666664 6.50008 0.666664ZM7.08342 9.41667H5.91675V8.25H7.08342V9.41667ZM7.08342 7.08333H5.91675V3.58333H7.08342V7.08333Z" fill="#D72C2C"/> |
| 272 | </svg> |
| 273 | <div class="cff-fb-onbrd-tltp-elem cff-fb-onbrd-tltp-elem-2 sb-tr-2" data-active="true"> |
| 274 | <div class="sb-pointer"> |
| 275 | <svg width="21" height="11" viewBox="0 0 21 11" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 276 | <path d="M8.59642 0.811655C9.39546 -0.135356 10.8545 -0.135357 11.6536 0.811654L20.25 11H0L8.59642 0.811655Z" fill="white"/> |
| 277 | </svg> |
| 278 | </div> |
| 279 | <div class="cff-fb-onbrd-tltp-txt sb-small-p sb-dark-text "> |
| 280 | <span v-html="genericText.deperecatedGroupText"></span> |
| 281 | </div> |
| 282 | </div> |
| 283 | |
| 284 | </div> |
| 285 | </div> |
| 286 | <div class="sb-srcs-item-used"> |
| 287 | <span v-html="printUsedInText(source.used_in)"></span> |
| 288 | <div v-if="source.used_in > 0" class="sb-control-elem-tltp"><div class="sb-control-elem-tltp-icon" role="button" tabindex="0" :aria-label="(genericText.viewSourceInstances || 'View where this source is used') + ': ' + source.username" v-html="svgIcons['info']" @click.prevent.default="viewSourceInstances(source)" @keydown.enter.prevent.default="viewSourceInstances(source)" @keydown.space.prevent.default="viewSourceInstances(source)"></div></div> |
| 289 | <div v-if="source.error !== '' || source.error_encryption" class="sb-source-error-wrap"> |
| 290 | <svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 291 | <path d="M6.50008 0.666664C3.28008 0.666664 0.666748 3.28 0.666748 6.5C0.666748 9.72 3.28008 12.3333 6.50008 12.3333C9.72008 12.3333 12.3334 9.72 12.3334 6.5C12.3334 3.28 9.72008 0.666664 6.50008 0.666664ZM7.08342 9.41667H5.91675V8.25H7.08342V9.41667ZM7.08342 7.08333H5.91675V3.58333H7.08342V7.08333Z" fill="#D72C2C"/> |
| 292 | </svg> |
| 293 | |
| 294 | <span v-html="source.error !== '' ? genericText.errorSource : genericText.errorEncryption"></span><a href="#" @click.prevent.default="activateView('sourcePopup', 'creationRedirect')" v-html="genericText.reconnect"></a> |
| 295 | </div> |
| 296 | <div v-if="source.error === '' && typeof( source.needs_update ) !== 'undefined' && source.needs_update" class="sb-source-error-wrap"> |
| 297 | <svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 298 | <path d="M6.50008 0.666664C3.28008 0.666664 0.666748 3.28 0.666748 6.5C0.666748 9.72 3.28008 12.3333 6.50008 12.3333C9.72008 12.3333 12.3334 9.72 12.3334 6.5C12.3334 3.28 9.72008 0.666664 6.50008 0.666664ZM7.08342 9.41667H5.91675V8.25H7.08342V9.41667ZM7.08342 7.08333H5.91675V3.58333H7.08342V7.08333Z" fill="#D72C2C"/> |
| 299 | </svg> |
| 300 | |
| 301 | <span v-html="genericText.updateRequired"></span><a href="#" @click.prevent.default="activateView('sourcePopup','creationRedirect')" v-html="genericText.reconnect"></a> |
| 302 | </div> |
| 303 | </div> |
| 304 | </div> |
| 305 | <div class="sb-srcs-item-actions"> |
| 306 | <div class="sb-srcs-item-actions-btn sb-srcs-item-delete" role="button" tabindex="0" :aria-label="(genericText.deleteSource || 'Delete') + ': ' + source.username" @click.stop.prevent.default="openDialogBox('deleteSource', source)" @keydown.enter.prevent.default="openDialogBox('deleteSource', source)" @keydown.space.prevent.default="openDialogBox('deleteSource', source)" v-html="svgIcons['delete']"></div> |
| 307 | <div class="sb-srcs-item-actions-btn sb-srcs-item-cog" v-if="expandedFeedID != sourceIndex + 1" role="button" tabindex="0" :aria-label="(genericText.sourceSettings || 'Source settings') + ': ' + source.username" v-html="svgIcons['cog']" @click="displayFeedSettings(source, sourceIndex)" @keydown.enter.prevent.default="displayFeedSettings(source, sourceIndex)" @keydown.space.prevent.default="displayFeedSettings(source, sourceIndex)"></div> |
| 308 | <div class="sb-srcs-item-actions-btn sb-srcs-item-angle-up" v-if="expandedFeedID == sourceIndex + 1" role="button" tabindex="0" :aria-label="(genericText.collapse || 'Collapse') + ': ' + source.username" v-html="svgIcons['angleUp']" @click="hideFeedSettings()" @keydown.enter.prevent.default="hideFeedSettings()" @keydown.space.prevent.default="hideFeedSettings()"></div> |
| 309 | </div> |
| 310 | </div> |
| 311 | <div class="cff-fb-srcs-info cff-fb-fs" v-if="expandedFeedID == sourceIndex + 1"> |
| 312 | <div class="cff-fb-srcs-info-item"> |
| 313 | <strong>{{genericText.id}}</strong> |
| 314 | <span>{{source.account_id}}</span> |
| 315 | <div class="cff-fb-srcs-info-icon" role="button" tabindex="0" :aria-label="(genericText.copyAccountId || 'Copy account ID') + ': ' + source.username" v-html="svgIcons['copy2']" @click.prevent.default="copyToClipBoard(source.account_id)" @keydown.enter.prevent.default="copyToClipBoard(source.account_id)" @keydown.space.prevent.default="copyToClipBoard(source.account_id)"></div> |
| 316 | </div> |
| 317 | </div> |
| 318 | </div> |
| 319 | |
| 320 | </div> |
| 321 | </div> |
| 322 | </div> |
| 323 | </div> |
| 324 | |
| 325 | |
| 326 | <div class="sb-tab-box sb-preserve-settings-box clearfix"> |
| 327 | <div class="tab-label"> |
| 328 | <h3>{{generalTab.preserveBox.title}}</h3> |
| 329 | </div> |
| 330 | |
| 331 | <div class="cff-tab-form-field"> |
| 332 | <div class="sb-form-field"> |
| 333 | <label for="preserve-settings" class="cff-checkbox"> |
| 334 | <input type="checkbox" name="preserve-settings" id="preserve-settings" v-model="model.general.preserveSettings" :aria-label="generalTab.preserveBox.title"> |
| 335 | <span class="toggle-track"> |
| 336 | <div class="toggle-indicator"></div> |
| 337 | </span> |
| 338 | </label> |
| 339 | <span class="help-text"> |
| 340 | {{generalTab.preserveBox.description}} |
| 341 | </span> |
| 342 | </div> |
| 343 | </div> |
| 344 | </div> |
| 345 | |
| 346 | <div class="sb-tab-box sb-import-box sb-reset-box-style clearfix"> |
| 347 | <div class="tab-label"> |
| 348 | <h3>{{generalTab.importBox.title}}</h3> |
| 349 | </div> |
| 350 | <div class="cff-tab-form-field"> |
| 351 | <div class="sb-form-field"> |
| 352 | <div class="d-flex mb-15"> |
| 353 | <button type="button" class="cff-btn sb-btn-lg import-btn" id="import-btn" @click="importFile" :disabled="uploadStatus !== null"> |
| 354 | <span class="icon" v-html="importBtnIcon()" :class="uploadStatus"></span> |
| 355 | {{generalTab.importBox.button}} |
| 356 | </button> |
| 357 | <div class="input-hidden"> |
| 358 | <input id="import_file" type="file" value="import_file" ref="file" tabindex="-1" aria-hidden="true" v-on:change="uploadFile"> |
| 359 | </div> |
| 360 | </div> |
| 361 | <span class="help-text"> |
| 362 | {{generalTab.importBox.description}} |
| 363 | </span> |
| 364 | </div> |
| 365 | </div> |
| 366 | </div> |
| 367 | |
| 368 | <div class="sb-tab-box sb-export-box clearfix"> |
| 369 | <div class="tab-label"> |
| 370 | <h3>{{generalTab.exportBox.title}}</h3> |
| 371 | </div> |
| 372 | <div class="cff-tab-form-field"> |
| 373 | <div class="sb-form-field"> |
| 374 | <div class="d-flex mb-15"> |
| 375 | <select name="" id="cff-feeds-list" class="cff-select" v-model="exportFeed" ref="export_feed" :aria-label="generalTab.exportBox.title"> |
| 376 | <option value="none" selected disabled>Select Feed</option> |
| 377 | <option v-for="feed in feeds" :value="feed.id">{{ feed.name }}</option> |
| 378 | </select> |
| 379 | <button type="button" class="cff-btn sb-btn-lg export-btn" @click="exportFeedSettings" :disabled="exportFeed === 'none'"> |
| 380 | <span class="icon" v-html="exportSVG"></span> |
| 381 | {{generalTab.exportBox.button}} |
| 382 | </button> |
| 383 | </div> |
| 384 | <span class="help-text"> |
| 385 | {{generalTab.exportBox.description}} |
| 386 | </span> |
| 387 | </div> |
| 388 | </div> |
| 389 | </div> |
| 390 | </div> |
| 391 |