feat : quick update
CI / Verify (push) Successful in 1m2s
CI / Build immutable images and deploy (push) Successful in 2m1s

This commit is contained in:
2026-09-04 16:23:24 +07:00 Unverified
parent c7b75a5ad4
commit ffb00c8526
+10 -10
View File
@@ -166,23 +166,23 @@ function TeamExportImage({ team }: { team: Team }) {
<h2 className="text-[64px] leading-tight font-bold">{team.title}</h2> <h2 className="text-[64px] leading-tight font-bold">{team.title}</h2>
<p className="text-[32px] text-[#b9b9c2]">ระยะเวลาโรเทชั่น {seconds.toLocaleString(undefined, { maximumFractionDigits: 2 })} วิ</p> <p className="text-[32px] text-[#b9b9c2]">ระยะเวลาโรเทชั่น {seconds.toLocaleString(undefined, { maximumFractionDigits: 2 })} วิ</p>
</header> </header>
<div className="mt-6 flex flex-col gap-6"> <div className="mt-5 flex flex-col gap-4">
{team.members.map((member) => { {team.members.map((member) => {
const damage = Number(member.damage); const damage = Number(member.damage);
const percent = total > 0 ? damage / total * 100 : 0; const percent = total > 0 ? damage / total * 100 : 0;
return ( return (
<div key={member.position} className="flex h-[190px] items-center gap-6 rounded-3xl p-3.5" style={{ backgroundColor: elementBackgroundColor(member.character.element) }}> <div key={member.position} className="flex h-[174px] items-center gap-6 rounded-3xl p-3.5" style={{ backgroundColor: elementBackgroundColor(member.character.element) }}>
<div className={cn("relative size-[150px] shrink-0 overflow-hidden rounded-3xl border-[3px] border-white/20", rarityGradientClass(isCustomTravelerKey(member.character.key) ? 5 : member.character.rarity))}> <div className={cn("relative size-[140px] shrink-0 overflow-hidden rounded-3xl border-[3px] border-white/20", rarityGradientClass(isCustomTravelerKey(member.character.key) ? 5 : member.character.rarity))}>
<Image src={member.character.imageUrl} alt="" fill loading="eager" sizes="150px" className="object-contain" /> <Image src={member.character.imageUrl} alt="" fill loading="eager" sizes="140px" className="object-contain" />
<span className="absolute top-1.5 left-1.5 text-xl font-bold">C{member.constellation}</span> <span className="absolute top-1.5 left-1.5 text-xl font-bold">C{member.constellation}</span>
</div> </div>
<div className="grid w-48 shrink-0 grid-cols-2 gap-3"> <div className="grid w-44 shrink-0 grid-cols-2 gap-3">
{member.weapon ? <div className={cn("relative aspect-square min-w-0 scale-110 overflow-hidden rounded-2xl", rarityGradientClass(member.weapon.rarity))}><Image src={member.weapon.imageUrl} alt="" fill loading="eager" sizes="96px" className="object-contain p-1" /><span className="absolute top-1 left-1 text-base font-bold">R{member.refinement}</span></div> : null} {member.weapon ? <div className={cn("relative aspect-square min-w-0 scale-110 overflow-hidden rounded-2xl", rarityGradientClass(member.weapon.rarity))}><Image src={member.weapon.imageUrl} alt="" fill loading="eager" sizes="82px" className="object-contain p-1" /><span className="absolute top-1 left-1 text-base font-bold">R{member.refinement}</span></div> : null}
<TeamArtifactIcon <TeamArtifactIcon
first={member.artifact} first={member.artifact}
second={member.secondArtifact} second={member.secondArtifact}
eager eager
sizes="96px" sizes="82px"
className="min-w-0 rounded-2xl" className="min-w-0 rounded-2xl"
/> />
</div> </div>
@@ -194,9 +194,9 @@ function TeamExportImage({ team }: { team: Team }) {
); );
})} })}
</div> </div>
<div className="my-5 flex flex-1 items-center justify-center rounded-2xl bg-[#272730] p-6 text-center text-[28px] leading-[1.45]">{team.combo}</div> <div className="my-3 flex min-h-0 flex-1 items-center justify-center overflow-hidden rounded-2xl bg-[#272730] p-4 text-center text-[28px] leading-[1.4]"><p className="line-clamp-3 whitespace-pre-wrap">{team.combo}</p></div>
<div className="flex justify-center border-t-2 border-[#34343d] pt-6 text-[64px] font-bold text-[#f0c95f]">DPS: {seconds > 0 ? (total / seconds).toLocaleString(undefined, { maximumFractionDigits: 0 }) : "0"}</div> <div className="flex shrink-0 justify-center border-t-2 border-[#34343d] pt-6 text-[64px] font-bold text-[#f0c95f]">DPS: {seconds > 0 ? (total / seconds).toLocaleString(undefined, { maximumFractionDigits: 0 }) : "0"}</div>
<div className="mt-5 flex justify-center text-[40px] text-[#74747f]">By YT เกนชินไม่ใช่เกมมือถือ</div> <div className="mt-5 flex shrink-0 justify-center text-[40px] text-[#74747f]">By YT เกนชินไม่ใช่เกมมือถือ</div>
</div> </div>
); );
} }