This commit is contained in:
2025-09-07 10:05:36 +02:00
parent 75001c1f9f
commit b8ba712085
3 changed files with 32 additions and 48 deletions

View File

@@ -1,5 +1,5 @@
import { formatNumber } from "@/lib/formatters"
import { bedwarsLevelColors, getBedwarsStar, getPrestigeName, getTextColor } from "@/lib/hypixel/bedwars/bedwars"
import { getBedwarsStar, getPrestige } from "@/lib/hypixel/bedwars/bedwars"
import { getBWLevelForExp } from "@/lib/hypixel/bedwars/level"
import { cn } from "@/lib/utils"
import { GenericProgress } from "../../_components/GenericProgress"
@@ -7,7 +7,7 @@ import Multicolored from "../../_components/Multicolored"
export function BedwarsLevel({ xp }: { xp: number }) {
const level = getBWLevelForExp(xp)
const color = bedwarsLevelColors(level)
const color = getPrestige(level).color
const star = getBedwarsStar(level)
const val = `[${level}${star}]`
@@ -30,6 +30,8 @@ export function BedwarsProgress({ level, percent, currentXp, ceilingXp }: { leve
}
export function BedWarsPrestige({ level }: { level: number }) {
const pres = getPrestige(level)
const star = getBedwarsStar(level)
if (level >= 1000 && level < 1100) {
return (
<span
@@ -39,14 +41,14 @@ export function BedWarsPrestige({ level }: { level: number }) {
color: "transparent"
}}
>
{`${getPrestigeName(level)} ${getBedwarsStar(level)}`}
{`${pres.name} ${star}`}
</span>
)
}
return (
<span className={`text-mc-${getTextColor(level)}`}>
{`${getPrestigeName(level)} ${getBedwarsStar(level)}`}
<span className={`text-mc-${pres.color}`}>
{`${pres.name} ${star}`}
</span>
)
}
@@ -67,7 +69,7 @@ function LevelNumber({ level, className }: { level: number, className?: string }
)
}
return <p className={cn(`text-mc-${getTextColor(level)}`, className)}>{level}</p>
return <p className={cn(`text-mc-${getPrestige(level).color}`, className)}>{level}</p>
}
function Progress({ level, percent, tooltipId, tooltipContent }: { level: number, percent: number, tooltipId: string, tooltipContent: string }) {
@@ -75,5 +77,5 @@ function Progress({ level, percent, tooltipId, tooltipContent }: { level: number
return <GenericProgress percent={percent} rainbow={true} tooltipId={tooltipId} tooltipContent={tooltipContent} />
}
return <GenericProgress percent={percent} className={`bg-mc-${getTextColor(level)}`} tooltipId={tooltipId} tooltipContent={tooltipContent} />
return <GenericProgress percent={percent} className={`bg-mc-${getPrestige(level).color}`} tooltipId={tooltipId} tooltipContent={tooltipContent} />
}

View File

@@ -64,44 +64,38 @@ export function concatBedwarsStats(...stats: BedwarsModeStats[]) {
]
}
export function getTextColor(level: number) {
export function getPrestige(level: number) {
const floored = floorLevel(level, 100)
if (level > 5000) {
return PRESTIGES[PRESTIGES.length - 1].color
const pres = PRESTIGES.at(-1)!
return {
color: pres.color,
name: pres.name,
colormap: pres.colormap.split("").map(v => {
return getColorFromCode(v)
})
}
}
return PRESTIGES.find(l => l.level === floored)!.color
}
export function bedwarsLevelColors(level: number) {
if (level < 0) return getColorFromCode()
const floored = floorLevel(level, 100)
if (floored < 1000) {
return getColorFromCode(PRESTIGES.find(v => v.level === floored)!.colormap)
const pres = PRESTIGES.find(p => p.level === floored)!
return {
color: pres.color,
name: pres.name,
colormap: pres.colormap.split("").map(v => {
return getColorFromCode(v)
})
}
}
if (floored > 5000) {
return PRESTIGES[PRESTIGES.length - 1].colormap.split("").map(v => {
return getColorFromCode(v)
})
const pres = PRESTIGES.find(l => l.level === floored)!
return {
color: pres.color,
name: pres.name,
colormap: getColorFromCode(pres.colormap)
}
return PRESTIGES.find(v => v.level === floored)!.colormap.split("").map(v => {
return getColorFromCode(v)
})
}
export function getPrestigeName(level: number) {
const floored = floorLevel(level, 100)
if (level > 5000) {
return PRESTIGES[PRESTIGES.length - 1].name
}
return PRESTIGES.find(p => p.level === floored)!.name
}
export function getWalletMax(name?: string) {

View File

@@ -1,12 +0,0 @@
import { NextRequest } from "next/server"
export async function middleware(req: NextRequest) {
if (req.nextUrl.pathname.startsWith("/_next/")) return
if (req.nextUrl.pathname.startsWith("/favicon.ico")) return
console.log(`[Middleware] ${req.method} ${req.nextUrl.pathname}`)
}
export const config = {
matcher: "/(.*)"
}