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