|
96 | 96 | class="bg-white/80 dark:bg-gray-900/70 p-4 rounded-lg shadow-lg lg:col-span-2" |
97 | 97 | style="height: 300px" |
98 | 98 | hx-get="/ui/metrics/charts/year" |
99 | | - hx-trigger="load" |
| 99 | + hx-trigger="apexcharts-ready from:body, load" |
100 | 100 | hx-swap="innerHTML" |
101 | 101 | hx-indicator="#yearChartLoading" |
102 | 102 | > |
|
113 | 113 | class="bg-white/80 dark:bg-gray-900/70 p-4 rounded-lg shadow-lg lg:col-span-1" |
114 | 114 | style="height: 300px" |
115 | 115 | hx-get="/ui/metrics/charts/genre" |
116 | | - hx-trigger="load" |
| 116 | + hx-trigger="apexcharts-ready from:body, load" |
117 | 117 | hx-swap="innerHTML" |
118 | 118 | hx-indicator="#genreChartLoading" |
119 | 119 | > |
|
130 | 130 | class="bg-white/80 dark:bg-gray-900/70 p-3 rounded-lg shadow-lg lg:col-span-1" |
131 | 131 | style="height: 300px" |
132 | 132 | hx-get="/ui/metrics/charts/format" |
133 | | - hx-trigger="load" |
| 133 | + hx-trigger="apexcharts-ready from:body, load" |
134 | 134 | hx-swap="innerHTML" |
135 | 135 | hx-indicator="#formatChartLoading" |
136 | 136 | > |
|
147 | 147 | class="bg-white/80 dark:bg-gray-900/70 p-3 rounded-lg shadow-lg lg:col-span-2" |
148 | 148 | style="height: 300px" |
149 | 149 | hx-get="/ui/metrics/charts/metadata" |
150 | | - hx-trigger="load" |
| 150 | + hx-trigger="apexcharts-ready from:body, load" |
151 | 151 | hx-swap="innerHTML" |
152 | 152 | hx-indicator="#metadataChartLoading" |
153 | 153 | > |
|
162 | 162 |
|
163 | 163 | <script> |
164 | 164 | // Conditionally load ApexCharts to avoid SES issues |
| 165 | + function triggerCharts() { |
| 166 | + htmx.trigger(document.body, 'apexcharts-ready'); |
| 167 | + } |
| 168 | + |
165 | 169 | if (typeof ApexCharts === 'undefined') { |
166 | 170 | try { |
167 | 171 | const script = document.createElement('script'); |
168 | 172 | script.src = '/js/apexcharts.min.js'; |
169 | 173 | script.onload = function() { |
170 | 174 | console.log('ApexCharts loaded successfully'); |
| 175 | + triggerCharts(); |
171 | 176 | }; |
172 | 177 | script.onerror = function() { |
173 | 178 | console.warn('ApexCharts failed to load'); |
|
178 | 183 | console.warn('ApexCharts loading failed:', e); |
179 | 184 | showChartFallbacks(); |
180 | 185 | } |
| 186 | + } else { |
| 187 | + triggerCharts(); |
181 | 188 | } |
182 | 189 |
|
183 | 190 | function showChartFallbacks() { |
|
0 commit comments