send/app/ui/copyDialog.js

43 lines
1.4 KiB
JavaScript
Raw Normal View History

2018-10-26 01:55:11 +00:00
const html = require('choo/html');
const { copyToClipboard } = require('../utils');
2018-10-29 16:52:24 +00:00
module.exports = function(name, url) {
2018-10-26 01:55:11 +00:00
return function(state, emit, close) {
return html`
<send-copy-dialog
class="flex flex-col items-center text-center p-4 max-w-sm"
>
2018-11-16 20:39:36 +00:00
<h1 class="font-bold my-4">${state.translate('notifyUploadDone')}</h1>
<p class="font-normal leading-normal text-grey-darker word-break-all">
${state.translate('copyUrlFormLabelWithName', { filename: name })}
</p>
<input
type="text"
id="share-url"
class="w-full my-4 border rounded leading-loose h-12 px-2 py-1"
value="${url}"
readonly="true"
/>
<button
class="rounded bg-blue hover\:bg-blue-dark focus\:bg-blue-darker cursor-pointer text-center text-white py-2 px-6 h-12 w-full flex flex-no-shrink items-center justify-center font-semibold"
onclick="${copy}"
>
${state.translate('copyUrlFormButton')}
</button>
2019-01-11 09:15:03 +00:00
<a
class="text-blue hover:text-blue-dark focus:text-blue-darker my-4 font-medium cursor-pointer"
onclick="${close}"
2018-11-16 20:39:36 +00:00
>${state.translate('okButton')}</a
>
</send-copy-dialog>
2018-11-16 20:39:36 +00:00
`;
2018-10-26 01:55:11 +00:00
function copy(event) {
event.stopPropagation();
copyToClipboard(url);
event.target.textContent = state.translate('copiedUrl');
setTimeout(close, 1000);
}
};
};