shouts-admin-fix5

This commit is contained in:
Untone 2025-06-28 14:57:07 +03:00
parent 8f93d77eef
commit 3ccd8ce1d0

View File

@ -14,54 +14,59 @@ import 'prismjs/themes/prism-tomorrow.css'
// Определяем GraphQL запрос // Определяем GraphQL запрос
const ADMIN_GET_SHOUTS_QUERY = ` const ADMIN_GET_SHOUTS_QUERY = `
query AdminGetShouts($limit: Int, $offset: Int, $status: String) { query AdminGetShouts($limit: Int, $offset: Int, $status: String) {
admin_get_shouts(limit: $limit, offset: $offset, status: $status) { adminGetShouts(limit: $limit, offset: $offset, status: $status) {
id shouts {
title id
slug
body
lead
subtitle
layout
lang
cover
cover_caption
media {
url
title title
slug
body body
source lead
pic subtitle
date layout
genre lang
artist cover
lyrics cover_caption
media {
url
title
body
source
pic
date
genre
artist
lyrics
}
seo
created_at
updated_at
published_at
featured_at
deleted_at
created_by {
id
email
name
}
authors {
id
email
name
slug
}
topics {
id
title
slug
}
version_of
draft
} }
seo total
created_at page
updated_at perPage
published_at totalPages
featured_at
deleted_at
created_by {
id
email
name
}
authors {
id
email
name
slug
}
topics {
id
title
slug
}
version_of
draft
} }
admin_get_shouts_count
} }
` `
@ -204,8 +209,13 @@ interface Shout {
* Интерфейс для ответа API с публикациями * Интерфейс для ответа API с публикациями
*/ */
interface AdminGetShoutsData { interface AdminGetShoutsData {
admin_get_shouts: any[] adminGetShouts: {
admin_get_shouts_count: number shouts: any[]
total: number
page: number
perPage: number
totalPages: number
}
} }
/** /**
@ -414,13 +424,13 @@ const AdminPage: Component<AdminPageProps> = (props) => {
} }
) )
if (result?.admin_get_shouts) { if (result?.adminGetShouts) {
setShouts(result.admin_get_shouts) setShouts(result.adminGetShouts.shouts)
// Обновляем пагинацию с учетом общего количества // Обновляем пагинацию с учетом общего количества
setShoutsPagination({ setShoutsPagination({
...pagination, ...pagination,
total: result.admin_get_shouts_count || 0, total: result.adminGetShouts.total,
totalPages: Math.ceil((result.admin_get_shouts_count || 0) / pagination.limit) totalPages: result.adminGetShouts.totalPages
}) })
} }
} catch (error) { } catch (error) {