Skip to content

Conversation

@FBanfi
Copy link
Collaborator

@FBanfi FBanfi commented Jan 16, 2026

Purpose

This update includes the base structure for the content publishing trends chart.
IMP: This is not the final version, it's just a checkpoint to avoid having a really long PR. The filtering feature will be included in another PR.

Approach

Adding:

  • UI structure
  • Chart with the three different tabs (new entries, by content type, by creator)
  • Legends for each tab at the right of the chart
  • Time select to change between the time line
  • Adding methods to generate the data for the chart
  • Loaders
  • Connection between the chart and the tracked content types set in the config screen
  • Several code refactors

Testing steps

Several automated tests were added.

Grabacion.de.pantalla.2026-01-15.a.la.s.5.12.41.p.m.mov

Breaking Changes

N/A

Dependencies and/or References

Link to MAPS-124

Deployment

N/A

@FBanfi FBanfi requested a review from a team as a code owner January 16, 2026 13:08
Base automatically changed from content-production-dashboard-124-hooks to content-production-dashboard January 16, 2026 19:58
@wiz-inc-38d59fb8d7
Copy link

wiz-inc-38d59fb8d7 bot commented Jan 16, 2026

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities -
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings -
Software Management Finding Software Management Findings -
Total -

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

Copy link
Collaborator

@JuliRossi JuliRossi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Comment on lines 55 to 67
const startDate = getStartDateForTimeRange(options.timeRange);
const now = new Date();
const monthMap = new Map<string, number>();

const filteredEntries = filterEntriesByContentTypes(entries, contentTypes);

filteredEntries.forEach((entry) => {
const createdAt = DateCalculator.parseDate(entry?.sys?.createdAt);
if (!createdAt || createdAt < startDate) return;

const monthYear = DateCalculator.formatMonthYear(createdAt);
monthMap.set(monthYear, (monthMap.get(monthYear) || 0) + 1);
});
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems reasonable since this logic is complex. Let me know if you need help to refactor this, as it can be quite complex

@FBanfi FBanfi merged commit ea472d9 into content-production-dashboard Jan 20, 2026
11 checks passed
@FBanfi FBanfi deleted the content-production-dashboard-124 branch January 20, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants