UPDATE: 3.7.51
All checks were successful
Gitea Auto Deploy / Deploy-Container (push) Successful in 4m59s

This commit is contained in:
2025-09-25 18:22:23 +07:00
parent 9b38146443
commit 04a054fc5b
34 changed files with 61226 additions and 345751 deletions

View File

@@ -106,9 +106,6 @@ export default function PeakBar() {
{/* Title Card */}
<div className="rounded-xl p-4 mb-2 border border-warning">
<div className="mb-4 w-full">
{PEAKEvent.map((peak) => (
<div key={peak.id}>{peak.id}</div>
))}
<SelectCustomText
customSet={PEAKEvent.map((peak) => ({
id: peak.id,

View File

@@ -47,13 +47,18 @@ export default function SkillsInfo() {
return avatarSkillTree?.[skillSelected || ""]?.["1"]
}, [avatarSelected, avatarSkillTree, skillSelected])
const getImageSkill = useCallback((icon: string | undefined, status: StatusAddType | undefined) => {
const getImageSkill = useCallback((icon: string | undefined, status: StatusAddType | undefined, provider: string = "hakushin") => {
if (!icon) return
let urlPrefix = "https://homdgcat.wiki/images/skillicons/avatar/";
if (provider === "hakushin") {
urlPrefix = "https://api.hakush.in/hsr/UI/skillicons/"
}
if (icon.startsWith("SkillIcon")) {
if (Number(avatarSelected?.id) > 8000 && Number(avatarSelected?.id) % 2 === 0) {
return `https://homdgcat.wiki/images/skillicons/avatar/${Number(avatarSelected?.id) - 1}/${icon.replaceAll(avatarSelected?.id || "", (Number(avatarSelected?.id) - 1).toString())}`
if (provider === "homdgcat") {
return `${urlPrefix}${avatarSelected?.id}/${icon}`
} else if (provider === "hakushin") {
return `${urlPrefix}${icon.replace(".png", ".webp")}`
}
return `https://homdgcat.wiki/images/skillicons/avatar/${avatarSelected?.id}/${icon}`
} else if (status && mappingStats[status.PropertyType]) {
return mappingStats[status.PropertyType].icon
}
@@ -195,6 +200,10 @@ export default function SkillsInfo() {
? 'brightness(0%)'
: 'brightness(200%)'
}}
onError={(e) => {
e.currentTarget.onerror = null; // tránh loop
e.currentTarget.src = getImageSkill(avatarInfo?.SkillTrees?.[btn.id]?.["1"]?.Icon, avatarSkillTree?.[btn.id]?.["1"]?.StatusAddList[0], "homdgcat") || "";
}}
/>
{btn.size === "big" && (
<p className="text-xs md:text-base font-bold text-center rounded-full absolute bottom-[-1.4vw] left-1/2 transform -translate-x-1/2">{`${avatarData?.data.skills?.[avatarSkillTree?.[btn.id]?.["1"]?.PointID]}/${avatarSkillTree?.[btn.id]?.["1"]?.MaxLevel}`}</p>