From aac91afa49d1c424c3aba5862d09e44e01d94a03 Mon Sep 17 00:00:00 2001 From: Rangga Fajar Oktariansyah <86386385+FajarKim@users.noreply.github.com> Date: Thu, 2 Apr 2026 16:23:51 +0700 Subject: [PATCH] refactor(card): positioning logic into config object --- src/card.ts | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/src/card.ts b/src/card.ts index d99732c..34fb2d8 100644 --- a/src/card.ts +++ b/src/card.ts @@ -97,20 +97,38 @@ function getPositions( isAnimDisabled: boolean | undefined, isRevert: boolean | undefined ) { - const titleX = isAnimDisabled ? (isRtl ? 520 : 15) : (isRtl ? 510 : 5); - const titleY = isAnimDisabled ? 0 : -10; - const textX = isRtl ? 225 : 20; - const dataX = isRtl ? 25 : 220; - const iconX = isRtl ? 235 : -5; - const imageX = isAnimDisabled ? (isRevert ? 412 : 122) : (isRevert ? 417 : 127); - const imageY = isAnimDisabled ? 70 : 65; - const userX = isAnimDisabled ? (isRevert ? 412 : 122) : (isRevert ? 402 : 112); - const userY = isAnimDisabled ? 140 : 130; - const follX = isAnimDisabled ? (isRevert ? 412 : 122) : (isRevert ? 402 : 112); - const follY = isAnimDisabled ? 161 : 151; - const itemStatsX = isRevert ? (isRtl ? 10 : 0) : 230; + const configs = { + animated: { + title: { x: isRtl ? 510 : 5, y: -10 }, + image: { x: isRevert ? 417 : 127, y: 65 }, + user: { x: isRevert ? 402 : 112, y: 130 }, + foll: { x: isRevert ? 402 : 112, y: 151 }, + }, + static: { + title: { x: isRtl ? 520 : 15, y: 0 }, + image: { x: isRevert ? 412 : 122, y: 70 }, + user: { x: isRevert ? 412 : 122, y: 140 }, + foll: { x: isRevert ? 412 : 122, y: 161 }, + }, + }; + + const mode = isAnimDisabled ? "static" : "animated"; + const config = configs[mode]; - return { titleX, titleY, textX, dataX, iconX, imageX, imageY, userX, userY, follX, follY, itemStatsX }; + return { + titleX: config.title.x, + titleY: config.title.y, + textX: isRtl ? 225 : 20, + dataX: isRtl ? 25 : 220, + iconX: isRtl ? 235 : -5, + imageX: config.image.x, + imageY: config.image.y, + userX: config.user.x, + userY: config.user.y, + follX: config.foll.x, + follY: config.foll.y, + itemStatsX: isRevert ? (isRtl ? 10 : 0) : 230, + }; } /**