fix(frontend): blurhashが無い場合に何も出力されないのを修正 (#14250)

* fix(frontend): blurhashが無い場合に何も出力されないのを修正

* Update Changelog

* Update packages/frontend/src/components/MkImgWithBlurhash.vue

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* attempt to fix test

* Update packages/frontend/src/components/MkImgWithBlurhash.vue

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* attempt to ignore test

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
This commit is contained in:
かっこかり 2024-07-19 10:11:44 +09:00 committed by GitHub
parent 6920f0fa7e
commit 56a43dc01d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View file

@ -45,6 +45,7 @@
- Fix: Twitchの埋め込みが開けない問題を修正 - Fix: Twitchの埋め込みが開けない問題を修正
- Fix: 子メニューの高さがウィンドウからはみ出ることがある問題を修正 - Fix: 子メニューの高さがウィンドウからはみ出ることがある問題を修正
- Fix: 個人宛てのダイアログ形式のお知らせが即時表示されない問題を修正 - Fix: 個人宛てのダイアログ形式のお知らせが即時表示されない問題を修正
- Fix: 一部の画像がセンシティブ指定されているときに画面に何も表示されないことがあるのを修正
### Server ### Server
- Feat: レートリミット制限に引っかかったときに`Retry-After`ヘッダーを返すように (#13949) - Feat: レートリミット制限に引っかかったときに`Retry-After`ヘッダーを返すように (#13949)

View file

@ -151,22 +151,26 @@ function drawImage(bitmap: CanvasImageSource) {
} }
function drawAvg() { function drawAvg() {
if (!canvas.value || !props.hash) return; if (!canvas.value) return;
const color = (props.hash != null && extractAvgColorFromBlurhash(props.hash)) || '#888';
const ctx = canvas.value.getContext('2d'); const ctx = canvas.value.getContext('2d');
if (!ctx) return; if (!ctx) return;
// avgColor // avgColor
ctx.beginPath(); ctx.beginPath();
ctx.fillStyle = extractAvgColorFromBlurhash(props.hash) ?? '#888'; ctx.fillStyle = color;
ctx.fillRect(0, 0, canvasWidth.value, canvasHeight.value); ctx.fillRect(0, 0, canvasWidth.value, canvasHeight.value);
} }
async function draw() { async function draw() {
if (props.hash == null) return; if (import.meta.env.MODE === 'test' && props.hash == null) return;
drawAvg(); drawAvg();
if (props.hash == null) return;
if (props.onlyAvgColor) return; if (props.onlyAvgColor) return;
const work = await canvasPromise; const work = await canvasPromise;