|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/lecturebazaar.com/resources/js/admin/ |
Upload File : |
(function ($) {
"use strict";
$('body').on('click', '.js-view-content', function (e) {
e.preventDefault();
const $parent = $(this).parent();
const prompt = $parent.find('.js-prompt').val() ?? null;
let result = $parent.find('.js-result').val();
const $modal = $('#contentModal');
const $prompt = $modal.find('.js-prompt-card');
$prompt.addClass('d-none');
if (prompt && prompt !== '') {
$prompt.removeClass('d-none');
$prompt.find('p').text(prompt)
}
const $textCard = $modal.find('#generatedTextContents');
const $imageCard = $modal.find('.js-image-generated-modal');
$textCard.addClass('d-none');
$imageCard.addClass('d-none');
const $imageCardContent = $imageCard.find('.js-content-modal');
$imageCardContent.html('');
if (result) {
result = JSON.parse(result);
if (result.contents && Object.keys(result.contents).length) {
$textCard.removeClass('d-none');
for (const content of result.contents) {
const html = makeTextContentHtml(content);
$textCard.append(html);
}
}
if (result.images && Object.keys(result.images).length) {
$imageCard.removeClass('d-none');
for (const image of result.images) {
const html = `<a href="${image}" target="_blank" class="d-block image-generated-card">
<img src="${image}" alt="image" class="img-cover rounded-sm">
</a>`;
$imageCardContent.append(html);
}
}
}
$modal.modal('show');
});
function makeTextContentHtml(text) {
return `<div class="js-text-generated mt-20 p-15 bg-info-light border-gray300 rounded-sm">
<div class="d-flex align-items-center justify-content-between">
<h4 class="font-14 text-gray">${generatedContentLang}</h4>
<div class="form-group mb-0">
<button type="button" class="btn-transparent d-flex align-items-center js-copy-content-modal" data-toggle="tooltip" data-placement="top" title="${copyLang}" data-copy-text="${copyLang}" data-done-text="${doneLang}">
<i data-feather="copy" width="18" height="18" class="text-gray"></i>
<span class="text-gray font-12 ml-5">${copyLang}</span>
</button>
</div>
</div>
<div class="mt-15 font-14 text-gray js-content">${text}</div>
</div>`
}
var copyTimeout;
$('body').on('click', '.js-copy-content-modal', function (e) {
e.preventDefault();
const $this = $(this);
const copyText = $this.attr('data-copy-text');
const doneText = $this.attr('data-done-text');
const contentToCopy = $this.closest('.js-text-generated').find('.js-content').text();
const tempTextarea = $('<textarea>').val(contentToCopy).appendTo('body').select();
document.execCommand('copy');
// Remove the temporary textarea
tempTextarea.remove();
const $span = $this.find('span')
$span.text(doneText);
if (copyTimeout) {
clearTimeout(copyTimeout)
}
copyTimeout = setTimeout(() => {
$span.text(copyText);
}, 1500)
});
})(jQuery);