partial('aside_subscription'); ?>

 
repartitions['main_stream']['total'] ?? -1) ?> repartitions['all_feeds']['total'] ?? -1) ?>
repartitions['main_stream']['count_reads'] ?? -1) ?> repartitions['all_feeds']['count_reads'] ?? -1) ?>
repartitions['main_stream']['count_unreads'] ?? -1) ?> repartitions['all_feeds']['count_unreads'] ?? -1) ?>
repartitions['main_stream']['count_favorites'] ?? -1) ?> repartitions['all_feeds']['count_favorites'] ?? -1) ?>

topFeed as $feed): ?>
repartitions['all_feeds']['total'])) { echo format_number($feed['count'] / $this->repartitions['all_feeds']['total'] * 100, 1); } ?>

An array of HSL color strings. */ function generateColorPalette(int $count): array { $colors = []; for ($i = 0; $i < $count; $i++) { $hue = ($i / $count) * 360; // Distribute colors evenly around the color wheel $saturation = 70; // Fixed saturation $lightness = 50; // Fixed lightness $colors[] = "hsl($hue, {$saturation}%, {$lightness}%)"; } return $colors; } // 1. Get all unique category labels and sort them $allLabels = array_unique(array_merge($this->feedByCategory['label'], $this->entryByCategory['label'])); sort($allLabels); // Ensure consistent order // 2. Generate a color palette based on the number of unique categories $colorPalette = generateColorPalette(count($allLabels)); // 3. Map categories to colors $colorMap = array_combine($allLabels, $colorPalette); // 4. Align data and labels for both charts $feedData = array_fill_keys($allLabels, 0); // Initialize data with all categories foreach ($this->feedByCategory['label'] as $index => $label) { $feedData[$label] = $this->feedByCategory['data'][$index]; } $entryData = array_fill_keys($allLabels, 0); // Initialize data with all categories foreach ($this->entryByCategory['label'] as $index => $label) { $entryData[$label] = $this->entryByCategory['data'][$index]; } // Final data and labels $feedLabels = array_keys($feedData); $feedColors = array_map(fn($label) => $colorMap[$label], $feedLabels); $feedValues = array_values($feedData); $entryLabels = array_keys($entryData); $entryColors = array_map(fn($label) => $colorMap[$label], $entryLabels); $entryValues = array_values($entryData); ?>