From 7d604156732f906961da684a79c670f4698e3d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicole=20Miko=C5=82ajczyk?= Date: Sun, 1 Jun 2025 00:24:36 +0200 Subject: [PATCH] pl-fe: fix interaction circle on shrimpnet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicole Mikołajczyk --- packages/pl-fe/src/actions/circle.ts | 3 ++- packages/pl-fe/src/normalizers/account.ts | 4 ++-- packages/pl-fe/src/pages/fun/circle.tsx | 7 +++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/pl-fe/src/actions/circle.ts b/packages/pl-fe/src/actions/circle.ts index fdc999153..a80954a26 100644 --- a/packages/pl-fe/src/actions/circle.ts +++ b/packages/pl-fe/src/actions/circle.ts @@ -48,7 +48,8 @@ const processCircle = (setProgress: (progress: { interaction.reblogs += 1; interaction.acct = status.reblog.account.acct; - interaction.avatar = status.reblog.account.avatar_static || status.reblog.account.avatar; + const avatarUrl = status.reblog.account.avatar_static || status.reblog.account.avatar; + interaction.avatar = avatarUrl?.endsWith('/identicon') ? '' : avatarUrl; interaction.avatar_description = status.reblog.account.avatar_description; } else if (status.in_reply_to_account_id) { if (status.in_reply_to_account_id === me) return; diff --git a/packages/pl-fe/src/normalizers/account.ts b/packages/pl-fe/src/normalizers/account.ts index 85149a07e..8dea8a83d 100644 --- a/packages/pl-fe/src/normalizers/account.ts +++ b/packages/pl-fe/src/normalizers/account.ts @@ -1,8 +1,8 @@ import type { Account as BaseAccount } from 'pl-api'; const normalizeAccount = (account: BaseAccount) => { - const missingAvatar = require('pl-fe/assets/images/avatar-missing.png'); - const missingHeader = require('pl-fe/assets/images/header-missing.png'); + const missingAvatar: string = require('pl-fe/assets/images/avatar-missing.png'); + const missingHeader: string = require('pl-fe/assets/images/header-missing.png'); return { mute_expires_at: null, diff --git a/packages/pl-fe/src/pages/fun/circle.tsx b/packages/pl-fe/src/pages/fun/circle.tsx index e318d9853..8b6ee7781 100644 --- a/packages/pl-fe/src/pages/fun/circle.tsx +++ b/packages/pl-fe/src/pages/fun/circle.tsx @@ -21,7 +21,7 @@ import { useModalsStore } from 'pl-fe/stores/modals'; const toRad = (x: number) => x * (Math.PI / 180); -const avatarMissing = require('pl-fe/assets/images/avatar-missing.png'); +const avatarMissing: string = require('pl-fe/assets/images/avatar-missing.png'); const HEIGHT = 1000; const WIDTH = 1000; @@ -88,11 +88,10 @@ const CirclePage: React.FC = () => { // https://github.com/duiker101/twitter-interaction-circles const ctx = canvasRef.current?.getContext('2d')!; - // ctx.fillStyle = '#C5EDCE'; - // ctx.fillRect(0, 0, 1000, 1000); + const ownAvatar = (account?.avatar && !account.avatar.endsWith('/identicon') && account.avatar) || avatarMissing; for (const layer of [ - { index: 0, off: 0, distance: 0, count: 1, radius: 110, users: [{ avatar: account?.avatar || avatarMissing }] }, + { index: 0, off: 0, distance: 0, count: 1, radius: 110, users: [{ avatar: ownAvatar }] }, { index: 1, off: 1, distance: 200, count: 8, radius: 64, users: users.slice(0, 8) }, { index: 2, off: 9, distance: 330, count: 15, radius: 58, users: users.slice(8, 23) }, { index: 3, off: 24, distance: 450, count: 26, radius: 50, users: users.slice(23, 49) },