Skip to content

Commit dae6acc

Browse files
Merge pull request #99 from kc3hack/feature/issue-92-rank-image-display
feat: #92 RankBarコンポーネントにランク画像表示を実装
2 parents 12a3239 + e2e7084 commit dae6acc

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

frontend/src/features/dashboard/api/mock.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ const mockRank: Rank = {
7272
title: 'Senior Developer',
7373
progress: 65,
7474
nextLevelExp: 5000,
75+
rankNumber: 4, // 母樹
7576
};
7677

7778
/**

frontend/src/features/dashboard/types/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export interface Rank {
1616
title: string;
1717
progress: number; // 0-100
1818
nextLevelExp?: number;
19+
rankNumber?: number; // ランク番号(0-9): 0=種子, 9=世界樹
1920
}
2021

2122
export interface SkillNode {

frontend/src/features/skill-tree/components/RankBar.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
'use client';
22

3-
import { RANKS, SKILL_NODES } from "../types/data"
3+
import Image from "next/image";
4+
import { RANKS, SKILL_NODES } from "../types/data";
45

56
export function RankBar() {
67
const completedCount = SKILL_NODES.filter((n) => n.status === "completed").length
@@ -26,17 +27,23 @@ export function RankBar() {
2627
imageRendering: "pixelated",
2728
}}
2829
>
29-
{/* Tier badge */}
30+
{/* Tier badge - ランク画像を表示 */}
3031
<div
31-
className="w-8 h-8 flex items-center justify-center text-xs font-bold shrink-0 bg-[#111827]"
32+
className="w-8 h-8 flex items-center justify-center shrink-0 bg-[#111827] relative overflow-hidden"
3233
style={{
3334
border: "2px solid",
3435
borderColor: colors.text,
35-
color: colors.text,
3636
boxShadow: `0 0 4px ${colors.text}44`
3737
}}
3838
>
39-
{currentRank.tier}
39+
<Image
40+
src={`/images/ranks/rank_tree_${tierIndex}.png`}
41+
alt={`Rank ${tierIndex} - ${currentRank.nameJa}`}
42+
width={32}
43+
height={32}
44+
className="object-contain"
45+
style={{ imageRendering: "pixelated" }}
46+
/>
4047
</div>
4148

4249
<div className="flex flex-col gap-1">

0 commit comments

Comments
 (0)