Chore(fortune): Move function copyResultImageToClipboard and showCopiedNotice from fortune.js to scripts.js

This commit is contained in:
lifeadventurer
2024-06-19 19:14:35 +08:00
parent 8ac28e1d5c
commit b4d112693d
2 changed files with 47 additions and 47 deletions

View File

@@ -296,50 +296,4 @@ function getLuck() {
Update();
}
function copyResultImageToClipboard() {
try {
let $title = $('#title').clone().wrap('<div class="row"></div>');
$('#result-page').prepend($title.parent());
const backgroundColor = getComputedStyle($('.container')[0]).backgroundColor;
htmlToImage.toBlob($('#result-page')[0], {
skipFonts: true,
preferredFontFormat: 'woff2',
backgroundColor: backgroundColor, // Set background color dynamically
}).then(blob => {
navigator.clipboard.write([new ClipboardItem({ [blob.type]: blob })]);
showCopiedNotice();
$title.parent().remove();
}).catch(error => {
console.error('Error converting result page to image:', error);
$title.parent().remove();
});
} catch(error) {
console.error('Error copying result image to clipboard:', error);
}
}
function showCopiedNotice() {
const notice = $('<div>', {
text: 'Copied to clipboard!',
css: {
position: 'fixed',
bottom: '20px',
right: '20px',
padding: '10px 20px',
backgroundColor: 'rgba(0, 0, 0, 0.7)',
color: '#fff',
borderRadius: '5px',
zIndex: 1000,
}
});
$('body').append(notice);
setTimeout(() => {
notice.fadeOut(300, () => {
notice.remove();
});
}, 3000);
}
init_page();

View File

@@ -4,4 +4,50 @@ darkModeIcon.onclick = () => {
darkModeIcon.classList.toggle('bx-sun');
document.body.classList.toggle('dark-mode');
};
function copyResultImageToClipboard() {
try {
let $title = $('#title').clone().wrap('<div class="row"></div>');
$('#result-page').prepend($title.parent());
const backgroundColor = getComputedStyle($('.container')[0]).backgroundColor;
htmlToImage.toBlob($('#result-page')[0], {
skipFonts: true,
preferredFontFormat: 'woff2',
backgroundColor: backgroundColor, // Set background color dynamically
}).then(blob => {
navigator.clipboard.write([new ClipboardItem({ [blob.type]: blob })]);
showCopiedNotice();
$title.parent().remove();
}).catch(error => {
console.error('Error converting result page to image:', error);
$title.parent().remove();
});
} catch(error) {
console.error('Error copying result image to clipboard:', error);
}
}
function showCopiedNotice() {
const notice = $('<div>', {
text: 'Copied to clipboard!',
css: {
position: 'fixed',
bottom: '20px',
right: '20px',
padding: '10px 20px',
backgroundColor: 'rgba(0, 0, 0, 0.7)',
color: '#fff',
borderRadius: '5px',
zIndex: 1000,
}
});
$('body').append(notice);
setTimeout(() => {
notice.fadeOut(300, () => {
notice.remove();
});
}, 3000);
}