Make slug optional in admin create forms
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -80,8 +80,7 @@
|
||||
v-model="form.slug"
|
||||
label="اسلاگ (انگلیسی)"
|
||||
ltr
|
||||
placeholder="haircut"
|
||||
required
|
||||
placeholder="اختیاری — از عنوان ساخته میشود"
|
||||
/>
|
||||
<AppTextarea id="tplDesc" v-model="form.description" label="توضیحات" rows="2" />
|
||||
<AppInput
|
||||
@@ -125,7 +124,7 @@ import SearchInput from '@/components/ui/SearchInput.vue';
|
||||
import AdminLayout from '@/layouts/AdminLayout.vue';
|
||||
import { activeLabel } from '@/utils/format';
|
||||
import { filterBySearch } from '@/utils/search';
|
||||
import { isValidSlug, slugify } from '@/utils/slug';
|
||||
import { isValidSlug, optionalSlug, slugify } from '@/utils/slug';
|
||||
|
||||
const categories = ref<BusinessCategory[]>([]);
|
||||
const templates = ref<ServiceTemplate[]>([]);
|
||||
@@ -222,7 +221,8 @@ function maybeSlug() {
|
||||
|
||||
async function onSave() {
|
||||
if (!selectedCategoryId.value) return;
|
||||
if (!isValidSlug(form.value.slug)) {
|
||||
const slug = optionalSlug(form.value.slug);
|
||||
if (slug && !isValidSlug(slug)) {
|
||||
error.value = 'اسلاگ فقط حروف کوچک انگلیسی و خط تیره باشد.';
|
||||
return;
|
||||
}
|
||||
@@ -236,7 +236,7 @@ async function onSave() {
|
||||
try {
|
||||
const payload = {
|
||||
title: form.value.title.trim(),
|
||||
slug: form.value.slug.trim(),
|
||||
...(slug ? { slug } : {}),
|
||||
description: form.value.description.trim() || undefined,
|
||||
defaultDurationMinutes: duration,
|
||||
isActive: form.value.isActive,
|
||||
|
||||
Reference in New Issue
Block a user