From 666d1445df33459427929545eb46febe5e508ca2 Mon Sep 17 00:00:00 2001 From: Phongxuan123 <158146102+Phongxuan123@users.noreply.github.com> Date: Sat, 25 Jul 2026 08:34:39 +0700 Subject: [PATCH] =?UTF-8?q?chore:=20lo=E1=BA=A1i=20b=E1=BB=8F=20emoji=20kh?= =?UTF-8?q?=E1=BB=8Fi=20giao=20di=E1=BB=87n,=20thay=20b=E1=BA=B1ng=20icon?= =?UTF-8?q?=20nh=E1=BA=A5t=20qu=C3=A1n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rà soát toàn bộ codebase (frontend, admin, backend, data) tìm ký tự emoji. Xử lý 23/26 điểm phát hiện: - Nhãn tab (Khu luyện tập, Góc tranh luận, Nodes admin): bỏ emoji prefix, giữ text thuần. - Trạng thái flashcard Khó/Dễ: bỏ emoji, giữ text. - Icon cúp/thất bại mang tính hiển thị chính (MatchingQuiz, WarmupSection, FinalQuiz): thay bằng Material Symbols (emoji_events, cancel, sentiment_very_dissatisfied) đã dùng sẵn trong toàn app, thay vì bỏ trống. Giữ nguyên 3 điểm không phải emoji trang trí UI: - backend/README.md: `emoji: 🧠` là field bắt buộc trong frontmatter cấu hình Hugging Face Space, không phải nội dung sản phẩm. - BannerSlider.jsx: ❮/❯ là ký tự mũi tên chức năng cho nút chuyển slide. --- admin/src/pages/Nodes.jsx | 12 ++++++------ admin/src/pages/Philosofun.jsx | 2 +- admin/src/pages/Practice.jsx | 6 +++--- .../src/components/practice/SpacedRepetitionDeck.jsx | 4 ++-- frontend/src/pages/DebateCorner.jsx | 4 ++-- frontend/src/pages/MatchingQuiz.jsx | 6 ++++-- frontend/src/pages/Practice.jsx | 6 +++--- frontend/src/pages/lesson/components/FinalQuiz.jsx | 8 +++++--- .../src/pages/lesson/components/WarmupSection.jsx | 10 +++++++--- 9 files changed, 33 insertions(+), 25 deletions(-) diff --git a/admin/src/pages/Nodes.jsx b/admin/src/pages/Nodes.jsx index d1550b5..4bf079f 100644 --- a/admin/src/pages/Nodes.jsx +++ b/admin/src/pages/Nodes.jsx @@ -1271,7 +1271,7 @@ export default function Nodes() { : "bg-slate-905 text-slate-400 hover:text-slate-200" }`} > - 🔥 Làm nóng (Warmups) + Làm nóng (Warmups) diff --git a/admin/src/pages/Philosofun.jsx b/admin/src/pages/Philosofun.jsx index 83ab81a..c206540 100644 --- a/admin/src/pages/Philosofun.jsx +++ b/admin/src/pages/Philosofun.jsx @@ -199,7 +199,7 @@ export default function Philosofun() {
- 🔗 {video.videoUrl} + {video.videoUrl} {new Date(video.createdAt).toLocaleDateString('vi-VN')} diff --git a/admin/src/pages/Practice.jsx b/admin/src/pages/Practice.jsx index 59ed378..fc9e177 100644 --- a/admin/src/pages/Practice.jsx +++ b/admin/src/pages/Practice.jsx @@ -350,7 +350,7 @@ export default function Practice() { : 'border-transparent text-slate-400 hover:text-slate-200' }`} > - 🎴 Flashcard Ôn Tập + Flashcard Ôn Tập
diff --git a/frontend/src/components/practice/SpacedRepetitionDeck.jsx b/frontend/src/components/practice/SpacedRepetitionDeck.jsx index 2bde387..51fe49b 100644 --- a/frontend/src/components/practice/SpacedRepetitionDeck.jsx +++ b/frontend/src/components/practice/SpacedRepetitionDeck.jsx @@ -166,7 +166,7 @@ export default function SpacedRepetitionDeck({ }} className="bg-amber-55 hover:bg-amber-100 text-amber-900 border-2 border-amber-300 px-6 py-3 rounded-3xl text-sm font-bold transition-all shadow-sm flex flex-col items-center justify-center gap-0.5" > - 🟡 Khó + Khó Học lại diff --git a/frontend/src/pages/DebateCorner.jsx b/frontend/src/pages/DebateCorner.jsx index ed3e0da..dbd5f13 100644 --- a/frontend/src/pages/DebateCorner.jsx +++ b/frontend/src/pages/DebateCorner.jsx @@ -185,7 +185,7 @@ const DebateCorner = () => { : "text-gray-600 hover:text-gray-800 dark:text-primary-350 dark:hover:text-primary-100" }`} > - 🎭 Kịch bản có sẵn + Kịch bản có sẵn diff --git a/frontend/src/pages/MatchingQuiz.jsx b/frontend/src/pages/MatchingQuiz.jsx index 1f8bce7..2327566 100644 --- a/frontend/src/pages/MatchingQuiz.jsx +++ b/frontend/src/pages/MatchingQuiz.jsx @@ -284,7 +284,7 @@ export default function MatchingQuiz() { đúng đem lại 20 điểm. Trả lời sai bị trừ 5 điểm!

- ✨ Rèn Luyện Tư Duy Hệ Thống ✨ + Rèn Luyện Tư Duy Hệ Thống
diff --git a/frontend/src/pages/lesson/components/FinalQuiz.jsx b/frontend/src/pages/lesson/components/FinalQuiz.jsx index b197ebb..a0c93a6 100644 --- a/frontend/src/pages/lesson/components/FinalQuiz.jsx +++ b/frontend/src/pages/lesson/components/FinalQuiz.jsx @@ -115,9 +115,11 @@ export function FinalQuiz({ dbFlashcards, onComplete }) { ? "bg-gradient-to-br from-emerald-50 to-green-50/30 border-green-200 text-green-950" : "bg-gradient-to-br from-rose-50 to-red-50/30 border-primary-200 dark:border-primary-800 text-primary-950" }`}> -
- {passed ? "🏆" : "❌"} -
+ + {passed ? "emoji_events" : "cancel"} +

{passed ? "VƯỢT QUA KỲ KIỂM TRA!" : "KẾT QUẢ KHÔNG ĐẠT!"}

diff --git a/frontend/src/pages/lesson/components/WarmupSection.jsx b/frontend/src/pages/lesson/components/WarmupSection.jsx index 4286365..9ccec04 100644 --- a/frontend/src/pages/lesson/components/WarmupSection.jsx +++ b/frontend/src/pages/lesson/components/WarmupSection.jsx @@ -138,7 +138,7 @@ function WorldviewFilterGame({ data, onDone }) { Đồng chí hãy nhập vai thành một nhà biện chứng thực tế! Nhiệm vụ của đồng chí là phân loại đúng 5 tình huống/phát ngôn thực tế vào 3 nhóm thế giới quan khác nhau trong vòng 60 giây để mở khóa danh hiệu huyền thoại:

- ✨ Bậc Thầy Nhìn Thấu Nhân Sinh ✨ + Bậc Thầy Nhìn Thấu Nhân Sinh