Commit 0c9063d2 authored by Lê Bảo Hồng Đức's avatar Lê Bảo Hồng Đức

fix

parent 55d771ae
......@@ -35,6 +35,7 @@ import {
fetchCmsTagsPage,
updateCmsTag,
} from "@/lib/api/cms-admin";
import { toCmsSlug } from "@/lib/utils/cms-slug";
interface TagFormValues {
id?: string;
......@@ -52,17 +53,7 @@ const EMPTY_FORM: TagFormValues = {
const fieldClassName =
"rounded-xl border-[#063e8e]/15 bg-white text-gray-700 placeholder:text-gray-700 focus-visible:ring-[#063e8e]/30";
const slugifyTag = (value: string) =>
value
.normalize("NFD")
.replace(/[\u0300-\u036f]/g, "")
.replace(/đ/g, "d")
.replace(/Đ/g, "D")
.toLowerCase()
.trim()
.replace(/[^a-z0-9\s-]/g, "")
.replace(/\s+/g, "-")
.replace(/-+/g, "-");
const slugifyTag = (value: string) => toCmsSlug(value);
export default function AdminTagsPage() {
const [items, setItems] = React.useState<CmsTagItem[]>([]);
......
"use client";
import { useCustomClient } from "@/api/mutator/custom-client";
import { toCmsSlug } from "@/lib/utils/cms-slug";
import { resolveUploadUrl } from "@/links";
import { categoryFallbackRows } from "@/mockdata/categories";
......@@ -510,17 +511,7 @@ const toCategoryApiType = (type: CmsHeaderCategoryType) => {
return "page";
};
const toTagSlug = (value: string) =>
value
.normalize("NFD")
.replace(/[\u0300-\u036f]/g, "")
.replace(/đ/g, "d")
.replace(/Đ/g, "D")
.toLowerCase()
.trim()
.replace(/[^a-z0-9\s-]/g, "")
.replace(/\s+/g, "-")
.replace(/-+/g, "-");
const toTagSlug = (value: string) => toCmsSlug(value);
export async function fetchCmsCategories() {
const result = await cmsRequest<CmsPagedResult<CmsCategoryItem>>(
......
const VIETNAMESE_D_CHARACTERS = /[đĐ]/g;
const DASH_LIKE_CHARACTERS = /[\u2010-\u2015\u2212]+/g;
function replaceVietnameseDCharacter(character: string) {
return character === "Đ" ? "D" : "d";
}
export function toCmsSlug(value: string) {
return value
.trim()
.replace(DASH_LIKE_CHARACTERS, "-")
.replace(VIETNAMESE_D_CHARACTERS, replaceVietnameseDCharacter)
.normalize("NFD")
.replace(/[\u0300-\u036f]/g, "")
.toLowerCase()
.replace(/[^a-z0-9\s-]/g, " ")
.replace(/[\s_-]+/g, "-")
.replace(/^-+|-+$/g, "");
}
"use client";
import { toCmsSlug } from "@/lib/utils/cms-slug";
export const ADMIN_NEWS_STORAGE_KEY = "vcci-news.admin-news.data.v3";
export const ADMIN_MEDIA_STORAGE_KEY = "vcci-news.admin-media-library.data.v1";
......@@ -1252,16 +1254,7 @@ const newsSeed: AdminNewsItem[] = [
];
export function slugifyAdminNews(value: string) {
return value
.normalize("NFD")
.replace(/[\u0300-\u036f]/g, "")
.replace(/d/g, "d")
.replace(/�/g, "D")
.toLowerCase()
.trim()
.replace(/[^a-z0-9\s-]/g, "")
.replace(/\s+/g, "-")
.replace(/-+/g, "-");
return toCmsSlug(value);
}
export function resolveAdminNewsType(value?: string | null): AdminNewsType | undefined {
......
"use client";
import { toCmsSlug } from "@/lib/utils/cms-slug";
export type HeaderCategoryType = "category" | "page" | "news";
export interface HeaderCategoryItem {
......@@ -194,16 +196,7 @@ export const headerArticleCategoryOptions: HeaderArticleCategoryOption[] = [
];
export function toSlug(value: string) {
return value
.normalize("NFD")
.replace(/[\u0300-\u036f]/g, "")
.replace(/đ/g, "d")
.replace(/Đ/g, "D")
.toLowerCase()
.trim()
.replace(/[^a-z0-9\s-]/g, "")
.replace(/\s+/g, "-")
.replace(/-+/g, "-");
return toCmsSlug(value);
}
function normalizeTagsearchValues(values?: string[]) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment