# UI/UX Improvements - Testing Guide ## Quick Start 1. **Start the app**: ```bash cd /home/fahed/clawd/marketing-app ./start.sh ``` 2. **Access the app**: - Open browser: `http://localhost:5173` - Login with your credentials --- ## Test Scenarios ### 1. Toast Notifications 🍞 #### Post Operations 1. Go to **Post Production** page 2. Click **"New Post"** 3. Fill in title, select brand, platform 4. Click **"Create Post"** - ✅ Should see: Green success toast "Post created successfully!" 5. Click a post to edit 6. Change the title 7. Click **"Save Changes"** - ✅ Should see: Green success toast "Post updated successfully!" 8. Drag a post to **"Published"** column (without publication links) - ✅ Should see: Red error toast 9. Click a post, click **"Delete"**, confirm - ✅ Should see: Green success toast "Post deleted successfully!" #### Task Operations 1. Go to **Tasks** page 2. Click **"New Task"** 3. Fill in title 4. Click **"Create Task"** - ✅ Should see: Green success toast "Task created successfully!" 5. Drag a task from "To Do" to "In Progress" - ✅ Should see: Green success toast "Task status updated!" #### Multiple Toasts 1. Quickly create 3 tasks in a row - ✅ Should see: 3 toasts stacked on top of each other - ✅ Each should auto-dismiss after 4 seconds --- ### 2. Loading States ⏳ #### Dashboard 1. **Refresh the page** while on Dashboard - ✅ Should see: Skeleton loaders for: - Welcome message - 4 stat cards - Recent posts list - Upcoming deadlines list - ✅ After loading: Smooth fade to actual content #### Posts (Kanban View) 1. Go to **Post Production** 2. **Refresh the page** - ✅ Should see: 5-column skeleton board with card placeholders - ✅ After loading: Posts appear in correct columns #### Posts (List View) 1. Click the **List view** icon 2. **Refresh the page** - ✅ Should see: Table skeleton with 6 columns - ✅ After loading: Table rows appear #### Tasks 1. Go to **Tasks** page 2. **Refresh the page** - ✅ Should see: Skeleton kanban board - ✅ After loading: Tasks appear in columns --- ### 3. Empty States 🗂️ #### No Posts 1. Go to **Post Production** 2. Delete all posts (or use filters to hide all) 3. With **no posts at all**: - ✅ Should see: Empty state with: - FileText icon - "No posts" title - Helpful description - **"Create Post"** button 4. Click the button - ✅ Should open: Create post modal #### Posts Filtered (No Results) 1. Select a brand filter that has no posts - ✅ Should see: Empty state with: - "No posts found" title - "Try different filter" description - **"Clear Filters"** button 2. Click the button - ✅ Should clear: All filters #### No Tasks 1. Go to **Tasks** page 2. Delete all tasks - ✅ Should see: Empty state with: - CheckSquare icon - "No tasks yet" title - **"Create Task"** button #### Tasks Filtered (No Results) 1. Select **"Assigned to Me"** filter (if you have no tasks assigned) - ✅ Should see: Empty state with: - "No tasks match this filter" title - **"Clear Filters"** button --- ### 4. Micro-interactions ✨ #### Button Hover Effects 1. Hover over **any button** - ✅ Should see: Button lifts slightly (`-1px`) - ✅ Should see: Subtle shadow appears 2. Click and hold a button - ✅ Should see: Button presses down (scale `0.98`) #### Card Hover Effects 1. Hover over a **PostCard** (in Kanban view) - ✅ Should see: - Card lifts up (`-3px`) - Shadow becomes more prominent - Smooth transition 2. Hover over a **TaskCard** - ✅ Should see: Same elevation effect - ✅ Should see: Quick action button appears #### Stat Card Animation 1. Go to **Dashboard** 2. **Refresh the page** - ✅ Should see: 4 stat cards animate in with stagger effect - ✅ Each card appears 50ms after the previous one #### Focus States 1. Press **Tab** repeatedly to navigate - ✅ Should see: Blue outline (focus ring) on each element - ✅ Ring should be 2px wide with 2px offset 2. Navigate to any input field 3. Press **Tab** - ✅ Should see: Focus ring around input --- ### 5. Form UX 📝 #### Loading Button State 1. Go to **Post Production** 2. Click **"New Post"** 3. Fill in title 4. Click **"Create Post"** - ✅ During save: Button shows spinner (text disappears) - ✅ Button is disabled (no double-click possible) - ✅ After save: Button returns to normal, modal closes #### Same for Tasks 1. Create a task - ✅ Save button shows loading spinner - ✅ Cannot submit twice #### Input Focus States 1. Click any input field - ✅ Should see: Blue border and ring effect 2. Hover over an input (without clicking) - ✅ Should see: Border color changes slightly --- ### 6. Card Improvements 🎴 #### PostCard Visual Hierarchy 1. Look at posts in **Kanban view** - ✅ Title is prominent (larger, bold) - ✅ Metadata is subtle (smaller, gray) - ✅ Platforms shown with icons - ✅ Brand badge clearly visible 2. Hover over a card - ✅ Quick action buttons appear - ✅ Card elevates smoothly #### TaskCard Visual Hierarchy 1. Look at tasks - ✅ Priority dot is visible (left side, colored) - ✅ Title is clear - ✅ "From:" label for tasks assigned by others - ✅ "Assigned to:" label for tasks you delegated - ✅ Due date with clock icon 2. Look for **overdue tasks** - ✅ Due date should be red --- ### 7. Accessibility ♿ #### Keyboard Navigation 1. Press **Tab** to navigate through the page - ✅ Tab order is logical - ✅ All interactive elements can be reached - ✅ Focus is visible at all times 2. Open a modal 3. Press **Escape** - ✅ Modal closes 4. Open a dropdown/select 5. Use **Arrow keys** to navigate options - ✅ Should work #### Screen Reader (Optional) 1. Enable screen reader (VoiceOver on Mac, NVDA on Windows) 2. Navigate the page - ✅ All text is read correctly - ✅ Buttons are labeled - ✅ Form labels are associated with inputs #### Color Contrast 1. Look at all text elements - ✅ Text is readable (WCAG AA compliant) - ✅ Status badges have good contrast - ✅ Buttons have clear text --- ### 8. RTL & i18n 🌍 #### Switch to Arabic 1. Go to **Settings** 2. Select **Arabic** language 3. Check: - ✅ All text switches to Arabic - ✅ Layout flips (RTL) - ✅ Toasts appear on correct side - ✅ All new features have Arabic translations #### Toast Messages in Arabic 1. Create a post - ✅ Toast shows: "تم إنشاء المنشور بنجاح!" 2. Update a task - ✅ Toast shows: "تم تحديث المهمة بنجاح!" --- ## Visual Checklist ### ✅ Toast System - [ ] Success toasts are green - [ ] Error toasts are red - [ ] Warning toasts are amber - [ ] Info toasts are blue - [ ] Toasts have icons - [ ] Toasts auto-dismiss - [ ] Multiple toasts stack - [ ] Manual close works ### ✅ Loading States - [ ] Dashboard skeleton matches layout - [ ] Posts skeleton (Kanban) shows 5 columns - [ ] Posts skeleton (List) shows table - [ ] Tasks skeleton shows 3 columns - [ ] Smooth transition to content ### ✅ Empty States - [ ] Posts empty state has icon - [ ] Posts empty state has CTA - [ ] Tasks empty state has icon - [ ] Tasks empty state has CTA - [ ] Filtered empty states offer clear filters - [ ] Messages are helpful and friendly ### ✅ Micro-interactions - [ ] Buttons lift on hover - [ ] Buttons press on click - [ ] Cards elevate on hover - [ ] Stat cards stagger animate - [ ] Focus rings are visible - [ ] Smooth transitions everywhere ### ✅ Forms - [ ] Save buttons show loading - [ ] Buttons disable during save - [ ] No double-submission - [ ] Focus states work - [ ] Required fields marked ### ✅ Cards - [ ] PostCard has hover effect - [ ] TaskCard has hover effect - [ ] Visual hierarchy is clear - [ ] Quick actions appear on hover ### ✅ Accessibility - [ ] Tab navigation works - [ ] Focus is always visible - [ ] Escape closes modals - [ ] Color contrast is good - [ ] Labels are descriptive ### ✅ i18n - [ ] Arabic translation complete - [ ] RTL layout works - [ ] Toasts in correct language --- ## Performance Check ### Page Load Times - Dashboard: Should load < 1 second - Posts: Should load < 1 second - Tasks: Should load < 1 second ### Animation Smoothness - All animations should be smooth (60fps) - No jank or stuttering - Hover effects are instant ### Network (DevTools) 1. Open DevTools → Network tab 2. Refresh the page 3. Check: - Total bundle size reasonable - No errors - API calls complete quickly --- ## Common Issues & Solutions ### Issue: Toasts don't appear - **Check**: Is ToastProvider wrapping the app in App.jsx? - **Check**: Is `useToast()` called inside a component within ToastProvider? ### Issue: Skeletons don't show - **Check**: Is the loading state properly set before data fetch? - **Check**: Are skeleton components imported correctly? ### Issue: Animations are choppy - **Check**: Browser hardware acceleration enabled? - **Check**: Too many elements animating at once? ### Issue: Focus ring not visible - **Check**: Browser default focus outline not overridden? - **Check**: CSS for focus-visible applied? ### Issue: RTL layout broken - **Check**: All directional CSS uses logical properties? - **Check**: Icons/images flipped correctly? --- ## Reporting Issues If you find any issues: 1. **Note the exact steps** to reproduce 2. **Take a screenshot** if visual 3. **Check browser console** for errors 4. **Note browser** and version --- ## Success Criteria The app passes if: - ✅ All toast scenarios work - ✅ All loading states appear correctly - ✅ All empty states are helpful - ✅ Animations are smooth - ✅ Forms provide feedback - ✅ Cards look polished - ✅ Accessibility features work - ✅ i18n is complete --- **Happy Testing! 🎉**