fix: favouriting images

This commit is contained in:
Isaac
2022-11-19 22:28:45 +00:00
parent 3cb69c6b6e
commit deea70a23a
2 changed files with 12 additions and 7 deletions

View File

@@ -91,10 +91,7 @@ export default class Background extends PureComponent {
const imageData = ctx.createImageData(32, 32);
imageData.data.set(decodeBlurHash(this.state.photoInfo.blur_hash, 32, 32));
ctx.putImageData(imageData, 0, 0);
// let blob = await new Promise(resolve => canvas.toBlob(resolve, 'image/png'));
// const blobUrl = URL.createObjectURL(blob);
backgroundImage.style.backgroundImage = `url(${canvas.toDataURL()})`;
// backgroundImage.style.backgroundImage = `url(${blobUrl})`;
}
// const img = new Image();

View File

@@ -17,7 +17,7 @@ export default class Favourite extends PureComponent {
};
}
favourite() {
async favourite() {
if (localStorage.getItem('favourite')) {
localStorage.removeItem('favourite');
this.setState({
@@ -41,7 +41,7 @@ export default class Favourite extends PureComponent {
);
break;
default:
const url = document
let url = document
.getElementById('backgroundImage')
.style.backgroundImage.replace('url("', '')
.replace('")', '')
@@ -51,6 +51,14 @@ export default class Favourite extends PureComponent {
return;
}
if (url.startsWith('blob:')) {
const reader = new FileReader();
url = await new Promise(async resolve => {
reader.onloadend = () => resolve(reader.result);
reader.readAsDataURL(await (await fetch(url)).blob());
})
}
if (type === 'custom') {
localStorage.setItem(
'favourite',
@@ -70,8 +78,8 @@ export default class Favourite extends PureComponent {
type,
url,
credit: document.getElementById('credit').textContent || '',
location: location ? location.innerText : 'N/A',
camera: camera ? camera.innerText : 'N/A',
location: location?.innerText,
camera: camera?.innerText,
resolution: document.getElementById('infoResolution').textContent || '',
}),
);