mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-24 05:11:13 -05:00
Move to Phase 4-5
This commit is contained in:
@@ -13,6 +13,7 @@ import { useDebounce } from '@/hooks/useDebounce';
|
||||
import { logger } from '@/lib/logger';
|
||||
import { MODERATION_CONSTANTS } from '@/lib/moderation/constants';
|
||||
import type { EntityFilter, StatusFilter, QueueTab, SortConfig, SortField } from '@/types/moderation';
|
||||
import * as storage from '@/lib/localStorage';
|
||||
|
||||
export interface ModerationFiltersConfig {
|
||||
/** Initial entity filter */
|
||||
@@ -184,29 +185,18 @@ export function useModerationFilters(
|
||||
// Persist filters to localStorage
|
||||
useEffect(() => {
|
||||
if (persist) {
|
||||
try {
|
||||
localStorage.setItem(
|
||||
storageKey,
|
||||
JSON.stringify({
|
||||
entityFilter,
|
||||
statusFilter,
|
||||
activeTab,
|
||||
})
|
||||
);
|
||||
} catch (error: unknown) {
|
||||
console.error('Failed to persist filters:', error);
|
||||
}
|
||||
storage.setJSON(storageKey, {
|
||||
entityFilter,
|
||||
statusFilter,
|
||||
activeTab,
|
||||
});
|
||||
}
|
||||
}, [entityFilter, statusFilter, activeTab, persist, storageKey]);
|
||||
|
||||
// Persist sort to localStorage
|
||||
useEffect(() => {
|
||||
if (persist) {
|
||||
try {
|
||||
localStorage.setItem(`${storageKey}_sort`, JSON.stringify(sortConfig));
|
||||
} catch (error: unknown) {
|
||||
console.error('Failed to persist sort:', error);
|
||||
}
|
||||
storage.setJSON(`${storageKey}_sort`, sortConfig);
|
||||
}
|
||||
}, [sortConfig, persist, storageKey]);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
import { useState, useCallback, useEffect, useMemo } from 'react';
|
||||
import { MODERATION_CONSTANTS } from '@/lib/moderation/constants';
|
||||
import * as storage from '@/lib/localStorage';
|
||||
|
||||
export interface PaginationConfig {
|
||||
/** Initial page number (1-indexed) */
|
||||
@@ -149,17 +150,10 @@ export function usePagination(config: PaginationConfig = {}): PaginationState {
|
||||
// Persist state
|
||||
useEffect(() => {
|
||||
if (persist) {
|
||||
try {
|
||||
localStorage.setItem(
|
||||
storageKey,
|
||||
JSON.stringify({
|
||||
currentPage,
|
||||
pageSize,
|
||||
})
|
||||
);
|
||||
} catch (error: unknown) {
|
||||
console.error('Failed to persist pagination state:', error);
|
||||
}
|
||||
storage.setJSON(storageKey, {
|
||||
currentPage,
|
||||
pageSize,
|
||||
});
|
||||
}
|
||||
}, [currentPage, pageSize, persist, storageKey]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user