Skip to content

Trang event (workshop): hai trạng thái, Hero Banner, mentor ​

Hai repo (16.10.2026)

Từ 16.10.2026 scripts/hero_banner_svg.py sang repo conan-web cùng www (nó ghi vào www.conan.school/public/). HERO_BANNER_COUNT ở api vẫn ở đây và phải khớp số ảnh bên đó. Xem Hai repo.

Trang www.conan.school/workshops/:slug (07.10.2026).

Hai trạng thái ​

Event đã kết thúc khi qua 120 phút kể từ giờ bắt đầu, tính theo giờ Việt Nam (+07:00). Trạng thái tính ở loader chứ không ở trình duyệt: server và trình duyệt thấy cùng một thứ, nên không lệch khi hydrate. Trước đây mã dựng new Date("2026-10-07T10:00:00") không múi giờ, chạy trên server UTC là lệch bảy giờ.

Chưa kết thúcĐã kết thúc
Nhãn trên bannerSắp diễn raĐã kết thúc
Ngay dưới tiêu đề(không có)Khối Recording + Tài liệu, to, đứng đầu
Cột phảiZoom, ghi chú "recording sẽ đăng sau", ZaloNgày đã diễn ra, Zalo; không còn Zoom

Người quay lại trang sau buổi học tìm recording và tài liệu, nên hai thứ đó lên đầu. Chưa có thì khối vẫn hiện, ghi "đang được xử lý", chứ không biến mất.

Hero Banner: thư viện nội bộ ​

  • 24 ảnh SVG vẽ bằng thuật toán, scripts/hero_banner_svg.py, ghi ra www.conan.school/public/images/hero-banners/hb-01.svg … hb-24.svg. Màu đọc thẳng từ theme.css, không ảnh nào có chữ, nửa trái để thoáng.
  • Cột workshops.hero_banner_key. Migration 20261007a gán sẵn cho mọi event cũ; event tạo mới được API gán mặc định (băm theo id); khoá trống hay lạ thì API vẫn trả ảnh mặc định theo id.
  • Admin đổi ảnh ở trang sửa workshop, khối Hero Banner.
  • Ảnh Cover admin tự tải lên luôn thắng ảnh thư viện.
  • Đổi số ảnh: sửa COUNT trong script và HERO_BANNER_COUNT ở api.conan.school/src/shared/heroBanners.ts. Lệch nhau là API trỏ tới ảnh không tồn tại.
bash
python3 scripts/hero_banner_svg.py --check
python3 scripts/hero_banner_svg.py

Mentor ​

Bảng workshop_mentors(workshop_id, mentor_id, sort_order), mentor_id trỏ legacy_mentors. API công khai trả mentors (chỉ mentor published). Admin tick chọn ở khối Mentor của buổi, thứ tự tick là thứ tự hiển thị (PUT /api/admin/learning/workshops/:id/mentors). Khu vực mentor luôn hiện, chưa gán ai thì ghi "đang được cập nhật".

Tài liệu nội bộ nền tảng Conan School.