forked from UKSOURCE/cms.lams
Merge branch 'develop' into fea/dat-20042026-CMS-Partnerships-Accreditation-History-Admissions-Policies
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* Danh sách icon Font Awesome cho admin (dropdown) — tránh để user gõ class tự do.
|
||||
* Giá trị lưu DB/API phải khớp một trong các `value` bên dưới (hoặc được map về default).
|
||||
*/
|
||||
const ICON_OPTIONS = [
|
||||
{ value: "fa-solid fa-compass", label: "Compass (solid)" },
|
||||
{ value: "fa-solid fa-language", label: "Language (solid)" },
|
||||
{ value: "fa-solid fa-briefcase", label: "Briefcase (solid)" },
|
||||
{ value: "fa-solid fa-laptop-code", label: "Laptop code (solid)" },
|
||||
{ value: "fa-solid fa-universal-access", label: "Universal access (solid)" },
|
||||
{ value: "fa-solid fa-users", label: "Users (solid)" },
|
||||
{ value: "fa-solid fa-phone", label: "Phone (solid)" },
|
||||
{ value: "fa-solid fa-envelope", label: "Envelope (solid)" },
|
||||
{ value: "fa-solid fa-comments", label: "Comments (solid)" },
|
||||
{ value: "fa-solid fa-globe", label: "Globe (solid)" },
|
||||
{ value: "fa-regular fa-clock", label: "Clock (regular)" },
|
||||
{ value: "fa-solid fa-clock", label: "Clock (solid)" },
|
||||
{ value: "fa-solid fa-lightbulb", label: "Lightbulb (solid)" },
|
||||
{ value: "fa-solid fa-circle-info", label: "Info (solid)" },
|
||||
{ value: "fa-solid fa-headset", label: "Headset (solid)" },
|
||||
{ value: "fa-solid fa-book", label: "Book (solid)" },
|
||||
{ value: "fa-solid fa-graduation-cap", label: "Graduation cap (solid)" },
|
||||
{ value: "fa-solid fa-handshake", label: "Handshake (solid)" },
|
||||
{ value: "fa-solid fa-piggy-bank", label: "Piggy bank (solid)" },
|
||||
{ value: "fa-solid fa-certificate", label: "Certificate (solid)" },
|
||||
{ value: "fa-regular fa-envelope", label: "Envelope (regular)" },
|
||||
{ value: "fa-solid fa-map-location-dot", label: "Map location dot (solid)" },
|
||||
{ value: "fa-solid fa-map-marker-alt", label: "Map marker (solid)" },
|
||||
{ value: "fa-solid fa-location-dot", label: "Location dot (solid)" },
|
||||
{ value: "fa-solid fa-fax", label: "Fax (solid)" },
|
||||
{ value: "fa-solid fa-mobile-alt", label: "Mobile (solid)" },
|
||||
{ value: "fa-solid fa-building", label: "Building (solid)" },
|
||||
];
|
||||
|
||||
const ALLOWED = new Set(ICON_OPTIONS.map((o) => o.value));
|
||||
|
||||
function normalizeIconClass(value, fallback = "fa-solid fa-circle-info") {
|
||||
if (!value || typeof value !== "string") return fallback;
|
||||
const trimmed = value.trim();
|
||||
if (ALLOWED.has(trimmed)) return trimmed;
|
||||
return fallback;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
ICON_OPTIONS,
|
||||
normalizeIconClass,
|
||||
};
|
||||
Reference in New Issue
Block a user