Location: app/src/pages/dashboard/src/cards/recent-posts/
wp/v2/postsper_page: 10orderby: dateorder: descafter: [startDate]before: [endDate]status: publish,draft,future_embed: trueLocation: app/src/pages/dashboard/src/cards/scheduled-posts/
Location: app/src/pages/dashboard/src/cards/recent-comments/
wp/v2/commentscontext: editper_page: 10orderby: dateorder: descafter: [startDate]before: [endDate]status: approve_embed: trueLocation: app/src/pages/dashboard/src/cards/users-chart/
Location: app/src/pages/dashboard/src/cards/media-analytics/
uixpress/v1/media-analyticsLocation: app/src/pages/dashboard/src/cards/server-health/
uixpress/v1/server-healthmanage_options capabilityAll Overview category cards share common interaction patterns:
All cards follow these patterns:
// Props
const props = defineProps({
dateRange: { type: Array, required: true },
appData: { type: Object, required: true },
});
// State
const data = ref([]);
const loading = ref(false);
const error = ref(null);
// Data Loading
const loadData = async () => {
loading.value = true;
try {
// Fetch data based on dateRange
} catch (err) {
error.value = err.message;
} finally {
loading.value = false;
}
};
// Watch date range changes
watch(() => props.dateRange, loadData, { deep: true });
// Load on mount
onMounted(loadData);
Each card includes metadata:
export default {
id: 'card-id',
title: 'Card Title',
description: 'Card description',
width: 4, // 1-12 columns
mobileWidth: 12,
category: 'site',
requires_capabilities: ['manage_options'], // Optional
};