From e3c1cfedba5f5a4ed35c398ad564438df24003cf Mon Sep 17 00:00:00 2001 From: Vy Ngo Chi Date: Mon, 21 Sep 2026 12:21:20 +0700 Subject: [PATCH 1/4] feat: add layout components, app icons, and feature sections across apps and ui packages --- apps/lms/app/apple-icon.png | Bin 0 -> 8535 bytes apps/lms/app/favicon.ico | Bin 15086 -> 15086 bytes apps/lms/app/icon0.svg | 17 +++ apps/lms/app/icon1.png | Bin 0 -> 4942 bytes apps/lms/app/manifest.json | 21 ++++ apps/sale/app/apple-icon.png | Bin 0 -> 8535 bytes apps/sale/app/favicon.ico | Bin 15086 -> 15086 bytes apps/sale/app/icon0.svg | 17 +++ apps/sale/app/icon1.png | Bin 0 -> 4942 bytes apps/sale/app/manifest.json | 21 ++++ .../components/FeatureShowcaseSection.tsx | 2 +- .../landing/components/HeroSection.tsx | 97 +++++++++++++----- .../tutor-guide/components/TutorGuideHero.tsx | 2 +- .../components/TutorGuideSteps.tsx | 7 -- .../components/TutorGuideTrust.tsx | 2 +- .../components/TutorListController.tsx | 2 +- packages/ui/components/layout/Footer.tsx | 85 +++++++++------ packages/ui/components/layout/Header.tsx | 85 +++++++-------- packages/ui/components/layout/MobileNav.tsx | 6 +- packages/ui/globals.css | 20 ++++ temp_icon.png | Bin 0 -> 257544 bytes temp_logo.png | Bin 0 -> 695249 bytes temp_trimmed.png | Bin 0 -> 348965 bytes 23 files changed, 276 insertions(+), 108 deletions(-) create mode 100644 apps/lms/app/apple-icon.png create mode 100644 apps/lms/app/icon0.svg create mode 100644 apps/lms/app/icon1.png create mode 100644 apps/lms/app/manifest.json create mode 100644 apps/sale/app/apple-icon.png create mode 100644 apps/sale/app/icon0.svg create mode 100644 apps/sale/app/icon1.png create mode 100644 apps/sale/app/manifest.json create mode 100644 temp_icon.png create mode 100644 temp_logo.png create mode 100644 temp_trimmed.png diff --git a/apps/lms/app/apple-icon.png b/apps/lms/app/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f93df67b4930aff2ae655c0d1e29624799d367a6 GIT binary patch literal 8535 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 diff --git a/apps/lms/app/icon0.svg b/apps/lms/app/icon0.svg new file mode 100644 index 0000000..a091f47 --- /dev/null +++ b/apps/lms/app/icon0.svg @@ -0,0 +1,17 @@ +RealFaviconGeneratorhttps://realfavicongenerator.net \ No newline at end of file diff --git a/apps/lms/app/icon1.png b/apps/lms/app/icon1.png new file mode 100644 index 0000000000000000000000000000000000000000..d990e64f1ad101ce310cecf683b59effd7d60f51 GIT binary patch literal 4942 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 diff --git a/apps/sale/app/icon0.svg b/apps/sale/app/icon0.svg new file mode 100644 index 0000000..a091f47 --- /dev/null +++ b/apps/sale/app/icon0.svg @@ -0,0 +1,17 @@ +RealFaviconGeneratorhttps://realfavicongenerator.net \ No newline at end of file diff --git a/apps/sale/app/icon1.png b/apps/sale/app/icon1.png new file mode 100644 index 0000000000000000000000000000000000000000..d990e64f1ad101ce310cecf683b59effd7d60f51 GIT binary patch literal 4942 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 { if (query.trim()) { @@ -69,28 +71,58 @@ export function HeroSection() { }} aria-hidden="true" /> -
- setQuery(e.target.value)} - onKeyDown={(e) => { - if (e.key === "Enter") handleSearch(); - }} - /> +
+
+ setIsFocused(true)} + onBlur={() => setIsFocused(false)} + onChange={(e) => setQuery(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Enter") handleSearch(); + }} + /> + + {/* Running placeholder marquee for mobile when input is empty & not focused */} + {!query && !isFocused && ( + + )} +
+
-
- - Tìm kiếm thủ công - +
+
+ Hoặc: + + Xem danh sách gia sư + +
+ +
+ Gợi ý: + {["Toán 12", "IELTS", "Tiếng Anh"].map((tag) => ( + + ))} +
diff --git a/apps/sale/features/tutor-guide/components/TutorGuideHero.tsx b/apps/sale/features/tutor-guide/components/TutorGuideHero.tsx index ca143bd..447a4fa 100644 --- a/apps/sale/features/tutor-guide/components/TutorGuideHero.tsx +++ b/apps/sale/features/tutor-guide/components/TutorGuideHero.tsx @@ -86,7 +86,7 @@ export function TutorGuideHero() { >
Đội ngũ BeeWise đồng hành cùng cộng đồng gia sư {step.title} -

- {step.body} -

))} diff --git a/apps/sale/features/tutor-guide/components/TutorGuideTrust.tsx b/apps/sale/features/tutor-guide/components/TutorGuideTrust.tsx index 512c50f..4d8a5d4 100644 --- a/apps/sale/features/tutor-guide/components/TutorGuideTrust.tsx +++ b/apps/sale/features/tutor-guide/components/TutorGuideTrust.tsx @@ -131,7 +131,7 @@ export function TutorGuideTrust() {
BeeWise Sticker

Tìm Kiếm Gia Sư diff --git a/packages/ui/components/layout/Footer.tsx b/packages/ui/components/layout/Footer.tsx index bfae5b3..a5f4d31 100644 --- a/packages/ui/components/layout/Footer.tsx +++ b/packages/ui/components/layout/Footer.tsx @@ -1,66 +1,93 @@ import Link from "next/link"; import Image from "next/image"; -const FOOTER_LINKS = [ +const QUICK_LINKS = [ + { label: "Gia sư 1:1", href: "/tutors" }, + { label: "Tìm lớp", href: "/classes" }, + { label: "Trở thành gia sư", href: "/tutor-guide" }, + { label: "Về chúng tôi", href: "/about-us" }, +]; + +const LEGAL_LINKS = [ { label: "Chính Sách Bảo Mật", href: "/privacy" }, { label: "Điều Khoản Sử Dụng", href: "/terms" }, ]; export function Footer() { return ( -