feat: enhance Jira analytics with caching and force refresh

- Updated `getJiraAnalytics` to accept a `forceRefresh` parameter for optional cache bypass.
- Modified `getProjectAnalytics` to check the cache and return cached data unless forced to refresh.
- Adjusted `loadAnalytics` in `useJiraAnalytics` to trigger a forced refresh on manual updates.
- Improved UI in `JiraDashboardPageClient` to indicate when data is served from cache.
This commit is contained in:
Julien Froidefond
2025-09-18 22:28:34 +02:00
parent 5d73a6c279
commit 4c03ae946f
6 changed files with 309 additions and 26 deletions

View File

@@ -9,13 +9,13 @@ export function useJiraAnalytics() {
const [error, setError] = useState<string | null>(null);
const [isPending, startTransition] = useTransition();
const loadAnalytics = useCallback(() => {
const loadAnalytics = useCallback((forceRefresh = false) => {
startTransition(async () => {
try {
setError(null);
const result = await getJiraAnalytics();
const result = await getJiraAnalytics(forceRefresh);
if (result.success && result.data) {
setAnalytics(result.data);
} else {
@@ -30,7 +30,7 @@ export function useJiraAnalytics() {
}, []);
const refreshAnalytics = useCallback(() => {
loadAnalytics();
loadAnalytics(true); // Force refresh quand on actualise manuellement
}, [loadAnalytics]);
return {