Skip to content

Commit ec05b84

Browse files
committed
データを引っ張ってきた
1 parent 35646da commit ec05b84

File tree

2 files changed

+40
-5
lines changed

2 files changed

+40
-5
lines changed

common/consts.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,19 @@ export const DAY_TO_JAPANESE_MAP = new Map<Day, string>([
1111
]);
1212

1313
export const ACTIVE_DAYS = ["mon", "tue", "wed", "thu", "fri", "sat"] as const;
14+
15+
export const sortSlots = (
16+
slots: {
17+
day: "mon" | "tue" | "wed" | "thu" | "fri" | "sat" | "sun" | "other";
18+
period: number;
19+
}[],
20+
) => {
21+
const order = ["月", "火", "水", "木", "金"];
22+
return slots.sort((a, b) => {
23+
const dayComparison = order.indexOf(a.day) - order.indexOf(b.day);
24+
if (dayComparison !== 0) {
25+
return dayComparison;
26+
}
27+
return a.period - b.period;
28+
});
29+
};

web/app/home/components/PersonDetailedMenu.tsx

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { DAY_TO_JAPANESE_MAP, sortSlots } from "common/consts";
12
import type { UserWithCoursesAndSubjects } from "common/types";
23
import { MdClose } from "react-icons/md";
34

@@ -41,19 +42,37 @@ export default function PersonDetailedMenu({ onClose, displayedUser }: Props) {
4142
<div className="divider m-0" />
4243
<div>
4344
<span className="text-gray-500 text-xs">自己紹介</span>
44-
<p className="text-lg">{displayedUser.intro}</p>
45+
<p className="text-md">{displayedUser.intro}</p>
4546
</div>
4647
<div className="divider m-0" />
4748
<div>
4849
<span className="text-gray-500 text-xs">講義</span>
49-
<p className="text-lg">{displayedUser.courses.length}</p>
50-
{/* TODO: */}
50+
{displayedUser.courses.map(
51+
(course) =>
52+
course.name && (
53+
<p key={course.id} className="text-lg">
54+
{sortSlots(course.slots)
55+
.map(
56+
(slot) =>
57+
`${DAY_TO_JAPANESE_MAP.get(slot.day)}${slot.period}`,
58+
)
59+
.join("・")}
60+
/{course.name} ({course.teacher}) {course.id}
61+
</p>
62+
),
63+
)}
5164
</div>
5265
<div className="divider m-0" />
5366
<div>
5467
<span className="text-gray-500 text-xs">興味分野</span>
55-
<p className="text-lg">{displayedUser.interestSubjects.length}</p>
56-
{/* TODO: */}
68+
{displayedUser.interestSubjects.map(
69+
(subject) =>
70+
subject.name && (
71+
<p key={subject.id} className="text-lg">
72+
{subject.name}
73+
</p>
74+
),
75+
)}
5776
</div>
5877
</div>
5978
</div>

0 commit comments

Comments
 (0)