modules/ui/rapid_whatsnew.js (78 lines of code) (raw):
import { t } from '../core/localizer';
import { icon } from './intro/helper';
import { uiModal } from './modal';
import { prefs } from '../core/preferences';
import marked from 'marked';
export function uiRapidWhatsNew(context) {
let _dontShowAgain = false;
return function(selection) {
if (prefs('sawWhatsNew') === 'true') return;
const modalSelection = uiModal(selection);
modalSelection.select('.modal')
.attr('class', 'modal rapid-modal modal-splash modal-whatsnew'); // RapiD styling
let whatsNewModal = modalSelection.select('.content');
whatsNewModal
.append('div')
.attr('class','modal-section')
.append('h3')
.html(t('rapid_whats_new.welcome', { rapidicon: icon('#iD-logo-rapid', 'logo-rapid') }));
let body = whatsNewModal
.append('div')
.attr('class','modal-section body')
.html(marked(t('rapid_whats_new.text', {rapidicon: icon('#iD-logo-rapid', 'logo-rapid') })));
body
.append('img')
.attr('class', 'whatsnew-image')
.attr('src', context.asset('img/rapid-esri-splash.jpg'));
body.select('p a')
.attr('target', '_blank');
let checkboxContainer = whatsNewModal
.append('div')
.attr('class', 'modal-section rapid-checkbox dontshow')
.attr('id', 'dontshowagain');
let checkbox = checkboxContainer
.append('label')
.attr('class', 'rapid-checkbox-label dontshow');
checkbox
.append('span')
.attr('class', 'rapid-checkbox-text')
.text(t('rapid_whats_new.dontshowagain'));
checkbox
.append('input')
.attr('type', 'checkbox')
.attr('class', 'rapid-feature-checkbox')
.property('checked', false)
.on('click', () => {
_dontShowAgain = !_dontShowAgain;
});
checkbox
.append('div')
.attr('class', 'rapid-checkbox-custom');
let buttonWrap = whatsNewModal
.append('div')
.attr('class', 'modal-actions');
let nothanks = buttonWrap
.append('button')
.attr('class', 'whats-new-nothanks')
.on('click', () => {
prefs('sawWhatsNew', _dontShowAgain);
modalSelection.close();
});
nothanks
.append('div')
.text(t('rapid_whats_new.nope'));
let okayButton = buttonWrap
.append('button')
.attr('class', 'whats-new-okay');
okayButton
.append('div')
.text(t('rapid_whats_new.ok'))
.on('click', () => {
prefs('sawWhatsNew', _dontShowAgain);
modalSelection.close();
window.open('https://mapwith.ai/rapid-esri', '_blank');
});
modalSelection.select('button.close')
.attr('class','hide');
};
}