diff --git a/docs/IMAGE_GENERATION_CHANGELOG.md b/docs/IMAGE_GENERATION_CHANGELOG.md index 7ba01ca2..633cc4cf 100644 --- a/docs/IMAGE_GENERATION_CHANGELOG.md +++ b/docs/IMAGE_GENERATION_CHANGELOG.md @@ -236,5 +236,41 @@ Example: --- +--- + +## Stage 1 Updates: Modal Styling Improvements + +**Date:** 2025-01-XX +**Status:** Completed + +### Changes Made: + +1. **Updated Modal Background** + - Changed from `bg-black bg-opacity-50` to standard modal backdrop + - Now uses `Modal` component with `bg-gray-400/50 backdrop-blur-[32px]` (standard glass effect) + - Matches all other modals in the system + +2. **Replaced Emojis with React Icons** + - Header: Replaced 🎨 emoji with `FileIcon` component + - Pending status: Replaced ⏳ emoji with `TimeIcon` component + - Processing status: Added spinning SVG icon + - Completed status: Uses `CheckCircleIcon` component + - Failed status: Uses `ErrorIcon` component + +3. **Standard Modal Width** + - Changed from custom width to `max-w-4xl` (standard modal width) + - Uses `Modal` component which provides consistent styling across system + +### Files Modified: +- ✅ `frontend/src/components/common/ImageQueueModal.tsx` (UPDATED) + +### Visual Improvements: +- Modal now has proper blur/glass backdrop effect +- Icons are consistent with system design +- Modal width matches other modals in the system +- Better visual hierarchy with icon in header + +--- + **End of Stage 1 Changelog** diff --git a/frontend/src/components/common/ImageQueueModal.tsx b/frontend/src/components/common/ImageQueueModal.tsx index 41ad275a..cd55279b 100644 --- a/frontend/src/components/common/ImageQueueModal.tsx +++ b/frontend/src/components/common/ImageQueueModal.tsx @@ -5,7 +5,8 @@ */ import React, { useEffect, useState } from 'react'; -import { CloseIcon as XIcon } from '../../icons'; +import { Modal } from '../ui/modal'; +import { FileIcon, TimeIcon, CheckCircleIcon, ErrorIcon } from '../../icons'; export interface ImageQueueItem { imageId: number | null; @@ -52,15 +53,20 @@ export default function ImageQueueModal({ const getStatusIcon = (status: string) => { switch (status) { case 'pending': - return '⏳'; + return ; case 'processing': - return '🔄'; + return ( + + + + + ); case 'completed': - return '✅'; + return ; case 'failed': - return '❌'; + return ; default: - return '⏳'; + return ; } }; @@ -98,27 +104,26 @@ export default function ImageQueueModal({ const allDone = localQueue.every(item => item.status === 'completed' || item.status === 'failed'); return ( -
-
- {/* Header */} -
+ + {/* Header */} +
+
+

- 🎨 Generating Images + Generating Images

Total: {totalImages} image{totalImages !== 1 ? 's' : ''} in queue

-
+
{/* Queue List */}
@@ -150,8 +155,9 @@ export default function ImageQueueModal({ {item.contentTitle} - - {getStatusIcon(item.status)} {getStatusText(item.status)} + + {getStatusIcon(item.status)} + {getStatusText(item.status)}
@@ -212,7 +218,6 @@ export default function ImageQueueModal({ )}
-
- + ); }