From 6d77fb731e922e9b472853006f3aa196e9ed34fa Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Sat, 7 Feb 2026 21:12:45 +0100 Subject: [PATCH] Use type PNG badges instead of colored text spans Replace inline typeColors maps in PokemonCard and StatusChangeModal with a shared TypeBadge component that renders the type icon PNGs from /types/{type}.png. Co-Authored-By: Claude Opus 4.6 --- ...e-dupes-clause-multi-encounter-per-rout.md | 4 +-- frontend/public/types/bug.png | Bin 0 -> 1986 bytes frontend/public/types/dark.png | Bin 0 -> 1946 bytes frontend/public/types/dragon.png | Bin 0 -> 2820 bytes frontend/public/types/electric.png | Bin 0 -> 1956 bytes frontend/public/types/fairy.png | Bin 0 -> 1454 bytes frontend/public/types/fighting.png | Bin 0 -> 2011 bytes frontend/public/types/fire.png | Bin 0 -> 1455 bytes frontend/public/types/flying.png | Bin 0 -> 1657 bytes frontend/public/types/ghost.png | Bin 0 -> 2203 bytes frontend/public/types/grass.png | Bin 0 -> 2399 bytes frontend/public/types/ground.png | Bin 0 -> 2893 bytes frontend/public/types/ice.png | Bin 0 -> 1456 bytes frontend/public/types/normal.png | Bin 0 -> 2233 bytes frontend/public/types/poison.png | Bin 0 -> 2039 bytes frontend/public/types/psychic.png | Bin 0 -> 2040 bytes frontend/public/types/rock.png | Bin 0 -> 1910 bytes frontend/public/types/steel.png | Bin 0 -> 1744 bytes frontend/public/types/water.png | Bin 0 -> 2315 bytes frontend/src/components/PokemonCard.tsx | 29 ++---------------- frontend/src/components/StatusChangeModal.tsx | 29 ++---------------- frontend/src/components/TypeBadge.tsx | 15 +++++++++ frontend/src/components/index.ts | 1 + 23 files changed, 22 insertions(+), 56 deletions(-) create mode 100644 frontend/public/types/bug.png create mode 100644 frontend/public/types/dark.png create mode 100644 frontend/public/types/dragon.png create mode 100644 frontend/public/types/electric.png create mode 100644 frontend/public/types/fairy.png create mode 100644 frontend/public/types/fighting.png create mode 100644 frontend/public/types/fire.png create mode 100644 frontend/public/types/flying.png create mode 100644 frontend/public/types/ghost.png create mode 100644 frontend/public/types/grass.png create mode 100644 frontend/public/types/ground.png create mode 100644 frontend/public/types/ice.png create mode 100644 frontend/public/types/normal.png create mode 100644 frontend/public/types/poison.png create mode 100644 frontend/public/types/psychic.png create mode 100644 frontend/public/types/rock.png create mode 100644 frontend/public/types/steel.png create mode 100644 frontend/public/types/water.png create mode 100644 frontend/src/components/TypeBadge.tsx diff --git a/.beans/nuzlocke-tracker-rkyc--shiny-clause-dupes-clause-multi-encounter-per-rout.md b/.beans/nuzlocke-tracker-rkyc--shiny-clause-dupes-clause-multi-encounter-per-rout.md index a1f6a20..93d888d 100644 --- a/.beans/nuzlocke-tracker-rkyc--shiny-clause-dupes-clause-multi-encounter-per-rout.md +++ b/.beans/nuzlocke-tracker-rkyc--shiny-clause-dupes-clause-multi-encounter-per-rout.md @@ -1,11 +1,11 @@ --- # nuzlocke-tracker-rkyc title: Dupes Clause & Shiny Clause enforcement -status: todo +status: completed type: feature priority: low created_at: 2026-02-05T12:25:19Z -updated_at: 2026-02-07T19:52:42Z +updated_at: 2026-02-07T20:11:59Z --- Implement active enforcement for Dupes Clause and Shiny Clause in the encounter flow. diff --git a/frontend/public/types/bug.png b/frontend/public/types/bug.png new file mode 100644 index 0000000000000000000000000000000000000000..b883c67067c04c6ae972f030e27ad23b746c254c GIT binary patch literal 1986 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 literal 0 HcmV?d00001 diff --git a/frontend/public/types/dragon.png b/frontend/public/types/dragon.png new file mode 100644 index 0000000000000000000000000000000000000000..82f6ae5425305037437188a72ac34a3bc25d0cac GIT binary patch literal 2820 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 IM6N<$g1Q8;E&u=k literal 0 HcmV?d00001 diff --git a/frontend/public/types/fighting.png b/frontend/public/types/fighting.png new file mode 100644 index 0000000000000000000000000000000000000000..ce061d1cf1371eb65601d1559f719cdb0565c9c1 GIT binary patch literal 2011 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 JPDHLkV1fYsr;Y#s literal 0 HcmV?d00001 diff --git a/frontend/public/types/flying.png b/frontend/public/types/flying.png new file mode 100644 index 0000000000000000000000000000000000000000..818991dd207e2d10d9ae9f151899f0c30de3fc0d GIT binary patch literal 1657 zcmV-<28Q{GP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1`bI?K~#8N?VM{< z6h{<>`2$wvQ+`7}=2zsC|14E8tOzDWlF}qaf>v2tsaz_FxqERJbtitmw9P=Do_Frczjrr{3YkcUGb>gn@jFPd%mb_#y^P;4Z)Kp7%g+6J%ei}E zh}F7tn~_11ggH>r4fN53+!WK!eK!|!`bK0JDK8DwqR*n;d_ z$P&qdxxf#Sp{)1GnXST;jUvWQuA@$Q3Xl5z9fl!vDm6xqp?Ig8qUiXxc@s5azI zeYD;J^EZ%WATa$fIv~RSQRyeN!S>4I=zwVIL8~8GdM<1r@U56Ht${4_ypZVxOpPq0 z>bQZ>3475^xfsX9d{*pEqFR0J+_21bl(>43Z=kPb4yeKfJ0@8MZLnRJ*U*Z@$IX|; zKucoeGzQ{f6v8pQ7anM|9Wo<^*p3(gd@@x z<^e?=!eF35IZq|79%LB^cRb5)gNKg27)Y~_e;#TeKl|vAruFlpWgzJci=&bbpGz8! z)24h_jJelj@`sc@ByE(@tIl1Oxd4XZ2dmN{Rp&k)3%3fNOrA6vL6gO2u8Gcpv>uDw zD=-B=Z7siuc0?RUVQCpmA*ZoL?f&+CHL7Ys`Vp@&EUEY@OO52C$Jj3$nb5|XK9&lAkIR_@ZU%*Ro55@or1^Ftb%bc@4@^>%~RA2 z)J_8dmQ@$9w9GP)W+4dusY)}1>8i8>#Z=gT!gbRe&=LU=wyrlPG4{ZHuv;1?=HxR=O7%O;5@53J0`p*>( z{pQ{Qm0GZ%!x>`*Df$0$xY}5)R2w71W5I#pvEaae&V*mR@jYP=00000NkvXXu0mjf De~k*r literal 0 HcmV?d00001 diff --git a/frontend/public/types/ghost.png b/frontend/public/types/ghost.png new file mode 100644 index 0000000000000000000000000000000000000000..c444b30c4bd39071cff574c3da01607d6a8d93b7 GIT binary patch literal 2203 zcmV;M2xRw(P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2rx-RK~#8N?VNja z6jd6B^A-FQ>qpps_K!^_AOx*N%hj^HR9R3I$y`V>5K_QOzywG_8I)Z`1Xi+Ks$5|y zOH6Qg1$5V>Vh8~fNir5yBp?LLg(X>&g}i%yXU^$)yXT!@W->Dwt@&AxGkvhM_)KSCp4YV(~kD6X=qS}gD*Lsa84-o1sQpiXGEu<_^RauDE{iae&0bvHa2T966 z_W-r;ZZ8V-%VTi@)l_Vx@H3mK>ueXzOwSly66e0T^uNjSuQvX-|)Uc+3Ha)kAHdH*mjR=-ej`iMkiPC+p zJJu$l?V0dcfp)y|rm3Fvz}Bp+*CY}Nov|I~9c!y@D>#8t8F&nKIs(~v1!}8mqv`2s zdie06*&>$N|IE_8AMR1}hGyFK%C?l-XvaF0ejrOC(1pK!X{slEC9(nmDQz`M6w`T} zAvU_R1tgF(=(lg&)(4XZgS}XRFeWoIGx~~y%+1Zw?Ch+@o2JSp3atpmjh_@Nki9}# zcyQ8NI*)heSD^5!I{h?dbFFuXxIi6$`MX&YjqQ+y4*(8K-Rio65XgIAuHjWSogjujmFy{@7d5&)lv`w@z^#y18b;%zTTM#XCe^JczkwG z)7EDv3 z;gaAi;Q4doQL0%P*5JK2hj$*K;4-y;P^vm1Av7|ZTsRZECF995uw0!iK&_Jq`Klcz zCX_%X(!PO>zJ;mfzKfSl3DIEBcd_~`!c+n8F-Dj#Sq|+utjoA49H|WmFV6)@1$sC9 zu4#rlRwBIe;AtX}JV+r3G~7R8T0?ZU{j=DCRO=)X3DkG7PsGLwbYtj-DIq%j{u#GC zzzB5k4~NWFn2X)fW7K>8l1m~i^EoDm_mPK}=YpgHwXSWAy8P3&_aTLY^*?he&edoVg%au;&!uDG-#VE)9H6k zYk{&Q5d^ZA^nrl^s$X57cY)^T{-^6ln%3=!9Z0nf^A;(K5s1fCpT!7Nvm$J^ipDw7 z6#PoW!>1Fxk376Q7q|pU)X-dIY-}uEBB7Dl1Yd00?5=Ey9Z0n<9f72M0~<*oSA7;E z5T1B>xIh4NARHfW?3GAr1H#L5fg{kN?S~zC@+A;*qD?*NsojT`woaWd(di2Pd52Yi}*obu*gd>EFcgbZZ6jj;k}LQLa^IxI6$t{cHrn+4dC? zFY!`va@wmPNJStk&(aDc6ea_mOeOfyu(~4mLZppP9Z*AfRhV|I+eIB8bYvnH*(!g2ksND1PJ`bJ($vJ1W_Tb%pB?MeU!}N-w((@!NxIr~m9AgAuDRTGng06T z$JFrZPI3R>gQmj{()tWZ?@wA2VXs8Vg2&a`RkZ~#kPB(sd=Mv&MQ9_C_K_d5Cr~np z^i#&u>K3KsDGHPVqC7xoBarryAF?Zu1@i>lzk51+sNwewjyOeuQbd#o2yFz?KJtSs zP{RMTIRRdQEM9Re(ms|H>7W2<+k7C(1B5mLX&?C^PM&}-bgIN(wxL2TNFNZ9H*euxvu`9E|7%d1!WeWCwyoIiamQbe(~Y?Ee9*~W=Ar5lf}uh{&= d`ijj@{2z;?^$HWdS|b1e002ovPDHLkV1f=gAdLV3 literal 0 HcmV?d00001 diff --git a/frontend/public/types/grass.png b/frontend/public/types/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..7da51302f7c0a98b0768a3d9abbb043635321025 GIT binary patch literal 2399 zcmV-l3840gP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2=qxrK~#8N?VS5> zT*Vc~{YUTvQY*EwjT?bzl~h$hYL&H3lA>5q5RleTAgV|}AyLF54HYhwN>p*6B?w3e zAWT37A}9GF#N

DaNd%acCn@?;#!Em@Lf!ISOI zT$Sy~VhcNV9A!_s@~X0*ElqQIvb+vJj^}I*plo+~aT>z25CHA-7Fy=^IsOq_11QJ6 zq<6sp8l38P0J|?z0)Gy(IZ|+sb*J$<}!a44{SaW6350s>{{@sa8*12U_ zto1&!nQ4PWc-{aV?>Yc)Hx-DW?Ep0mU6uF%yj1&VRbGeYsp<#e)0TG^6+kasdJ?V# zYoLFs4<`RN0il^`7@8iiuIG670mwhS(gx0K+V6YUIv)oQ8u#hKdT|>EPk!a^p{)A^ zj7$$(W%04TzZQzTq7DNbch6Cn3{6_)P-pz7L>uoGb;>?t+8`007eIfhUJZdsKkRRP z$AX6ZYTdIk{IIYb9iszuuCEL}^uD!d077u$sdv0b!4nH06rPWR2aUk!BH&DTo~+6N zzuzxQMKlo_ht}a{1r8d)A?xxEe<$jc{l>IGB0MjE&i7SV0h$@;Oz$acJ84b%J?a>O zXJ^C9*1k6zUs)6Yaqx_WMy%|ES%?%1AUub8o{wAJ6W1LL5CWqMkK+J3(s2-`rlw>m z0RMQmWfLIEJU<$Mp1+h2!_$LSfG^ZOrr>$B>ON~5X<#a7I}Tx4U$sK+1$g7T?I{O{ z>&$|>XJB2`a=71pr}bEPZM*1*hFJk30L=5XjJJsEjt0mC4aETz3WelefP%|g;5SEq z3M)=7g1EviU;qMJl#jWG=vg`oiaHgwa@UrbV zgymRQvD^!=@%*}!1EhFZWX5vgKo2fNjgCK{HABT16=M5oA7CI z15`I~K}G{`tn;gc0HkM?;`SmNJik792V4qP$-Mx7IC2ME>8-S$kBQZlUKjdouuK7j zQW?^)UMFh5Z#S&3_-$0YTpJ|9a|S5?Y>t}ypm3>6*=N&*Jh?TZ!iJYrr|h`$l-wHD zxjs+I0m4-zNspE5B(&Kf@$|QEH`)L~_fGU!`})LWc#Rm6jw;^o>P5uP(Zc;7}BrhNjau<@^QYef1IzICKYZVl@|`$s7UC^Qq9 zr0TK8>Xh~o@0EZi8o6r-KABdIIBVr=Fx!fhUfR$}@D0J(qI}*k?mvXPvJd=8W@Scq+oYN3M`uqlk z6IALD%v7duLY-=W^tkkoT(BeP9Ze>201+^HIXvD32q)DfoHUb32oPo*9SGBU9aOJr zjLkdLAWMlix_F*afUxpFARxnu2$$qEyfuq#MCuWLwA9_>eN%3=E3a}HxCA_CuFhmw z?+n|JAeYCwN&b-zalPRWpGkP_=9>(+xx})ay!pbT05f6-I)-MOD3kTfi1&%84RxF4 zP`Hh2gG4wkKszpOl402O-t{*WKscc$Av6RK!epv@{3bjoR&R8{T%F0VneJ6b%@ZJf zn8)^b?dnzq&}Xgh+W?xGnX#EPTUOCciUp8f4u!9|Hb{hH0<^l~ZYT+s$S~}Bv37$3 zh=jvJyzFyPEM;@cv(yE1^(Mn+BdgAvCqQU@p;6O!S^?BC+NJ>7-B_T8L9#9@24QZF z!)2gX#qdjQi8jlja2wYKiEvDSo~X{1Aw-MrBDqYz(g-RU9%ScR3#?L5}tv{AbXFdX)y8)1_B3# z@zHC1)Q4S9&oQh05F~s~AerUpjls1+A{-N-z0LoUVMGhRl7Wpzcc(G?;Okh~2enfy z`4r>kzzi?R5pv#XwaQJm^C=B6r29!{dp7 zL4b6dA^^EINQ7eo)F*FzaiRtzfaufpSlI{l^o6`d1<+g}I^23dTwfTTSOBSydn7dF zx5P?IJ}++nlm+O;i}}_eq<8>fywrZN0K#%~ja(Zf!s;unR1q1;olU-=PhI>@-wp^u z9~-bKhQ3Zh>MpztTDzK>9dpN(bnnisi7S z_7U~kKhY&iMT^q2ZZ=5A%5<;IG*>n$o-07HbmZn&3K)V2AGclkqb$KoPpM=!NXN`*6`F7d>B3~Y|eJ2pt-V1u?CR!;|e*Ycl`wI@}zf~KkefDyo+PgBI^vfJQ;_>Kkt&3_J6i?G8nDw Rk-h)`002ovPDHLkV1jk!gL41? literal 0 HcmV?d00001 diff --git a/frontend/public/types/ground.png b/frontend/public/types/ground.png new file mode 100644 index 0000000000000000000000000000000000000000..fcab493ea1780829e1ca4489cf412da2764f4a28 GIT binary patch literal 2893 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 literal 0 HcmV?d00001 diff --git a/frontend/public/types/ice.png b/frontend/public/types/ice.png new file mode 100644 index 0000000000000000000000000000000000000000..cd7efb44be3cad5df4498b8da0911f968cbe97f4 GIT binary patch literal 1456 zcmV;h1yA~kP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1w~0jK~#8N?VR0j z6jd0;_g~<@@ZOIrquuT{6&qCif)EYHkEk)B>V-FYfrbzhZcU6PCU8MQ!i6^o{h}YJ zR1wmON-c^C5(Q~$gdkt;yuMH89Q*FcGj+F1aymQnB)`C!Ip@sm&TruH0-oZ473ud6sd_Lli8+l5B)-FsQP+<%Ao^zKJ6ThxH zzRXk8BD;Tb6*M255vh+hn+%ZUuR)EpC{N!1bX!3V6g81^o=xAAJ!92VcU$! zss(!Yl*r7VZl%k@jg&X%iX)H>%1oX;dScD$ceSYBjnDbNMTURZ^=K3H!}8A8sYv1W zW7D=kFB}s&d(|z}+-QjWaK#l&<}Zs3&Mvnrsz9@gZe>Q^{x<#G|Cg>1XzCAFa2e7w zsDCn*3RfPM32lS6MHDE^<(ndxuIuMd+yV^~2;Vcrv%K;}js$v6g}?{1*x(BE*2(7i z(5b)N${=2t?b?S0+hE&fJGqvzK{@Nnv*+jZMDuf>H}vX^VT}odvY+#Wgxik|6^P;U z$#1x$N~L+^(^Mojg!y=ZSf32GlWQ3plp&9Ow1Hp_WGBuR|G8~Y_LJw3aQm^zyp8uC z3_Pr&_zbErck8hA{EW(U!7Xed=)?BOwwXt4P=*wk9Q)uZgJoem4;$`Kt{%oCj+7n) z>mw#D3G{?saeTHM*JYoH>^rYx`YpGxg`f}HC);Kou|XNK;10{@z0>Urgy9cYb&s7c zus&kal0ch}x=*Ir^p!4Cfrc)+1uX`B*gn}d^N0<~4^Fv)%d=m$FHjgfYwH?;Ht5~J zy+_&`zL25_go(1vJvwhGyg+scTdhDv8N#+syMjwy5BjR+Ku#D>uIE5@61{Ui<(rJ# z_N)|X5^Xc6cVxFiAP?&!CT-uwx0|Bf#^WH{#~Qol+<}Kg1juEjyKpTnvs-u&Za+4w zdXU&oyg)^HkO)~u&G3Fg@2FN1=pmgBgaX|;#N`3u_G8o0tBh7sv{xCBWt(}Bc;#05 z%7@7VUe>!>D-d3FY}DbN$pgae$EGcTz>9iYdd@uO$O@i?ygIYou1Erb=>@mYW$L2H zYbsWsu6tYs+4)`i`e)zSW`XdYY)+TY2XxKbcz@<>*Rh?6g!g10;?cd<1-@O;1lp>1 ztN1SP(+Vr)<6oNv%1YM>wZU;6;@&?k@|b=PecH~72g2>dhMnvn zQy_blv4n!yH_uEW)&~g1@z8zA5mq1zs|!MLJgja^m^`2(fx;hKKthRFAArdN=)U9# zCJ$hB0h0%?x-nt$fQ|&pimk)?08Ac0_a#R#c>t>mm^^^hjR})y=@$#jUv0jI5_;46S69tLlppVc10000< KMNUMnLSTZ6Cc4Q0 literal 0 HcmV?d00001 diff --git a/frontend/public/types/normal.png b/frontend/public/types/normal.png new file mode 100644 index 0000000000000000000000000000000000000000..9395c880726c2a192490fb534d9c5e46bf50247a GIT binary patch literal 2233 zcmV;q2uAmbP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2u?{vK~#8N?VRUw z6G;?>{Q$dfvhT4!b{}G&2}Cv-OwKvy986Ayp^9LNT)4<p8e$-sc7^tgjG+Owyg2@=w0n>)XsE$5+m%$o-tfvnR zM2ik7w15Bp?B>mz*@FiU^1rKAt!h@def#$8`0?Y}sZ*!2YuB#j5jK=-)4^= zKhEB~dDBSwhS#rOXRBAQE_ATZ-e!q_#zO&}J9n#xT9>f@#3&-yL17KjEsafRRTJ4U37PoF;JpAnVHdD)jQU*>-wJ$lqE z?_)W3>{y-;I1x)g#DB6;Ifv4^!GeI87zfAt)TSL0ocj&-lP6C?yG|$p(GI6Pz{Mr6 zP&A=}3y8%OqPR))hd>@I5|GD1X$-`J189@7;Of<@P4RHd28@AQf8ZCd8VB@HW8uPu zxjh2<`0-=YM&%qz>jnz~a`&l8=@#8HynFX9wCRKr5a4wQZ2;l~-p?_if&@g21-_O$#5O-++fk;3S1!;Hg+{r)VsZ?IVU_6>nJQZmK)bc`j zq-hb5@7><rh%ZSP&2ao1@C5e=k3L_|T|zBG8R&I$bA7i68+%hu`s}^gEnLKz#Rw zjXaQm!1%6*igJEJ!!x>v;&6k##)UuxVjlu$C;>tL)q_K6-C#jL1avemFsRffqCag; z<@4Jh2ZQ$V-Jr*Bp03l33z$11hca%9c!IF(N5)Gym+xu;{?u}Inz?U8!QtLu>sI_ z0bD>VoE9P-uaCvO3jr(nX`7sebh$@+oT@Yre#5MG{M4m#%JVA~y*q^DtG{9di5xnV z)(sW}#HmF4v{2>NMW1LVc}%LjfWS-Jw2n?$CLox$?*iJjYgfx+_;@uA_bfm*X`9$e z6o7++=HbwxLygodJA3wQo|ay30Bu)0ckXPYOa#@W!FDbU9d6qx3j%`IuU~I8H399{ zRn$bMjNYyB^VX=2PFW?O^!<_xXvvZ#g`09M3}f)E3*d=VHWCo@7)38k5se@LF+Zue z6?b~f<=({msWhkeNg;@X^>j{kmx&k(D0-bSStFXblpe%__wV0lTefTo>*$nK0>ZQE z4hFb@U=&xt2#ibR$^_)^vuKz0nL~jsU3GXm+nCaQ9hB~`T@bx&o!++AtqN0d5M>Mn z1k5aq+4w|i;vm2A;qRqOml`F%fr(>FQ@L)kNd{O~HM3j0W2NRuM43-H9 zI@peMvkdsII(*9`9#gts8|Y4sHBjH8?F+iMl{l*KLj(l<$q+ap96fq8zq4SHbgcAp z1g#1P9W0tA*X_GOUd$p8+J=!0T^cHFJ#1z`#o4~*LCvv=uh=bThP zFxt+(2kgmd!%;hZ_Ab-)Ypmh;lmrBc57;ZG3hqF#-?nXAS>t{FLM&OsF$6T?hLe#P zf>#0@J=6OOK#as2WyK*;!!WJ4&)#ORhRuK4{8wsRMFq`NLcquS7DR=Iie5w}jW(Iu z_1W7D)^FlJR{-^dzw2!IPZrV&`uyMXU*m>at@c~3R{QNgGw9fGe1u5m00000NkvXX Hu0mjfaoRPy literal 0 HcmV?d00001 diff --git a/frontend/public/types/poison.png b/frontend/public/types/poison.png new file mode 100644 index 0000000000000000000000000000000000000000..651d3b5fe90452d4b4b559ff121747a206aea05b GIT binary patch literal 2039 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2aHKXK~#8N?VM{* z6lWC2_Y3rG`xW{Tnx?OsXcOI4+NPJZOXfdPA*E`mKKqG<2?y!42S23 zd{2`_f&0#@uEU#~0**iqcHsi$dm77JkjIWd=XQ4~Z{>&@3C@^w)kaj!uid6JjzBLC zT%bHp(}*pBF6H*9!PbW=A)+xLk|WTI0~ZLS6{vJahl=#g#-!m97f6>#8pGlFVZ{Qq z){Lr|i3QV{gkS;zN1zvjWdcb_oU!0T6`fmzGAZNy?oL&(MIK`U zp$Ho{K^YUMr*6WQKqo%+Wt~6>?09`LDt~H?zneUegIqpIJh(g%hu{H;Xx(JBxj;m9 zZqUjnxIlbdV$B4)oO@p_E~FNyw{apSPZkK&SvzXNgLf4>@=zd`PZAHk^Vktcsx1iw zNMM2sgy7u`teHS4oU9AY&n&8mfmv0tt37K3q8-X7i+3S?BKSn<6O3FM5Acw>PtBg7 zm5T}11(Ish`{+7cAimAgx_TE{Q-MIom9cpFr3m?^macs?f&7=lrgYQcd3F2LfGYHO z6UNOH*m;sb*y%j*S{H=NL+CmDNarC5gx8d-ldLw+;S%v2pbLcH+qPx`agKfBQ|Eu^ zRF{nnEBnH)iad>~U~{ASlgP_yP-Fcw@l9QdTSr6Un5zwT9zSwvhf2$FkxGHnGSB7Q zyD$>ZQmU;wY}I;fG--k+mWL!H!N;^yd(k*JTdS684+o~rWzmJj1PTpl0X`6>z&8o> z4Fj$Jq^w9F4wr^g@?kK(nTZkUn-RxZZLrgIQ3!oGep1vO2_@ums*FxRF&>(=YDog= zok72gBd~uc?9_%V5#vCm+FT%Xd=kj){?CIzvr`M=II9hIx-JSpx1nWpdyL;HaB8Mp zofDtki)Y1Tp<0qa`l*RR??ycA)P^j8YIA`g3<*T9vqqp~r?7h$hsAML8|-uvB^kK3 zpgfAwZ`u+jj#KomH=dPVAOKmUYZTs%c-X0(P9VJtWtBiB+kGlnAG_$r*C4*X9*ARP z0_=2M7!Jupc@$;a{nm1wKi|6>&$1^F0b%r@PQ=4b?Q{a^UFi6>Hgi41x)%r(8%N6V z_x5Aa;P#(p_p92Z+aZZ1}bXr=8Km_kb_#Ml5*r{ztAl`-W zohC(Q1#-*K2Iv&!ctymqGsMI2e0JY=j!{#y)4nQ{P?|%}WN}!Uj+LiA@*xdLb|Fmhj zBo7eB&JcD5YB5f=6obZuCKHHH_T5V3^t?iW01v$8r#I?K61;ZDKasQo)%?+IE?aj3 zC4ElFh>D%>9up^0K$0XC(ikRE%@m{+h>L`7 zgie76#}=dV9oI?%xBbCe6YB2+eb%{K+DHe6H0cJCB&m?bFp+AefXfs6hlQJ(x+H;! zf=$ip#K*>+*RFO|liRK8ibJa9?67J%H*7u&6SzL6f;S@;c#y2+>;v;-^c#7->e4R( zRk71=38N!zqys~mbOT9}R7hi(NHtTy1v39>^I?zIolYPTyeB|U;^|280BH;dhBWC0 zk|e2+#xRj;rhp3+`_C2L_Pz}A-Ax11fA3P{Zgg<4*t@|yv~PpAbpJ-*>n@ke^*`W) V@8Cqb{!jn_002ovPDHLkV1iAy&L02( literal 0 HcmV?d00001 diff --git a/frontend/public/types/psychic.png b/frontend/public/types/psychic.png new file mode 100644 index 0000000000000000000000000000000000000000..f86d8b2f1e110dba2e6333c613ee0657e23237cf GIT binary patch literal 2040 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 literal 0 HcmV?d00001 diff --git a/frontend/public/types/steel.png b/frontend/public/types/steel.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3dacf730f77440201eba6cc3b435e1b3eb3e71 GIT binary patch literal 1744 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 literal 0 HcmV?d00001 diff --git a/frontend/src/components/PokemonCard.tsx b/frontend/src/components/PokemonCard.tsx index 2171db4..cc628f6 100644 --- a/frontend/src/components/PokemonCard.tsx +++ b/frontend/src/components/PokemonCard.tsx @@ -1,4 +1,5 @@ import type { EncounterDetail } from '../types' +import { TypeBadge } from './TypeBadge' interface PokemonCardProps { encounter: EncounterDetail @@ -6,27 +7,6 @@ interface PokemonCardProps { onClick?: () => void } -const typeColors: Record = { - normal: 'bg-gray-400', - fire: 'bg-red-500', - water: 'bg-blue-500', - electric: 'bg-yellow-400', - grass: 'bg-green-500', - ice: 'bg-cyan-300', - fighting: 'bg-red-700', - poison: 'bg-purple-500', - ground: 'bg-amber-600', - flying: 'bg-indigo-300', - psychic: 'bg-pink-500', - bug: 'bg-lime-500', - rock: 'bg-amber-700', - ghost: 'bg-purple-700', - dragon: 'bg-indigo-600', - dark: 'bg-gray-700', - steel: 'bg-gray-400', - fairy: 'bg-pink-300', -} - export function PokemonCard({ encounter, showFaintLevel, onClick }: PokemonCardProps) { const { pokemon, currentPokemon, route, nickname, catchLevel, faintLevel, deathCause } = encounter const isDead = faintLevel !== null @@ -68,12 +48,7 @@ export function PokemonCard({ encounter, showFaintLevel, onClick }: PokemonCardP

{displayPokemon.types.map((type) => ( - - {type} - + ))}
diff --git a/frontend/src/components/StatusChangeModal.tsx b/frontend/src/components/StatusChangeModal.tsx index 2f53b6f..4360b6f 100644 --- a/frontend/src/components/StatusChangeModal.tsx +++ b/frontend/src/components/StatusChangeModal.tsx @@ -1,6 +1,7 @@ import { useState } from 'react' import type { EncounterDetail, UpdateEncounterInput } from '../types' import { useEvolutions } from '../hooks/useEncounters' +import { TypeBadge } from './TypeBadge' interface StatusChangeModalProps { encounter: EncounterDetail @@ -13,27 +14,6 @@ interface StatusChangeModalProps { region?: string } -const typeColors: Record = { - normal: 'bg-gray-400', - fire: 'bg-red-500', - water: 'bg-blue-500', - electric: 'bg-yellow-400', - grass: 'bg-green-500', - ice: 'bg-cyan-300', - fighting: 'bg-red-700', - poison: 'bg-purple-500', - ground: 'bg-amber-600', - flying: 'bg-indigo-300', - psychic: 'bg-pink-500', - bug: 'bg-lime-500', - rock: 'bg-amber-700', - ghost: 'bg-purple-700', - dragon: 'bg-indigo-600', - dark: 'bg-gray-700', - steel: 'bg-gray-400', - fairy: 'bg-pink-300', -} - function formatEvolutionMethod(evo: { trigger: string; minLevel: number | null; item: string | null; heldItem: string | null; condition: string | null }): string { const parts: string[] = [] if (evo.trigger === 'level-up' && evo.minLevel) { @@ -149,12 +129,7 @@ export function StatusChangeModal({ )}
{displayPokemon.types.map((type) => ( - - {type} - + ))}
diff --git a/frontend/src/components/TypeBadge.tsx b/frontend/src/components/TypeBadge.tsx new file mode 100644 index 0000000..ec69e67 --- /dev/null +++ b/frontend/src/components/TypeBadge.tsx @@ -0,0 +1,15 @@ +interface TypeBadgeProps { + type: string + size?: 'sm' | 'md' +} + +export function TypeBadge({ type, size = 'sm' }: TypeBadgeProps) { + const height = size === 'md' ? 'h-5' : 'h-4' + return ( + {type} + ) +} diff --git a/frontend/src/components/index.ts b/frontend/src/components/index.ts index ff72528..056c4af 100644 --- a/frontend/src/components/index.ts +++ b/frontend/src/components/index.ts @@ -13,3 +13,4 @@ export { RuleToggle } from './RuleToggle' export { RulesConfiguration } from './RulesConfiguration' export { StatCard } from './StatCard' export { StepIndicator } from './StepIndicator' +export { TypeBadge } from './TypeBadge'