diff --git a/apps/sale/app/tutor/profile/edit/loading.tsx b/apps/sale/app/tutor/profile/edit/loading.tsx new file mode 100644 index 0000000..b475b4b --- /dev/null +++ b/apps/sale/app/tutor/profile/edit/loading.tsx @@ -0,0 +1,5 @@ +import { ProfileEditorSkeleton } from "@/features/tutor-profile-editor"; + +export default function Loading() { + return ; +} diff --git a/apps/sale/features/messages/components/ChatSidebar.tsx b/apps/sale/features/messages/components/ChatSidebar.tsx index 640796e..1c3593d 100644 --- a/apps/sale/features/messages/components/ChatSidebar.tsx +++ b/apps/sale/features/messages/components/ChatSidebar.tsx @@ -126,7 +126,7 @@ export function ChatSidebar() { className="text-sm tracking-tight text-[#280f91]" style={{ fontFamily: "var(--font-nunito-family)", fontWeight: 800 }} > - CỘNG ĐỒNG GIA SƯ + CỘNG ĐỒNG GIA SƯ BEEWISE diff --git a/apps/sale/features/messages/components/MessagesScreen.tsx b/apps/sale/features/messages/components/MessagesScreen.tsx index 8db88fb..a494977 100644 --- a/apps/sale/features/messages/components/MessagesScreen.tsx +++ b/apps/sale/features/messages/components/MessagesScreen.tsx @@ -22,9 +22,12 @@ export function MessagesScreen() { - CỘNG ĐỒNG GIA SƯ + CỘNG ĐỒNG GIA SƯ BEEWISE

diff --git a/apps/sale/features/tutor-approved/components/TutorApprovedPreview.tsx b/apps/sale/features/tutor-approved/components/TutorApprovedPreview.tsx index c977977..13b34c3 100644 --- a/apps/sale/features/tutor-approved/components/TutorApprovedPreview.tsx +++ b/apps/sale/features/tutor-approved/components/TutorApprovedPreview.tsx @@ -3,7 +3,7 @@ import { useRouter } from "next/navigation"; import { TutorApprovedProvider } from "./TutorApprovedProvider"; import { TutorApprovedScreenView, TutorApprovedShell } from "./tutor-approved.ui"; -import { resolveTutorApprovedScenario, parseTutorApprovedScenario } from "../schemas/tutor-approved.resolver"; +import { parseTutorApprovedScenario } from "../schemas/tutor-approved.resolver"; import { tutorApprovedScenarios, type TutorApprovedScenario, type TutorApprovedScreen } from "../types"; const previewUser = { @@ -31,6 +31,7 @@ function scenarioScreen(scenario: TutorApprovedScenario): TutorApprovedScreen { export function TutorApprovedPreview({ scenario, capture }: { scenario?: string | null; capture: boolean }) { const parsed = parseTutorApprovedScenario(scenario); + const screen = scenarioScreen(parsed); const router = useRouter(); const navigate = (next: TutorApprovedScenario, nextCapture = capture) => { const params = new URLSearchParams({ scenario: next }); @@ -40,11 +41,12 @@ export function TutorApprovedPreview({ scenario, capture }: { scenario?: string return ( PREVIEW : null} > - + ); diff --git a/apps/sale/features/tutor-approved/components/tutor-approved.ui.tsx b/apps/sale/features/tutor-approved/components/tutor-approved.ui.tsx index 1cd578a..c34d618 100644 --- a/apps/sale/features/tutor-approved/components/tutor-approved.ui.tsx +++ b/apps/sale/features/tutor-approved/components/tutor-approved.ui.tsx @@ -26,6 +26,8 @@ import { TUTOR_LMS_URL } from "@workspace/core/constants/tutor-links"; import { useTutorApproved } from "./TutorApprovedProvider"; import type { TutorApprovedScreen } from "../types"; import { ChatSummary, MessagesScreen, ChatRoomScreen } from "../../messages"; +import { TutorProfileEditorScreen } from "../../tutor-profile-editor"; +import { TutorOwnProfileScreen } from "../../tutor-profile/components/TutorOwnProfileScreen"; const card = "rounded-2xl border border-[#dce7f7] bg-white p-5 shadow-[0_12px_32px_rgba(40,15,145,0.07)]"; @@ -46,6 +48,15 @@ export function TutorApprovedShell({ screen?: TutorApprovedScreen; }) { const isChat = screen === "messages" || screen === "chat-room"; + const isProfileEdit = screen === "profile-edit"; + + if (isProfileEdit) { + return ( +
+ {children} +
+ ); + } if (isChat) { return ( @@ -84,8 +95,8 @@ export function TutorApprovedScreenView({ screen?: TutorApprovedScreen; chatRoomId?: string; }) { - if (screen === "profile" || screen === "profile-edit") - return ; + if (screen === "profile-edit") return ; + if (screen === "profile") return ; if (screen === "messages") return ; if (screen === "chat-room") return ; if (screen === "notifications") return ; @@ -476,130 +487,6 @@ function RecentActivity() { ); } -function ProfileScreen({ edit }: { edit: boolean }) { - const { state, dispatch } = useTutorApproved(); - const p = edit ? state.draftProfile : state.profile; - const fields: - | [[keyof typeof p, string, boolean]] - | Array<[keyof typeof p, string, boolean]> = [ - ["title", "Tiêu đề hồ sơ", true], - ["introduction", "Giới thiệu ngắn", true], - ["description", "Mô tả", true], - ["teachingMethod", "Phương pháp giảng dạy", false], - ["experience", "Kinh nghiệm", false], - ["rate", "Học phí dự kiến", true], - ]; - return ( -
-
-

Hồ sơ gia sư

-

- {edit ? "Chỉnh sửa hồ sơ" : "Hồ sơ của tôi"} -

-

- Thông tin ngân hàng và giấy tờ xác thực không xuất hiện trong hồ sơ - công khai. -

-
- {state.profileSubmitted && ( -
- Thay đổi đã được gửi. Hồ sơ công khai hiện tại vẫn được giữ cho đến - khi Consultant phê duyệt nội dung mới. -
- )} -
-
-
- MA -
-
-

{p.fullName}

- - Đã xác thực - -
-
- {edit ? ( -
{ - e.preventDefault(); - dispatch({ type: "submit-profile" }); - }} - className="space-y-4" - > - {fields.map(([field, label, review]) => ( -