Spaces:
Running
Running
Commit History
-
feat(báo cáo): gộp bộ lọc ngày thành 1 ô, thêm 2 ô tool đóng góp nhiều/ít nhất
Bộ lọc ngày: bỏ cặp "Từ ngày / Đến ngày" luôn hiện, thay bằng MỘT ô chọn có sẵn Hôm nay / Hôm qua / 7-30-90 ngày qua / Tuần này / Tuần trước / Tháng này / Tháng trước. Quản trị hầu hết chỉ muốn "7 ngày qua" chứ không muốn gõ hai cái ngày; chọn "Tùy chọn khoảng ngày…" mới mở lịch ra cho ai cần mốc chính xác. Tuần tính từ THỨ HAI theo lịch VN. Không có mốc tương lai (ngày mai, 7 ngày tới…) vì đây là báo cáo đọc log đã ghi, khoảng tương lai luôn rỗng. Nhóm "Năng suất" thêm hai ô "Tool đóng góp nhiều nhất / ít nhất" — cùng bảng xếp hạng với card 🏆 bên dưới, kéo lên đầu để nhìn phát thấy ngay. Giá trị của hai ô này là TÊN TOOL nên dùng cỡ chữ nhỏ hơn ô số (.val.text), kẻo tên dài như "Chèn chữ vào video" tràn khỏi thẻ. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>cc970b0 -
fix(báo cáo): ô Hài lòng hiện "3.3/5" — thang điểm cỡ nhỏ cạnh con số
Bỏ "/5" khỏi dòng phụ, đưa lên ngay cạnh điểm dưới dạng chữ nhỏ màu mờ: con số đứng một mình thì không biết là thang mấy, mà để dưới dòng phụ thì đọc rời rạc. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>146a9ed -
feat(báo cáo): dựng lại tab thời lượng theo mẫu, CSV đọc được bằng tiếng Việt
Bảng nhân sự: cột "Xong" chỉ in SỐ việc xong, bỏ phần trăm đi kèm — cột này đứng cạnh cột "Số task" nên tỷ lệ tự đọc ra được, in thêm % chỉ làm ô chật. Thêm cột Team/BU tách từ tên đăng nhập kiểu "họ tên - team - bu". Giao diện dựng theo hai file mẫu đã chốt form: tiêu đề + thanh lọc (người dùng / công cụ / từ ngày / đến ngày) + ba nhóm ô chỉ số có gạch phân cách, rồi tới các card nội dung. Bật lại bảng "Tốc độ máy mỗi bước (B2)". Chỉ số mới trong ETL: số user đã dùng thật (không tính người chỉ ngó trang), dùng hàng tuần/hàng ngày — đếm theo mốc MỚI NHẤT trong khoảng lọc chứ không so với hôm nay, để xem lại báo cáo cũ vẫn đúng. CSV tải về: mỗi cột là một câu tiếng Việt, cục properties_json được bung thành "Bước máy: Bóc lời & dịch · Lần bấm chạy thứ: 1". Cột mã và JSON gốc dồn về cuối để vẫn dò ngược được. `?raw=1` giữ nguyên 11 cột schema v2 cho bên nào cần nạp vào công cụ khác. Bảng dịch để một chỗ ở labels.py, màn "Nhật ký chi tiết" đọc chung nên không lệch với file tải về; khoá …4ffa05a
-
feat(dub): nút xoá video + bản dịch ở bước xem/sửa bản dịch
Dịch xong cả lô mới thấy có video không muốn tạo giọng thì trước đây phải "Làm video mới" (xoá sạch) rồi tải lại từ đầu. Nay mỗi thẻ bản dịch ở bước 3 có nút ✕: xoá đúng video đó — bỏ cả bản dịch, video đã tải lên và kết quả cũ (nếu có) — các video còn lại giữ nguyên để tạo giọng tiếp. Xoá phía client như nút ✕ ở bước tải lên; file tạm trên server tự dọn theo phiên. Thêm class dùng chung .btn-x cho nút ✕ nằm trong hàng chữ nhỏ. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>683c672
-
feat(sub): thêm 7 phông chữ phụ đề (Oswald, Nunito, Lato, Merriweather, Playfair, Kanit, Dancing Script)
Phông mã nguồn mở (Google Fonts, OFL), đã kiểm cmap phủ ĐỦ dấu tiếng Việt. Variable font -> instance về 1 weight tĩnh bằng fontTools + đặt tên family sạch (như bộ cũ là 1 face khai báo normal). Nhúng Git LFS + @font-face; Dockerfile tự cp *.ttf. Đo hệ số co k (libass/CSS, nhất quán <1% qua 3 chuỗi) cho từng phông để preview KHỚP burn: Oswald .587, Nunito .724, Lato .714, Merriweather .577, Playfair Display .705, Kanit .630, Dancing Script .710. Đã verify overlay Oswald + Dancing Script khớp cỡ/ giãn dòng/vị trí, dấu tiếng Việt hiện đủ. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>9206420
-
fix(sub): nhúng font mã nguồn mở -> burn phụ đề KHỚP preview trên server
Server Linux không có font Microsoft nên libass fallback -> chữ lệch bản xem trước (Windows dev khớp vì có sẵn font MS = bẫy). Nhúng 6 font OSS đủ tiếng Việt (Be Vietnam Pro, Roboto, Open Sans, Montserrat, Arimo~Arial, Tinos~Times) vào backend/app/assets/fonts; trình duyệt nạp CHÍNH file này qua @font-face(/fonts) nên preview=render mọi máy. - FONTS/measureBreaks(bỏ bold)/boxStyle(fontWeight 400) đồng bộ tên+độ rộng - ASS Bold=0 (font đã đậm sẵn, tránh làm-đậm-giả lệch metric) - burn() dùng fontsdir tương đối (né dấu ":" ổ đĩa Windows làm hỏng filter ffmpeg) - main.py mount /fonts, vite proxy /fonts cho dev - Dockerfile cài fontconfig + copy font hệ thống + fc-cache Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>d4a04dd
-
update shuffle: optimize algorithm to be fast, design new function
e014541
-
deploy merged code
9b53f70