+
{sortedPlans.map((plan, idx) => {
const index =
idx < description.current.length
diff --git a/apps/web/src/components/TutorProfile/ProfileCard.tsx b/apps/web/src/components/TutorProfile/ProfileCard.tsx
index 6600041ea..63174ea00 100644
--- a/apps/web/src/components/TutorProfile/ProfileCard.tsx
+++ b/apps/web/src/components/TutorProfile/ProfileCard.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useMemo } from "react";
+import React, { useCallback, useEffect, useMemo } from "react";
import Star from "@litespace/assets/Star";
import { Void } from "@litespace/types";
import cn from "classnames";
@@ -10,6 +10,10 @@ import { formatNumber } from "@litespace/ui/utils";
import { Button } from "@litespace/ui/Button";
import { useMediaQuery } from "@litespace/headless/mediaQuery";
import { StudentDashboardTour } from "@/constants/tour";
+import Chat from "@litespace/assets/Chat";
+import { useFindRoomByMembers } from "@litespace/headless/chat";
+import { useUser } from "@litespace/headless/context/user";
+import { useNavigate } from "react-router-dom";
const ACHIEVEMENTS_DISPLAY_THRETHOLD = 5;
@@ -21,6 +25,7 @@ export const ProfileCard: React.FC<{
studentCount: number;
lessonCount: number;
avgRating: number;
+ ratingCount: number;
onBook?: Void;
loading?: boolean;
error?: boolean;
@@ -33,34 +38,51 @@ export const ProfileCard: React.FC<{
studentCount,
lessonCount,
avgRating,
+ ratingCount,
loading,
error,
onBook,
retry,
}) => {
const intl = useFormatMessage();
+ const { user } = useUser();
const { sm } = useMediaQuery();
+ const navigate = useNavigate();
useEffect(() => {
StudentDashboardTour.goNext();
}, []);
+ const room = useFindRoomByMembers([user!.id, id]);
+ const goToRoom = useCallback(() => {
+ if (room.query.data) navigate(`/chat?room=${room.query.data}`);
+ navigate(`/chat?room=t-${id}`);
+ }, [room.query.data, id, navigate]);
+
const BookButton = useMemo(
() => (
-
+
+ {intl("tutor.book")}
+
+
+ }
+ />
+
),
- [intl, onBook]
+ [intl, onBook, goToRoom]
);
if (loading)
@@ -158,6 +180,12 @@ export const ProfileCard: React.FC<{
})}
+
+ ({intl("tutor-profile.rating", { count: ratingCount })})
+