diff --git a/app/achievements/AchievementsClient.tsx b/app/achievements/AchievementsClient.tsx index 38c35dc8b..53efb8474 100644 --- a/app/achievements/AchievementsClient.tsx +++ b/app/achievements/AchievementsClient.tsx @@ -236,7 +236,7 @@ export function UnlockCelebration({ ); if (!focusable || focusable.length === 0) return; const first = focusable[0]; - const last = focusable[focusable.length - 1]; + const last = focusable.at(-1); if (event.shiftKey && document.activeElement === first) { event.preventDefault(); last.focus(); diff --git a/app/api/reviews/route.ts b/app/api/reviews/route.ts index 51c6f2779..9e5a25983 100644 --- a/app/api/reviews/route.ts +++ b/app/api/reviews/route.ts @@ -29,7 +29,7 @@ export async function GET(req: Request) { const url = new URL(req.url); const status = url.searchParams.get('status') ?? 'pending'; - const page = Math.max(1, parseInt(url.searchParams.get('page') ?? '1', 10)); + const page = Math.max(1, parseInt(url.searchParams.get('page', 10) ?? '1', 10)); const limit = Math.min( MAX_REVIEWS_PER_PAGE, Math.max(1, parseInt(url.searchParams.get('limit') ?? '20', 10)) diff --git a/utils/color.ts b/utils/color.ts index 4d8901185..f0259326a 100644 --- a/utils/color.ts +++ b/utils/color.ts @@ -53,7 +53,7 @@ export function rgbToHsl(r: number, g: number, b: number): { h: number; s: numbe break; } } - return { h: Math.round(h * 360), s: Math.round(s * 100), l: Math.round(l * 100) }; + return { h: Math.round(h * 360 + Number.EPSILON), s: Math.round(s * 100), l: Math.round(l * 100) }; } export function hexToHsl(hex: string): { h: number; s: number; l: number } { diff --git a/utils/trustedProxy.ts b/utils/trustedProxy.ts index 9756c3bb7..931ce2219 100644 --- a/utils/trustedProxy.ts +++ b/utils/trustedProxy.ts @@ -46,7 +46,7 @@ function parseCidr(cidr: string): ParsedCidr | null { try { const [range, bitsStr] = cidr.split('/'); const bits = parseInt(bitsStr, 10); - if (isNaN(bits) || bits < 0 || bits > 32) return null; + if (Number.isNaN(bits) || bits < 0 || bits > 32) return null; const rangeInt = ip4ToInt(range); const mask = bits === 0 ? 0 : bits === 32 ? 0xffffffff : ~((1 << (32 - bits)) - 1) >>> 0; return { rangeInt, mask };