XG-Proyect-v3.x.x icon indicating copy to clipboard operation
XG-Proyect-v3.x.x copied to clipboard

[3.3] Bug en el tiempo activo de los oficiales pero visual

Open jonamix-ar opened this issue 3 years ago • 2 comments

Bug visual en el tiempo de los oficiales activos dice 2 meses cuando deberia decir 3 y 7 dias image

jonamix-ar avatar Jan 02 '22 17:01 jonamix-ar

Estas seguro que es bug? La utlima vez que revise los oficiales los ajuste de acuerdo al rediseño

LucasKovacs avatar Jan 05 '22 19:01 LucasKovacs

Universo Supernova image

Universo Beta image

Creo que lo volvieron a modificar XD

Tooltip image image

jonamix-ar avatar Jan 05 '22 19:01 jonamix-ar

@FGServers entonces basicamente, el bug es que debería estar en días, y no en meses?

LucasKovacs avatar Apr 24 '23 16:04 LucasKovacs

Estube viendolo y efectivamnte y cuando llega el dia 1 que se termina muestra las horas restantes

jonamix-ar avatar Apr 25 '23 10:04 jonamix-ar

Pero cual es la segmentación de esos tiempos?

  • 90 dias
  • 60 dias
  • 30 dias
  • ... ??

LucasKovacs avatar Apr 25 '23 20:04 LucasKovacs

image 1 Semana

image 9 dias

image 2 semanas

image 3 semanas

image 4 semanas

image 5 semanas

image 6 semanas

image

Va por dia

jonamix-ar avatar Apr 26 '23 00:04 jonamix-ar

Se muestran dias como 133 o 134? o 22 o 23 dias? o siempre redondea en dias el equivalente en semanas.

LucasKovacs avatar Apr 26 '23 16:04 LucasKovacs

No, no redondea muestra los dias enteros, no suma ni meses ni años ni nada solo funcioan mostrando cuantos dias te faltan para que se terminen los oficiales, ahora lo tengo por 4 meses a los oficiales casi

jonamix-ar avatar Apr 26 '23 17:04 jonamix-ar

image ya lo fixie

Elimine e hice un par de cambios, era facil alfinal ahora queda como ogame pero el problema que te quita un dia y en ogame cuando contratas el oficial dice 7 dias o 30 días en XGP dice 6 días y 29 días

public static function prettyTimeAgo(string $datetime, $full = false): string
   {
       $now = new DateTime();
       $ago = new DateTime($datetime);
       $diff = $now->diff($ago);
       $days = $diff->days;

       $string = [
           // 'y' => 'year',
           // 'm' => 'month',
           'd' => 'day',
           'h' => 'hour',
           'i' => 'minute',
           's' => 'second',
       ];

       foreach ($string as $k => &$v) {
           if ($k !== 'd') {
               if ($diff->$k) {
                   $v = $diff->$k . ' ' . $v . ($diff->$k > 1 ? 's' : '');
               } else {
                   unset($string[$k]);
               }
           } else {
               if (!empty($days)) {
                   $v = $days . ' ' . $v . ($days > 1 ? 's' : '');
               } else {
                   unset($string[$k]);
               }
           }
       }

       if (!$full) {
           $string = array_slice($string, 0, 1);
       }

       return $string ? implode(', ', $string) : '';
   }

jonamix-ar avatar Apr 27 '23 01:04 jonamix-ar

Gracias Jona, pero el fix es otro. Ahi lo mande... ese método no debe cambiar.

https://github.com/XGProyect/XG-Proyect-v3.x.x/commit/6eba830f9c100c9c084ea56d5bf29db60c2372f6

LucasKovacs avatar Apr 27 '23 05:04 LucasKovacs