Yêu cầu tính năng · Teacher

Thiết lập menu cá nhân cho giáo viên

Menu hiện có 28 mục cùng trọng số; một nửa số mục có dưới 15% giáo viên sử dụng. Đề xuất cho phép mỗi giáo viên chọn mục cần hiện.

Phạm vi
teacher.flyer.us · teacher.teado.ai (partner-web)
Căn cứ
Rà soát src/layouts/main/Sidebar.tsx + số liệu ba tháng từ read-replica
Tham chiếu
Hộp thoại Edit sidebar của claude.ai
Ngày
22/09/2026
Bản đề xuất — để thảo luận, chưa phải quyết định
Xuất xứ / Prompt / Giới hạn

Tài liệu được viết để trả lời yêu cầu đặt ra ngày 22/09/2026, nguyên văn:

  • đề xuất cho anh một PRD feature để users có thể custom menu/ setup menu feature teacher sẽ sử dụng nhé — tham khảo phần edit sidebar này — https://teacher.flyer.us

Trợ lý AI soạn trong một phiên làm việc. Hiện trạng giao diện đọc trực tiếp từ mã nguồn partner-web; số liệu sử dụng lấy lại từ bản phân tích 15/09/2026, khoảng đo 01/06–31/08/2026. Mọi ngưỡng và lộ trình là đề xuất.

1 · Vấn đề

28 mục hiển thị như nhau cho mọi giáo viên. Bản đánh giá trải nghiệm 09/09/2026 chấm Điều hướng 5 trên 10. Nền so sánh: 1.131 giáo viên hoạt động, ba tháng.

Mục menuGiáo viên đã dùngGhi chú
Bài đã giao85%965 giáo viên. Trục chính của sản phẩm.
Lớp và học sinh45%510 giáo viên tạo 1.604 lớp.
Thư viện của tôi29%325 giáo viên. Nhóm duy nhất đang tăng trưởng.
Giáo viên của trường23%259 giáo viên, 291 lượt: việc làm một lần lúc thiết lập.
FLYER AI chấm18%205 giáo viên chấm Nói, 159 chấm Viết.
Lịch học13%151 giáo viên, so với 1.604 lớp cùng kỳ.
Thi tập trung3,2%36 giáo viên, cạnh tranh menu với chế độ kiểm tra có 209 giáo viên.
Khoá học0,7%8 giáo viên, 8 lượt.
Điểm danh0,6%Toàn hệ thống 12 giáo viên, 221 lượt, 32 buổi.
Học phí0,2%2 giáo viên, 5 lượt.
AI Assistant0%Không lượt nào trong ba tháng.
Vì sao không cắt cứng Mỗi mục ở cuối bảng đều có người dùng thật. Giáo viên dạy tự do và chủ trung tâm cần hai menu khác nhau, nên để người dùng tự chọn.
Giới hạn của số liệu Bảng đếm thao tác ghi, nên Báo cáo và Kho đề không có trong bảng. Đủ để biết mục nào ít dùng, chưa đủ để xếp hạng mục được xem nhiều nhất; cần bộ sự kiện đo lường.

2 · Năm nguyên tắc

Nguyên tắcNội dung
Ẩn chứ không xoáẨn chỉ gỡ mục khỏi thanh bên. Đường dẫn và liên kết cũ vẫn chạy. Đây là ranh giới tách khỏi phân quyền.
Có lối vềMục Thiết lập và ô tìm kiếm không ẩn được, nên ẩn nhầm vẫn có đường quay lại.
Mặc định giữ nguyênNgười chưa mở hộp thoại thấy menu y hệt hôm nay.
Gợi ý chứ không épCó thể đề xuất ẩn mục chưa dùng sau 60 ngày, nhưng phải do giáo viên xác nhận.
Một nguồn sự thậtMenu phải trở thành dữ liệu trước khi tuỳ chỉnh được.

3 · Luồng chính

Một hộp thoại, ba lối vào: nút ở chân thanh bên, trang Thiết lập, và một lời nhắc cho tài khoản đã dùng trên 30 ngày.

BướcMàn hìnhHành vi
1Mở hộp thoạiLiệt kê mọi mục giáo viên có quyền thấy, giữ thứ tự nhóm hiện tại.
2Chọn bộ khởi tạoNăm bộ dựng sẵn. Chọn một bộ là đánh dấu sẵn, vẫn sửa tiếp được.
3Xem trướcThanh bên đổi ngay theo từng lần đánh dấu.
4LưuGhi xuống hồ sơ giáo viên, áp dụng cho mọi thiết bị. Có nút khôi phục mặc định.
5Mục đã ẩnGom vào một dòng Xem thêm ở cuối thanh bên.
Khác biệt so với hộp thoại tham chiếu Edit sidebar của claude.ai có năm mục, một lớp. Menu teacher.flyer.us có 28 mục, chín nhóm, ba cấp phân quyền. Vì vậy bản này bổ sung bộ khởi tạo, cột mức dùng, và lớp mặc định của trung tâm.

4 · Bản mô phỏng

Bản chạy thật, bấm thử đượcroadmap.flyer.vn/teacher-static/settings-menu (bản điện thoại) — dựng ngay trong giao diện thật của ứng dụng, theo đúng bố cục Thiết lập menu của Trường Số nhưng dùng menu thật của teacher.flyer.us: 19 mục, 8 nhóm. Tắt bật, đổi chỗ bằng mũi tên hoặc kéo thả, cột xem trước cập nhật ngay, bấm Lưu là nhớ lại sau khi tải lại trang.

Dựng lại giao diện thật và thao tác được. Chọn một mục để chuyển màn hình; mở Thiết lập menu ở chân thanh bên để bật tắt và đổi thứ tự. Màu, cỡ chữ và biểu tượng lấy từ mã nguồn partner-web.

Trung tâm Anh ngữ Sao MaiSM

Cột phần trăm là tỉ lệ giáo viên đã dùng mục đó trong ba tháng, đặt cạnh ô đánh dấu để việc bỏ chọn có căn cứ. Huỷ trả về trạng thái trước khi mở; Lưu mới áp dụng.

5 · Bộ khởi tạo

Bộ mặc định là FLYER đề xuất, lấy đúng menu mặc định của teacher.teado.ai. Bốn bộ còn lại dùng lại bốn mục tiêu giáo viên đã khai lúc đăng ký, hiện khai trong goalConfig.ts, nên không phải xây mới.

BộSố mụcGồm
FLYER đề xuất
mặc định
11Báo cáo, Kho đề, Cửa hàng, Giáo án, Đề đầu vào, FLYER AI chấm, Thư viện, Lớp, Học sinh, Bài đã giao, Thiết lập
Dạy lớp
manage_classes
8Lớp, Học sinh, Bài đã giao, Kho đề, Thư viện, Báo cáo, Bắt đầu nhanh, Thiết lập
Dùng AI
use_ai
8FLYER AI chấm, Thư viện, Kho đề, Lớp, Học sinh, Bài đã giao, Báo cáo, Thiết lập
Tự số hoá đề
digitize
8Thư viện, Nhập từ AI, Kho đề, Giáo án, Bài đã giao, Lớp, Học sinh, Thiết lập
Quản lý trung tâm
admin
25Toàn bộ, trừ AI Assistant, Thử thách và Trò chơi
Vì sao bộ mặc định lấy theo Teado Bản rút gọn của teacher.teado.ai đã chạy thật và đã loại sẵn những mục không ai dùng, nên là điểm xuất phát có căn cứ hơn một danh sách tự đặt. Tài khoản chưa khai mục tiêu nhận bộ này.

6 · Hai lớp thiết lập

Trung tâm và giáo viên tự do cần hai lớp xếp chồng.

LớpAi đặtTác dụng
Mặc định của trườngChủ trườngĐặt menu khởi tạo cho giáo viên mới của trường; giáo viên vẫn sửa được cho riêng họ. Đây là giá trị lớn nhất với trung tâm.
Tuỳ chỉnh cá nhânTừng giáo viênĐè lên lớp trên, có nút trả về mặc định của trường.
Phân quyềnKhông đổiLớp ngoài cùng, không liên quan tới tính năng này. Mục không có quyền không xuất hiện trong hộp thoại.
Ranh giới phải giữ Thiết lập menu không được dùng để chặn truy cập. Chủ trường ẩn mục Học phí thì giáo viên vẫn vào được bằng đường dẫn. Muốn chặn thật thì dùng phân quyền.

7 · Mô hình dữ liệu

Phần nặng nhất của tính năng.

7.1 · Menu hiện không phải dữ liệu

src/layouts/main/Sidebar.tsx dài 1.104 dòng JSX lồng nhau, nhánh theo isAdmin, isLite, isAuthenticated, phiên bản onboarding và cấu hình từ xa. Không có danh sách mục menu ở dạng dữ liệu.

Việc đầu tiên: rút cây menu ra một khai báo, mỗi mục gồm mã, nhãn, đường dẫn, biểu tượng, nhóm, điều kiện quyền và cờ ẩn được. Tái cấu trúc thuần, kiểm chứng bằng cách so ảnh chụp trước sau.

7.2 · Nơi lưu

Phương ánĐánh giá
Trường mới trên hồ sơ giáo viênĐề xuất. Một trường JSON riêng, không tranh chấp, đọc cùng hồ sơ nên không nhấp nháy khi tải trang.
Dùng lại onboardingInfoRẻ hơn nhưng có bẫy: máy chủ không có cập nhật từng phần, mỗi lần ghi là ghi đè cả mảng. useTeacherOnboardingInfo.ts đã phải dựng hàng đợi ghi tuần tự để tránh mất dữ liệu.
Chỉ lưu trên trình duyệtLoại. Thiết lập phải theo người, không theo thiết bị.

7.3 · Quy tắc hợp nhất

Mục mới mặc định hiện với mọi người, kể cả người đã tuỳ chỉnh. Vì vậy lưu danh sách mục đã ẩn; lưu ngược lại thì tính năng mới sẽ vô hình với nhóm người dùng tích cực nhất.

8 · Lộ trình

Phần A · Làm được ngay, không cần tính năng Gỡ AI Assistant khỏi nhóm Công cụ. Gộp Thi tập trung vào Chế độ kiểm tra. Đưa Khoá học, Học phí và Điểm danh xuống một nhóm gập lại. Menu giảm từ 28 xuống khoảng 20 mục cho mọi người.
Giai đoạnNội dungKiểm chứng
P0Rút cây menu thành khai báo dữ liệu, không đổi giao diện.Ảnh chụp trước và sau trùng khớp ở ba vai trò: giáo viên, chủ trường, bản Teado.
P1Hộp thoại bật tắt, lưu theo hồ sơ giáo viên. Chưa đổi thứ tự.Ẩn hết mục vẫn vào được Thiết lập và ô tìm kiếm.
P2Năm bộ khởi tạo, dòng Xem thêm, nút khôi phục mặc định.Tài khoản mới nhận đúng bộ theo mục tiêu đã khai.
P3Đổi thứ tự và ghim mục lên đầu.Thứ tự giữ nguyên trên thiết bị khác.
P4Mặc định của trường do chủ trường đặt.Giáo viên mới nhận menu mặc định; giáo viên cũ không bị đổi.
P5Gợi ý ẩn mục chưa dùng sau 60 ngày.Chỉ chạy khi đã đo được lượt xem trang.
P5 phụ thuộc tài liệu khác Gợi ý ẩn mục cần biết giáo viên có mở màn hình đó không, mà cơ sở dữ liệu chỉ ghi thao tác ghi. Chỉ làm được sau Đợt 1 của bộ sự kiện đo lường. Bốn giai đoạn đầu không phụ thuộc.

9 · Ca biên

9.1 · Quyền và vai trò

#Tình huốngXử lý
1Giáo viên ẩn một mục, sau đó chủ trường gỡ quyền của họ với mục đóMục biến mất khỏi hộp thoại. Trạng thái đã ẩn vẫn giữ, để khi cấp quyền lại thì trở về lựa chọn cũ.
2Giáo viên được cấp thêm quyền mớiMục mới hiện ngay, vì hệ thống lưu danh sách đã ẩn.
3Giáo viên dạy ở hai trường, mỗi trường một mặc địnhThiết lập theo hồ sơ giáo viên của từng trường, không theo tài khoản. Đổi trường là đổi menu.
4Chủ trường tự hạ vai trò của chính họ xuống giáo viên thườngMất quyền đặt mặc định. Mặc định đã đặt vẫn còn hiệu lực.

9.2 · Trạng thái rỗng và cực đoan

#Tình huốngXử lý
5Giáo viên bỏ chọn toàn bộHộp thoại cảnh báo khi còn dưới bốn mục; Thiết lập không bỏ chọn được.
6Giáo viên ẩn mục đang xemTrang hiện tại không đóng. Thanh bên bỏ đánh dấu mục đó, kèm dòng nhắc mục nằm trong Xem thêm.
7Tài khoản chưa đăng nhậpKhông có hộp thoại. Menu khách giữ nguyên như hiện nay.
8Giáo viên mới hoàn toàn, chưa có mục tiêuNhận bộ FLYER đề xuất. Không hiện lời nhắc trong 30 ngày đầu.

9.3 · Đồng bộ và thiết bị

#Tình huốngXử lý
9Sửa menu trên hai thẻ trình duyệt cùng lúcGhi sau thắng, nhưng phải ghi cả đối tượng trong một lần gọi. Dùng lại onboardingInfo thì bắt buộc qua hàng đợi ghi tuần tự.
10Máy chủ chưa trả thiết lập khi trang vừa tảiDựng mặc định rồi mới áp thiết lập sẽ gây nhấp nháy. Thiết lập phải đi cùng lời gọi lấy hồ sơ, một vòng.
11Trên điện thoạiDùng chung một thiết lập. Không làm riêng theo thiết bị: 86% phiên là máy tính, 11% điện thoại.
12Sản phẩm bỏ hẳn một mục menuMã mục còn sót lại được bỏ qua khi dựng hình và dọn định kỳ. Không báo lỗi.

9.4 · Bản Teado và cấu hình trường

#Tình huốngXử lý
13Bản Teado rút gọnHộp thoại chỉ liệt kê tập mục của bản rút gọn, không cho vượt ra ngoài.
14Trường tắt một cờ tính năng, ví dụ học phíMục không xuất hiện trong hộp thoại. Cờ tính năng của trường đứng trên thiết lập cá nhân.
15Mục đang mang nhãn Gợi ý trong 14 ngày đầuChốt một trong hai: không cho ẩn, hoặc ẩn được nhưng gỡ luôn nhãn. Tránh nhãn trỏ vào mục không có trên thanh bên.

10 · Tiêu chí nghiệm thu

#Tiêu chí
1Người chưa mở hộp thoại thấy menu không khác một pixel so với trước khi phát hành.
2Bỏ chọn một mục thì thanh bên đổi ngay, không cần tải lại trang.
3Thiết lập giữ nguyên sau khi đăng xuất, đăng nhập lại trên thiết bị khác.
4Ẩn mọi mục có thể ẩn thì vẫn vào được Thiết lập và ô tìm kiếm.
5Mục bị ẩn vẫn mở được bằng đường dẫn trực tiếp và bằng liên kết trong sản phẩm.
6Mục menu mới hiện với mọi người, kể cả người đã tuỳ chỉnh.
7Nút khôi phục mặc định đưa về đúng trạng thái ban đầu của vai trò đó.
8Đổi trường thì menu đổi theo hồ sơ của trường đó.
9Hộp thoại đi hết bằng bàn phím, mỗi dòng có nhãn đọc được cho trình đọc màn hình.
10Trên màn hình 390px hộp thoại không tràn ngang và không cần cuộn ngang.

11 · Đo lường

Bốn sự kiện, theo quy ước của bộ sự kiện đo lường.

Sự kiệnTham số riêngTrả lời câu hỏi
menu_setup_openedsourceLối vào nào dẫn người dùng tới hộp thoại.
menu_preset_appliedpresetBộ khởi tạo nào được chọn.
menu_setup_savedhidden_count, hidden_keys, changedGiáo viên ẩn bao nhiêu mục và ẩn mục nào. Dữ liệu quý nhất: cho biết nên cắt gì cho tất cả.
menu_setup_resetkhôngTỉ lệ hối hận. Cao bất thường là hộp thoại gây nhầm lẫn.
Chỉ sốNgưỡng đề xuấtGhi chú
Tỉ lệ mở hộp thoại20% trong quý đầuThấp hơn là lối vào bị chôn, không phải nhu cầu thấp.
Tỉ lệ lưu sau khi mở60%Mở rồi đóng mà không đổi gì là hộp thoại khó hiểu.
Số mục ẩn trung vịtừ 5 trở lênThấp hơn là giáo viên không dám ẩn, cần xem lại cách trình bày.
Tỉ lệ khôi phục mặc địnhdưới 10%Chỉ số bảo vệ.
Thời gian tới thao tác đầugiảm 15%Chỉ số chính. So nhóm đã tuỳ chỉnh với nhóm chưa, cùng khoảng thời gian.

12 · Rủi ro

Rủi roCách giảm
Tính năng mới bị chônLưu danh sách đã ẩn. Quy tắc này phải nằm trong bài kiểm tra nghiệm thu, vì hỏng sẽ hỏng âm thầm.
Nhầm với phân quyềnKhông dùng thiết lập menu để chặn truy cập. Tiêu chí nghiệm thu số 5 tồn tại vì điều này.
Hỗ trợ khó hơnĐội hỗ trợ xem được thiết lập trong trang quản trị, và hướng dẫn bằng đường dẫn thay vì vị trí trên menu.
Tái cấu trúc P0 làm hỏng menu hiện tạiRủi ro kỹ thuật lớn nhất: 1.104 dòng điều kiện lồng nhau dễ sót một nhánh. Phát hành P0 riêng và so ảnh chụp đủ ba vai trò cộng bản Teado.
Không ai mở hộp thoạiPhần A ở mục 8 vẫn có giá trị độc lập. Tỉ lệ mở dưới 10% sau một quý thì cắt menu cho tất cả thay vì đầu tư tiếp.