A practical guide to customizing the LeptonX theme in ABP Framework Angular projects through two layers: style overriding using CSS custom properties and design tokens, and element overriding using ABP's ReplaceableComponentsService. Covers common issues like the visual branding blink on page load, mobile user profile freeze bug (versions 3.1.x–4.3.1), MIME type CSS loading errors, and the trade-offs of integrating raw theme source code. Also introduces ABP's new React UI direction in version 10.4, which gives developers direct ownership of the presentation layer using Vite, Tailwind CSS, and shadcn/ui instead of compiled layout packages.
Nguồn: https://abp.io/community/posts/customizing-the-abp-framework-a-developers-guide-to-leptonx-theme-overrides-in-angular-and-the-transition-to-react-ui-nklweri3. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Bài viết hướng dẫn tạo hiệu ứng mặt nạ (mask) gradient xuyên tâm hoạt ảnh trên văn bản bằng CSS, sử dụng thuộc tính mask kết hợp repeating-radial-gradient, điều chỉnh tâm gradient quanh một chữ cái cụ thể, và tận dụng @property (CSS Houdini) để làm thuộc tính tùy chỉnh có thể hoạt ảnh. Ngoài ra, bài viết cũng đề cập đến sự tương thích trình duyệt không đồng nhất trên Firefox và Safari, cùng các mẹo điều chỉnh độ dày và khoảng cách sọc thông qua thuộc tính CSS tùy chỉnh.
Lập trình viên nên đọc bài này để khám phá cách tạo hiệu ứng ánh sáng động từ gradient bán kính trên văn bản bằng CSS, giúp nâng cao tính tương tác và thẩm mỹ cho giao diện web mà không cần JavaScript.

Thư viện Prop For That của Adam Argyle cung cấp các CSS custom properties động, cho phép truy cập vào những thuộc tính CSS thông thường không thể truy xuất như vị trí con trỏ, tốc độ cuộn, trạng thái form hay thời gian hiện tại. Nhà phát triển chỉ cần thêm thuộc tính data vào HTML, sau đó sử dụng trực tiếp các biến CSS này trong stylesheet mà không cần viết JavaScript.
Lập trình viên nên đọc bài này để khám phá cách Prop For That giúp tối ưu hóa giao diện người dùng bằng cách kết nối trực tiếp CSS với dữ liệu động từ HTML mà không cần JavaScript, mở rộng khả năng tùy biến UI một cách đơn giản và hiệu quả.
Hầu hết hướng dẫn về React compound components đều dùng ví dụ <Select>/<Option> không phù hợp, vì pattern này chỉ tối ưu cho layout linh hoạt với nội dung tĩnh (tabs, cards), chứ không phải danh sách dữ liệu động. Khi dữ liệu đến từ API, sử dụng props API đơn giản hơn, type-safe hơn, và dễ xử lý sắp xếp/lọc/ảo hóa.
Lập trình viên nên đọc bài này để tránh nhầm lẫn giữa mô hình Compound Components—dành cho giao diện layout tĩnh—với trường hợp sử dụng cho danh sách dữ liệu động, từ đó tối ưu hóa code, tránh lỗi type safety và áp dụng đúng nguyên tắc thiết kế React hiệu quả.
Kỹ thuật CSS thuần tạo thanh trượt (range slider) dạng lượn sóng bằng phần tử HTML input gốc, sử dụng các tính năng hiện đại như border-shape, Scroll-Driven Animations và @property mà không cần JavaScript hay HTML bổ sung. Chỉ hoạt động trên Chrome, cho phép tùy biến dễ dàng qua CSS variables và có công cụ hỗ trợ tạo đường lượn sóng.
Lập trình viên nên đọc bài này để khám phá cách tạo hiệu ứng slider dải nhập gợn sóng chỉ bằng CSS hiện đại, tiết kiệm thời gian và không cần JavaScript, giúp tối ưu hóa hiệu suất và mở rộng khả năng thiết kế UI cho ứng dụng Chrome.
Bài viết hướng dẫn cách xây dựng một component React đa hình có kiểu (polymorphic) bằng generics TypeScript. Tác giả chỉ ra nhược điểm của cách dùng intersection type thông thường, khám phá cách sử dụng mapped type (hoặc Omit) để buộc TypeScript xử lý generic sau khi suy luận kiểu, từ đó đạt được cách triển khai cho phép props được xác định chặt chẽ dựa trên giá trị của prop as.
Lập trình viên nên đọc bài này để hiểu cách tối ưu hóa và chính xác hóa kiểu dáng cho các thành phần React đa hình với TypeScript, tránh những lỗi nhầm lẫn về kiểu props và giải quyết vấn đề khi kiểu không được hẹp hóa đúng cách.
Bài viết cung cấp 35 câu hỏi phỏng vấn React dành cho senior developer, xoay quanh các chủ đề như rendering behavior, hooks (useState, useRef, useEffect, useLayoutEffect), tính năng React 19 (Actions, useOptimistic, React Compiler), Server Components, tối ưu hiệu suất, quản lý state, React Router và testing. Mỗi câu hỏi đi kèm ví dụ code thực tế và giải thích chi tiết, tập trung vào hiểu bản chất React thay vì ghi nhớ API.
Lập trình viên senior cần đọc bài này để khắc phục lỗi thường gặp trong các câu hỏi thực tế về React—không chỉ là nhớ kỹ thuật mà là hiểu sâu về cơ chế hoạt động, từ rendering đến các tính năng mới nhất như Server Components và React Compiler, giúp họ ứng dụng kiến thức một cách chính xác trong công việc.
Lattice là framework UI điều khiển từ server cho Laravel, cho phép định nghĩa toàn bộ giao diện (trang, biểu mẫu, bảng, hành động) bằng PHP, sau đó serialize và render thành React component thông qua Inertia.js. Các thành phần như trang, biểu mẫu, bảng được định nghĩa bằng các lớp PHP chuyên biệt, hỗ trợ validation, sắp xếp, lọc, phân trang và tác vụ server-driven.
Lattice giúp lập trình viên tiết kiệm thời gian và công sức khi xây dựng UI phức tạp trong Laravel bằng cách chuyển giao logic server-side sang PHP, giảm thiểu sự phụ thuộc vào JavaScript và tối ưu hóa việc tương tác giữa backend và frontend một cách hiệu quả.
Tuần này giới thiệu nhiều cập nhật quan trọng trong hệ sinh thái React: Fragment ref (FragmentInstance) sắp ra mắt trong React v19.3, tiến triển của React Compiler (tích hợp Bun, phiên bản Rust), React Router 8.0 (chỉ ESM, cải tiến "boring-by-design"), cùng các bản phát hành mới của StyleX 0.19, Base UI 1.6 và TanStack Table v9. Bên phía React Native, Reanimated 4.5 bổ sung hỗ trợ CSS pseudo-selector, Expo SDK 56 ổn định iOS widgets & Live Activities, VisionCamera cho phép xử lý video thời gian thực. Ngoài ra, Vite 8.1 ra mắt chế độ Dev Mode tích hợp, Astro 7.0 tăng tốc build ~61% nhờ Rolldown, TypeScript 7.0 RC (viết lại bằng Go), và GitHub Actions siết chặt bảo mật ngăn chặn tấn công supply chain.
Những công nghệ mới trong React và React Native như Fragment ref trong React 19.3 hoặc React Router 8.0 có thể giúp bạn tối ưu hiệu suất, cải thiện tính bảo mật và mở rộng khả năng ứng dụng của mình ngay từ những thay đổi cơ bản nhất.