Refine tags/favs validation
This commit is contained in:
parent
4ba7455442
commit
7905fb569b
@ -14,7 +14,7 @@ import {
|
||||
} from '@/vendors/fujifilm';
|
||||
import { FilmSimulation } from '@/simulation';
|
||||
import { GEO_PRIVACY_ENABLED } from '@/site/config';
|
||||
import { TAG_FAVS } from '@/tag';
|
||||
import { TAG_FAVS, doesTagsStringIncludeFavs } from '@/tag';
|
||||
|
||||
type VirtualFields = 'favorite';
|
||||
|
||||
@ -42,7 +42,7 @@ const FORM_METADATA: Record<keyof PhotoFormData, FormMeta> = {
|
||||
tags: {
|
||||
label: 'tags',
|
||||
note: 'comma-separated values',
|
||||
validate: tags => tags?.toLowerCase().includes(TAG_FAVS)
|
||||
validate: tags => doesTagsStringIncludeFavs(tags)
|
||||
? `'${TAG_FAVS}' is a reserved tag`
|
||||
: undefined,
|
||||
},
|
||||
|
||||
@ -5,7 +5,7 @@ import {
|
||||
photoQuantityText,
|
||||
} from '@/photo';
|
||||
import { absolutePathForTag, absolutePathForTagImage } from '@/site/paths';
|
||||
import { capitalizeWords } from '@/utility/string';
|
||||
import { capitalizeWords, convertStringToArray } from '@/utility/string';
|
||||
|
||||
export const TAG_FAVS = 'favs';
|
||||
|
||||
@ -17,6 +17,9 @@ export type Tags = {
|
||||
export const formatTag = (tag?: string) =>
|
||||
capitalizeWords(tag?.replaceAll('-', ' '));
|
||||
|
||||
export const doesTagsStringIncludeFavs = (tags?: string) =>
|
||||
convertStringToArray(tags)?.some(tag => isTagFavs(tag));
|
||||
|
||||
export const titleForTag = (
|
||||
tag: string,
|
||||
photos:Photo[],
|
||||
|
||||
Loading…
Reference in New Issue
Block a user