;
+ }
+
+ // Function to count number of feedbacks for each date
+ const countFeedbacksByDate = (feedbacks) => {
+ const dateCounts = {};
+
+ // Iterate through feedbacks
+ feedbacks.forEach((feedback) => {
+ const date = new Date(feedback.CreatedAt).toISOString().split("T")[0];
+
+ // Increment count for date or initialize it with 1
+ dateCounts[date] = (dateCounts[date] || 0) + 1;
+ });
+
+ // Convert date-counts map to array of objects and sort by date ascending
+ return Object.keys(dateCounts)
+ .map((date) => ({
+ date,
+ count: dateCounts[date],
+ }))
+ .sort((a, b) => new Date(a.date) - new Date(b.date));
+ };
+
+ const data = countFeedbacksByDate(
+ customerFeedbackContext.customerFeedbacks
+ );
+
+ // Function to extract data for each key in Data
+ const getDataByKey = (feedbacks, key) => {
+ const dateValuesMap = {};
+
+ // Iterate through feedbacks
+ feedbacks.forEach((feedback) => {
+ if (feedback.Data && typeof feedback.Data === "object") {
+ const date = new Date(feedback.CreatedAt).toISOString().split("T")[0];
+ const value = feedback.Data[key];
+
+ // Increment count for date or initialize it with value
+ dateValuesMap[date] =
+ (dateValuesMap[date] || 0) + (typeof value === "number" ? 1 : 0);
+ }
+ });
+
+ // Convert date-values map to array of objects and sort by date ascending
+ return Object.keys(dateValuesMap)
+ .map((date) => ({
+ date,
+ value: dateValuesMap[date],
+ }))
+ .sort((a, b) => new Date(a.date) - new Date(b.date));
+ };
+
+ return (
+