send/app/ui/legal.js

77 lines
2.9 KiB
JavaScript
Raw Normal View History

2018-10-25 02:07:10 +00:00
const html = require('choo/html');
const raw = require('choo/html/raw');
2019-01-29 21:08:54 +00:00
const modal = require('./modal');
2018-10-25 02:07:10 +00:00
2019-01-29 21:08:54 +00:00
module.exports = function(state, emit) {
2018-10-25 02:07:10 +00:00
return html`
2019-02-22 21:31:54 +00:00
<main class="main">
2019-01-29 21:08:54 +00:00
${state.modal && modal(state, emit)}
2018-11-16 20:39:36 +00:00
<div
class="flex flex-col items-center bg-white m-4 px-6 py-8 border border-grey-light md:border-none md:px-12 md:py-16 shadow w-full md:h-full"
2018-11-16 20:39:36 +00:00
>
<h1 class="text-center">${state.translate('legalTitle')}</h1>
<p class="mt-2">${state.translate('legalDateStamp')}</p>
<div class="overflow-scroll px-4">
${raw(
replaceLinks(state.translate('legalNoticeSend'), [
'https://www.mozilla.org/privacy/',
'https://github.com/mozilla/send/blob/master/docs/metrics.md'
])
)}
<ul class="mt-10 max-w-md leading-normal">
<li class="mb-4">
<b>${state.translate('legalNoticeSendContentHeader')}:</b>
${state.translate('legalNoticeSendContent')}
</li>
<li class="mb-4">
<b>${state.translate('legalNoticeSendDataHeader')}:</b>
${state.translate('legalNoticeSendData')}
</li>
<li class="mb-4">
<b>${state.translate('legalNoticeSendPersonalHeader')}:</b>
${state.translate('legalNoticeSendPersonal')}:
<ul class="leading-normal">
<li class="my-4">
<u>${state.translate('legalNoticeSendIPHeader')}:</u>
${state.translate('legalNoticeSendIP')}
</li>
<li class="mb-4">
<u>${state.translate('legalNoticeSendFXAHeader')}:</u>
${state.translate('legalNoticeSendFXA')}
</li>
</ul>
</li>
<li class="mb-4">
<b>${state.translate('legalNoticeSendNonPersonalHeader')}:</b>
${state.translate('legalNoticeSendNonPersonal')}:
<ul class="leading-normal">
<li class="my-4">
<u>${state.translate('legalNoticeSendInteractionHeader')}:</u>
${state.translate('legalNoticeSendInteraction')}
</li>
<li class="mb-4">
<u>${state.translate('legalNoticeSendTechnicalHeader')}:</u>
${state.translate('legalNoticeSendTechnical')}
</li>
</ul>
</li>
<li class="mb-4">
<b>${state.translate('legalNoticeSendThirdPartyHeader')}:</b>
${state.translate('legalNoticeSendThirdParty')}
</li>
</ul>
</div>
2018-11-16 20:39:36 +00:00
</div>
</main>
`;
2018-10-25 02:07:10 +00:00
};
function replaceLinks(str, urls) {
let i = 0;
const s = str.replace(
/<a>([^<]+)<\/a>/g,
(m, v) => `<a class="text-blue" href="${urls[i++]}">${v}</a>`
);
2018-11-02 09:27:59 +00:00
return `<p class="mt-10 max-w-md leading-normal">${s}</p>`;
2018-10-25 02:07:10 +00:00
}