mirror of
https://github.com/jcreek/LivingDexTracker.git
synced 2026-09-18 19:42:04 +00:00
fix: remediate branch review findings
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
export function resolveSpriteUrl(
|
||||
entry: { pokedexNumber: number; form?: string; spriteKey?: string },
|
||||
shiny: boolean,
|
||||
useLocalSprites: boolean
|
||||
): string {
|
||||
const form = entry.form?.trim() ?? '';
|
||||
const strippedNumber = String(entry.pokedexNumber).replace(/^0+/, '') || '0';
|
||||
let key = entry.spriteKey?.trim();
|
||||
|
||||
if (!key) {
|
||||
let formKey = form
|
||||
.replace(/^female[-\s]*/i, '')
|
||||
.replace(/\s*\(.*?\)/g, '')
|
||||
.replace(/\s*\[.*?\]/g, '')
|
||||
.trim();
|
||||
if (!formKey || formKey.toLowerCase() === 'male') {
|
||||
key = strippedNumber;
|
||||
} else {
|
||||
formKey = formKey
|
||||
.toLowerCase()
|
||||
.replace(/%/g, '')
|
||||
.replace(/\balolan\b/g, 'alola')
|
||||
.replace(/\bgalarian\b/g, 'galar')
|
||||
.replace(/\bhisuian\b/g, 'hisui')
|
||||
.replace(/\bpaldean\b/g, 'paldea')
|
||||
.replace(/\bform(e)?$/, '')
|
||||
.replace(/\bability$/, '')
|
||||
.replace(/[^a-z0-9]+/g, '-')
|
||||
.replace(/(^-|-$)/g, '')
|
||||
.replace(/2/g, 'two')
|
||||
.replace(/3/g, 'three')
|
||||
.replace(/4/g, 'four');
|
||||
key = formKey ? `${strippedNumber}-${formKey}` : strippedNumber;
|
||||
}
|
||||
}
|
||||
|
||||
let root = useLocalSprites
|
||||
? '/sprites-small/home'
|
||||
: 'https://raw.githubusercontent.com/jcreek/LivingDexTracker/master/static/sprites-small/home';
|
||||
if (shiny) root += '/shiny';
|
||||
if (/^female\b/i.test(form)) root += '/female';
|
||||
return `${root}/${key}.webp`;
|
||||
}
|
||||
Reference in New Issue
Block a user