Add website schema settings, SEO meta overrides, and resilient bulk SMS.

Business admins can configure site-wide Schema.org and optional per-item SEO title/description; mass SMS continues on failures with an end report.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-09-09 23:30:23 +03:30
co-authored by Cursor
parent 15aad9f9d8
commit c2ede07e73
37 changed files with 1217 additions and 89 deletions
@@ -17,6 +17,8 @@ export interface BlogApi {
categoryId: string | null
categoryName: string
tags: string[]
seoMetaTitle?: string | null
seoMetaDescription?: string | null
titleImageUrl: string | null
featuredMediaId: string | null
authorId?: string | null
@@ -60,6 +62,8 @@ export interface CreateBlogPayload {
status?: BlogStatus
featuredMediaId?: string
tags?: string[]
seoMetaTitle?: string | null
seoMetaDescription?: string | null
}
export interface UpdateBlogPayload {
@@ -71,6 +75,8 @@ export interface UpdateBlogPayload {
status?: BlogStatus
featuredMediaId?: string | null
tags?: string[]
seoMetaTitle?: string | null
seoMetaDescription?: string | null
}
export function resolveBlogTitleImageUrl(blog: BlogApi): string | null {
@@ -155,6 +161,8 @@ export function mapBlogApiToFormState(blog: BlogApi) {
mainTextHtml: blog.mainTextHtml,
categoryId: blog.categoryId ?? '',
tags: blog.tags,
seoMetaTitle: blog.seoMetaTitle ?? '',
seoMetaDescription: blog.seoMetaDescription ?? '',
titleImage: resolveBlogTitleImageUrl(blog),
featuredMediaId: blog.featuredMediaId,
}