Implement Phase 4 optimizations

This commit is contained in:
gpt-engineer-app[bot]
2025-10-15 12:28:03 +00:00
parent 81a4b9ae31
commit 97337ed7a3
7 changed files with 1097 additions and 2 deletions

View File

@@ -21,6 +21,7 @@ import { NewItemsAlert } from './NewItemsAlert';
import { EmptyQueueState } from './EmptyQueueState';
import { QueuePagination } from './QueuePagination';
import type { ModerationQueueRef } from '@/types/moderation';
import type { PhotoItem } from '@/types/photos';
export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
const isMobile = useIsMobile();
@@ -57,7 +58,7 @@ export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
// UI-only state
const [notes, setNotes] = useState<Record<string, string>>({});
const [photoModalOpen, setPhotoModalOpen] = useState(false);
const [selectedPhotos, setSelectedPhotos] = useState<any[]>([]);
const [selectedPhotos, setSelectedPhotos] = useState<PhotoItem[]>([]);
const [selectedPhotoIndex, setSelectedPhotoIndex] = useState(0);
const [reviewManagerOpen, setReviewManagerOpen] = useState(false);
const [selectedSubmissionId, setSelectedSubmissionId] = useState<string | null>(null);

View File

@@ -34,6 +34,12 @@ function getRoleLabel(role: string): string {
};
return isValidRole(role) ? labels[role] : role;
}
interface ProfileSearchResult {
user_id: string;
username: string;
display_name?: string;
}
interface UserRole {
id: string;
user_id: string;
@@ -50,7 +56,7 @@ export function UserRoleManager() {
const [searchTerm, setSearchTerm] = useState('');
const [newUserSearch, setNewUserSearch] = useState('');
const [newRole, setNewRole] = useState('');
const [searchResults, setSearchResults] = useState<any[]>([]);
const [searchResults, setSearchResults] = useState<ProfileSearchResult[]>([]);
const [actionLoading, setActionLoading] = useState<string | null>(null);
const {
user