diff --git a/frontend/src/pages/PlayerStatsPage.jsx b/frontend/src/pages/PlayerStatsPage.jsx index 44379da..5ab6096 100644 --- a/frontend/src/pages/PlayerStatsPage.jsx +++ b/frontend/src/pages/PlayerStatsPage.jsx @@ -1,10 +1,9 @@ import React, { useState, useEffect, useRef } from 'react'; import { useParams } from 'react-router-dom'; -import { Activity, Skull, Heart, LocateFixed, Box, Sword, Clock, Calendar, RefreshCw, ImageOff } from 'lucide-react'; +import { Activity, Skull, Heart, LocateFixed, Box, Sword, Clock, Calendar, RefreshCw, ImageOff, Footprints, Plane, Waves, ChevronsUp } from 'lucide-react'; import { motion } from 'framer-motion'; import { io } from 'socket.io-client'; import { formatDate, formatPlayTimeMs } from '../utils/formatters'; -import Tooltip from '../components/Tooltip'; // 스티브 3D 스킨 기본 이미지 (로딩 전/실패 시 사용) @@ -46,15 +45,8 @@ const DEFAULT_ICON = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYA // 거리 포맷 함수 - 1만 이상이면 "1.2만m" 형식으로 표시 const formatDistance = (meters) => { - if (meters >= 100000000) { - // 1억 이상 - return `${(meters / 100000000).toFixed(1)}억m`; - } else if (meters >= 10000000) { - // 천만 이상 - return `${(meters / 10000000).toFixed(1)}천만m`; - } else if (meters >= 10000) { - // 만 이상 - return `${(meters / 10000).toFixed(1)}만m`; + if (meters >= 1000) { + return `${(meters / 1000).toFixed(2)}km`; } return `${meters.toLocaleString()}m`; }; @@ -243,26 +235,25 @@ const PlayerStatsPage = ({ isMobile = false }) => { )} - {/* 일반 통계 */} + {/* 전투 통계 */}

- - 일반 통계 + + 전투 통계

-
+
-
- {/* 이동 거리 */} + {/* 이동 통계 */} { >

- 이동 거리 + 이동 통계

-
-
-

걸은 거리

-

- {isMobile ? formatDistance(stats.general.distanceWalked) : `${stats.general.distanceWalked.toLocaleString()}m`} -

-
-
-

비행 거리

-

- {isMobile ? formatDistance(stats.general.distanceFlown) : `${stats.general.distanceFlown.toLocaleString()}m`} -

-
-
-

수영 거리

-

- {isMobile ? formatDistance(stats.general.distanceSwum) : `${stats.general.distanceSwum.toLocaleString()}m`} -

-
+
+ + + +
@@ -406,11 +403,9 @@ const ItemStatRow = ({ item, translate, icons }) => {
)}
- -

- {translate(item.id)} -

-
+

+ {translate(item.id)} +

{item.mined > 0 && 채굴 {item.mined}} {item.used > 0 && 사용 {item.used}} @@ -461,11 +456,9 @@ const MobStatRow = ({ mob, translate, icons }) => {
)}
- -

- {translate(mob.id)} -

-
+

+ {translate(mob.id)} +

{mob.killed > 0 && 처치 {mob.killed}} {mob.killedBy > 0 && 죽음 {mob.killedBy}}